 uint8_t brightness;
 uint8_t loopCount;
 bool receivedConditions=false;
-
+uint8_t offSeconds=10;
+uint8_t onSeconds=4;
 void setAllPixelsRGB(int r, int g, int b){
   for (int i=0; i< PIXELS_IN_STRIP; i++){
     pixels[i]=((uint32_t)r << 16) | ((uint32_t)g <<  8) | b;

    if ( Serial.available() >= SPOT_REPORT_SIZE )
    {
      Serial.readBytes(buffer, SPOT_REPORT_SIZE);
      lastSpotUpdated=buffer[0]; 
      if (buffer[1]==0x00 && buffer[2]==FORECASTDAYS){       //0 denotes wave heights
        for (int i=0; i<FORECASTDAYS; i++){
           waveHeights[i]=buffer[i+3];
         }
         for (int i=0; i<FORECASTDAYS; i++){        //surf conditions
           waveConditions[i]=buffer[i+10];
         }
         receivedConditions=true;
        for (int i=0; i<FORECASTDAYS; i++){
          int ht=waveHeights[i]*waveHeights[i]*4;
          if (ht>255){
            ht=255;
          }
          if (waveConditions[i]<2){                 //flat or no forecast
            strip.setPixelColor(i+lastSpotUpdated*8,0,0,10 );
          }
          else if (waveConditions[i]>=2 && waveConditions[i]<4){ //poor = blue. The color of the summer here in NorCal
            pixels[i+lastSpotUpdated*8]=strip.Color(0, 0, ht);
          }
          else if (waveConditions[i]==4){           //poor to fair = bluegreen. Let's be optimistic here... ;)
            pixels[i+lastSpotUpdated*8]=strip.Color(0, ht/2+20, ht);
          }
          else if (waveConditions[i]>=5 && waveConditions[i]<7){ //fair = green
            pixels[i+lastSpotUpdated*8]=strip.Color(0,ht,0 );         
          }
          else if (waveConditions[i]>=7 && waveConditions[i]<9){ //good = orange
            pixels[i+lastSpotUpdated*8]=strip.Color(ht,ht,0 );         
          }
          else if (waveConditions[i]>=9){           //EPIC!! Stop what you're doing and go surf!!1
            pixels[i+lastSpotUpdated*8]=strip.Color(ht,0,00 );         
          }
          if (i==FORECASTDAYS-1){
            pixels[i+lastSpotUpdated*8+1]=pixels[i+lastSpotUpdated*8];    //have the next 2 pixels match the last day in the forecast
            pixels[i+lastSpotUpdated*8+2]=pixels[i+lastSpotUpdated*8];
          }
      }
      updateStripWithPixels();                      //update immediately after receiving new value. 
    }
   }
   //fade on
   for (int i=0;i<FADE_ITERATIONS;i++){

   brightness=FADE_INCREMENT_VALUE*FADE_ITERATIONS;
   updateStripWithBrightness(brightness);
   if (Serial.available()<SPOT_REPORT_SIZE){        //don't sleep or fade if you have another report waiting.
     Bean.sleep(onSeconds*1000);
   }
    
   //fade off
