     dataRecieved[3] = false;
     delay(10);
   }
-
+  if (dataRecieved[0] == false && dataRecieved[1] == false && dataRecieved[2] == false && dataRecieved[3] == true){
+    //clears the strip
+    idle();
+
+    //ensure the variables stay the same
+    dataRecieved[0] = false;
+    dataRecieved[1] = false;  
+    dataRecieved[2] = false;
+    dataRecieved[3] = true;
+    delay(10);
+  }
   else if (dataRecieved[0] == true && dataRecieved[1] == false && dataRecieved[2] == false && dataRecieved[3] == false){
     //sets the strip to red and the distance color to red
     setRed();


void celebration(){
  //plays an animation that is played at the end of every match
//  for (int i = 0; i < 23; i++){
//    leds[i] = CRGB::White;
//    leds[79-i] = CRGB::White;
//    FastLED.show();
//    delay((pow(i, 2)) + 50);
//    leds[i] = CRGB::Black;
//    leds[79-i] = CRGB::Black;
//  }


  FastLED.show();
  for(int i = 0; i<10; i++){

    r = random(0,7);
    Serial.println(r);
    leds[23] = randomColor[r];

    //  r = random(0,7);
    //  leds[56] = randomColor[r];
    Serial.println(leds[23].r);
    for(int z = 0; z<=10; z++){
      leds[12+z].r = leds[13+z].r;
      leds[12+z].g = leds[13+z].g;
      leds[12+z].b = leds[13+z].b;
      //      leds[33-i] = leds[32-i];
    }
    
    for(int blah = 0; blah<=10; blah++){
      Serial.print(i);
      Serial.print(": ");
      Serial.print(leds[23-blah].r);
      Serial.print(", ");
      Serial.print(leds[23-blah].g);
      Serial.print(", ");
      Serial.println(leds[23-blah].b);
      delay(20);
    }
    FastLED.show();
    delay(5000);
  }
}

void idle(){

  } 

}

void readSidecar(){
  //reads the data coming from the sidecar when the interrupt is detected
