   delayMicroseconds(200);  //wait 200 microseconds
   digitalWrite(RESET, LOW);  // set the Reset line low 
   delayMicroseconds(200);  //wait 200 microsecond - chip now ready for strobing through the outputs
+  int currentLed = 0;
+  byte currentWheelPos = wheelPos;
 
   for (byte i = 0; i < 7; i++){   // cycle through the seven channels
     digitalWrite(STROBE, HIGH); // Strobe High to switch to the next analog channel

    digitalWrite(STROBE, LOW);  // set the Strobe line low for the next time
    delay(1);    // wait 1 milliseconds for the analog signal to stabilize
    averageValue = 0;    //reset average
    for (byte y = 0; y < SAMPLES; y++){  //sample analog channel
      spectrumValue = analogRead(AUDIO); // get the audio peak DC value for this spectrum
      spectrumValue = spectrumValue - OFFSET; // subtract DC offset that appears on the output

  digitalWrite(RESET, LOW);  // set the Reset line low 
  delay(1);  //wait 1 millisecond - chip now ready for strobing through the outputs


  colors[0] = strip.Color(255,0,0);
  colors[1] = strip.Color(0,255,0);
  colors[2] = strip.Color(0,0,255);
  colors[3] = strip.Color(255,255,0);
  colors[4] = strip.Color(255,0,255);
  colors[5] = strip.Color(0,255,255);
  colors[6] = strip.Color(255,255,255);
  colors[7] = strip.Color(0,0,0);
  
  wheelPos = 0;
  
  strip.begin();
  strip.show(); // Initialize all pixels to 'off'
}

void loop() {
