 */
 
 #include "FastLED.h"
+#include <avr/eeprom.h>
 
 #define NUM_LEDS 26
 #define LEDS_PER_STAIR 2        // Number of Leds per stair.  Not yet currenlty changable - just noteable

      FastLED.delay(1);
    }
  }
}

void walkold() {
  static uint8_t hueStart = 208; //purple;
  static uint8_t hueEnd = 160;
  static uint8_t hueShift = 0;
  static uint8_t brightTop = 200;
  static int i = 0;
  
  for(gStair=0; gStair < NUM_LEDS; gStair+=2) {
    // Fade in step
    hueShift = hueStart;
    for (gBright=0; gBright<=brightTop; gBright+=2) {
      leds[gUpDown[gStair]] = CHSV( hueStart, 204, gBright );  // purple
      leds[gUpDown[gStair + 1]] = CHSV( hueStart, 204, gBright );  // purple
      if (  gStair >= 2 ) { // slide hue from pruple to blue on previous stair
        //hueShift = hueShift + ((hueEnd-hueStart)/brightTop*gBright); //=D1+((160-240)/200*10)
        if ( hueShift >= hueEnd ) {
          hueShift--;
          leds[gUpDown[gStair - 1]] = CHSV( hueShift, 204, 200 );
          leds[gUpDown[gStair - 2]] = CHSV( hueShift, 204, 200 );
        }
      }
      FastLED.show();
      //FastLED.delay(1); 
    }
  }
  
  // Hue shift the last two stairs
  hueShift = hueStart;
  for (gBright=0; gBright<=brightTop; gBright+=2) {
    if ( hueShift >= hueEnd )
    //hueShift = 1/(hueShift + ((hueEnd-hueStart)/brightTop*bright));
    hueShift--;
    leds[gUpDown[NUM_LEDS - 1]] = CHSV( hueShift, 204, 200 );
    leds[gUpDown[NUM_LEDS - 2]] = CHSV( hueShift, 204, 200 );
    FastLED.show();
    //FastLED.delay(1); 
  }
  //Flash
  FastLED.delay(500); 
  for(gStair=0; gStair < NUM_LEDS; gStair+=2) {
    leds[gUpDown[gStair]] = CRGB( 100, 100, 100);
    leds[gUpDown[gStair + 1]] = CRGB( 100, 100, 100);
    FastLED.show();
  }
  for(gStair=0; gStair < NUM_LEDS; gStair+=2) {
    leds[gUpDown[gStair]] = CHSV( hueEnd, 204, 200 );
    leds[gUpDown[gStair+1]] = CHSV( hueEnd, 204, 200 );
    FastLED.show();
  }
  
  
  // Stay on for a bit
  fill_solid(leds, NUM_LEDS, CHSV( hueEnd, 204, 200 ));
  //addGlitter(70);
  FastLED.show();
  FastLED.delay(5000);
  
  // Turn off steps
  for(gStair=0; gStair < NUM_LEDS; gStair+=2) {
    // Fade in step
    //hueShift = hueStart;
    for (gBright=200; gBright>=1; gBright--) { 
      leds[gUpDown[gStair]] = CHSV(hueEnd, 204, gBright);
      leds[gUpDown[gStair + 1]] = CHSV(hueEnd, 204, gBright);
      FastLED.show();
      FastLED.delay(1); 
    }
    leds[gUpDown[gStair]].setHSV( 0, 0, 0);
    leds[gUpDown[gStair + 1]].setHSV( 0, 0, 0);
    FastLED.show();
  }
  lightsOn = LOW;  
}

// Increment to the next color pair in the palette.

  choosePalette();
  CRGB c1 = gPalette[gLastPalette];
  CRGB c2 = gPalette[gLastPalette+1];
  i = random8(1,255); i = random8(1,255); // bit of seeding
  if ( random8( 5 ) == 3 ){
    c1 = CRGB(random8(100),random8(100),random8(100));
    c2 = CRGB(random8(100),random8(100),random8(100));
