   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    
+    // 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;

  int readval = analogRead(TEMPERATURE_PIN);
  byte readval_shifted;
  long bigsum = 0;
  
  if (currentVoltageBin < 0)
  {
    // special case: first time through.

      timediff /= 60;
      timespec = 'h';
    }

    if (timediff > 23)
    {
      timediff /= 24;
      timespec = 'd';
    }

    lcd.setCursor(0, 1);
    snprintf(outstr, 17, "L%3d.%1d @%3d%c %3c", (int)low_temp.temperature, (int)(low_temp.temperature * 10) % 10, timediff, timespec, 'C');
    lcd.print(outstr);

  } else {

    // Startup message and color test
    lcd.setCursor(0, 0);
    lcd.print(STARTUP_MESSAGE_0);
    lcd.setCursor(0, 1);
    lcd.print(STARTUP_MESSAGE_1);

    // read, but ignore, button presses
    processButton();
    buttonIsPressed = FALSE;

    next_color = VIOLET_COLOR;

  }

  // Manage colors
  getColorByName(&new_color, next_color);
  fadeTowardsColor(&current_color, &new_color);
  setColor(&current_color);

  // Sleep for a bit
  delay(SLEEP_TIME);
}
