   pinMode(BUTTON_PIN,      INPUT_PULLUP);
   pinMode(TEMPERATURE_PIN, INPUT);
 
-  // set up the LCD's number of columns and rows: 
+  // set up the LCD's number of columns and rows:
   lcd.begin(16, 2);
-  
+
   // initialize voltageBins
   for (int i = 0; i < AVERAGE_BINS; i++)
   {
     voltageBins[i] = 127;
   }
-  
+
   // serial for troubleshooting
   #ifdef DEBUG
     Serial.begin(9600);

  // Shift our readval by the voltageEpsilon, constrain to fit within a byte, then save to the array
  readval_shifted = (byte)constrain((readval - voltageEpsilon), 0, 255);
  voltageBins[currentVoltageBin] = readval_shifted;
  
  // Nudge voltageEpsilon as required to avoid overflow the next time around
  if (readval_shifted > 200)
  {

  int timediff;
  unsigned char timespec;
  char outstr[17];

  // Get the current temperature.
  getTemperature(&current_temp);

  if (millis() > (3*1000))
  {
    // We are past the startup screen.

    // Check for button presses.
    processButton();

    // Increment color if the button was pressed
    if (buttonIsPressed)
    {
      incrementColor(&next_color);
      buttonIsPressed = FALSE;
    }

    // Check for records
    if (current_temp > high_temp.temperature)
    {
      high_temp.temperature = current_temp;
      high_temp.time = millis();
    }

    if (current_temp < low_temp.temperature)
    {
      low_temp.temperature = current_temp;
