     CHSV(219, 255, 255)
 };
 
+/* Initial setup, called once on boot. */
 void setup() {
     FastLED.addLeds<NEOPIXEL, PIN_LED>(leds, NUM_LEDS);
     pinMode(PIN_BUTTON, INPUT_PULLUP);


/* Maximum values of the different parameters, plus one. Zero denotes that a
 * variable can stretch the full range of 0-255. */
uint8_t parameterMax[MAX_PARAMETERS] = { 1, 0, 0, 0, 0, 0, 0 };

/* Rainbow colors, used to signify active parameter to the user. */
CRGB rainbowColors[] = {
    CHSV(0,   255, 255),
    CHSV(36,  255, 255),
    CHSV(73,  255, 255),

    return rval;
}

/* modeSolid draws a solid color across all LEDs, according to the parameters
 * HUE, SATURATION, VALUE. */
void modeSolid() {
    fill_solid(&leds[0], NUM_LEDS, CHSV(
        parameters[PARAMETER_HUE],
