 #define ENCODER_OPTIMIZE_INTERRUPTS
 #include <Encoder.h>
 
-/* Digital output pins. */
-#define PIN_ROTARY_LEFT 2
-#define PIN_ROTARY_RIGHT 3
+/* Digital IO pins. */
+#define PIN_ROTARY_ONE 3
+#define PIN_ROTARY_TWO 2
 #define PIN_BUTTON 4
 #define PIN_LED 6
 

#define NUM_LEDS 60

/* Rotary encoder object */
Encoder encoder(PIN_ROTARY_LEFT, PIN_ROTARY_RIGHT);

/* This variable holds the LED color state. */
CRGB leds[NUM_LEDS];

/* Define the different variables that can be changed using the rotary wheel. */
#define VARIABLE_MODE 0
#define VARIABLE_HUE 1
#define VARIABLE_SATURATION 2
#define VARIABLE_VALUE 3
#define VARIABLE_SPEED 4
//#define VARIABLE_XXX 5
//#define VARIABLE_XXX 6
#define MAX_VARIABLES 7

/* Holds the variable that is currently changed using the rotary wheel. */
uint8_t activeVariable = 0;

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


void setup() {
    FastLED.addLeds<NEOPIXEL, PIN_LED>(leds, NUM_LEDS);
    pinMode(PIN_BUTTON, INPUT_PULLUP);
}

/* buttonPressed returns true if the button is pressed, false otherwise. */
