   }
 }
 
-void stepCalibration()
-{
-  calibration_state = (calibration_state + 1) % 20;
-  if (calibration_state < 10)
+void blinkCalibration()
+{
+  calibration_blink_state = (calibration_blink_state + 1) % (2 * BLINK_SPEED);
+  if (calibration_blink_state < BLINK_SPEED)
   {
     digitalWrite(calibration_light, HIGH);
   }
   else
   {
     digitalWrite(calibration_light, LOW);
+  }
+}
+
+void blinkWinningLights()
+{
+  winning_blink_state = (winning_blink_state + 1) % (2 * BLINK_SPEED);
+  int val;
+  if (winning_blink_state < BLINK_SPEED)
+  {
+    val = HIGH;
+  }
+  else
+  {
+    val = LOW;
+  }
+  for (int i=0; i<7; i++)
+  {
+    digitalWrite(output_lights[i], val);
   }
 }
 

  if (state == 0)
  {
    setCalibration(false);
    // TODO(benkraft): Should we only be starting here when the red button is
    // pressed?
    if (selector_pos == 0 && buttonPressed())
    {
      // We have started calibrating!


// if the potentiometer is between pot_locs[2*i] and pod_locs[2*i+1], then we 
// say we are in position i.  otherwise, we are between positions.
// TODO(benkraft): Consider narrowing these.
int pot_locs[14] = {1024, 885,
                    825, 690,
                    640, 450,
                    390, 280,
                    190, 70,
                    50, 24,
                    12, 0};

// above this = white; below = black (unlodged is undefined)
// TODO(benkraft): Recompute after we move them.
