 void readSensors(){
   if ( digitalRead(PIN_PIR_UP) == HIGH ){  // Walk Down.
     previousOffMillis = currentMillis;
-    //if ( stage == stage_run ){
-    //  return;  //keep the animation fast.
-    //} else 
     if ( stage == off ){
       chooseEffects();
       stage = stage_init;

    stage = stage_grow;
  } else if ( stage == stage_grow ) {
    if (gBright < 255){
      if ( gStair < NUM_LEDS ){
        trans = blend(CRGB::Black,c1,gBright); // fade in next two
        leds[gUpDown[gStair]] = trans;
        leds[gUpDown[gStair + 1]] = trans;
      }
      if (  gStair >= 2 ) { // shift last two stairs to the 2nd color.
        trans2 = blend(c1,c2,gBright);
        leds[gUpDown[gStair - 1]] = trans2;
        leds[gUpDown[gStair - 2]] = trans2;
      }
      gBright = qadd8(gBright, 4);
    } else {
      if ( gStair < NUM_LEDS - 2 ) {
        gStair+=2;  //next stair.
      } else {
        stage = stage_init_run;
        gStair = 0;

// Random effects for the walk() stair function.
void randomEffect(){
  if ( walk_effect == sparkle ) { 
    effectInterval = 8;
    fill_solid(leds, NUM_LEDS, c2);
    addGlitter(80);
  } else if ( walk_effect == pulsate1 ) {
    effectInterval = 10;
    if ( b < 255 ){
      if ( i < 4 ) {
        trans2 = blend(z[i],z[i+1],b);
