       
       if(!haveClock) { // set clock
         gps.crack_datetime(&gps_year, &gps_month, &gps_day, &gps_hour, &gps_minute, &gps_second);
-         char tmp = gps_hour - 7; // adjust UTC FIXME!
-         if (tmp < 0) {
+         // adjust UTC FIXME!
+         if ( gps_hour < 7) {  // don't subtract from unsigned types
            gps_day -= 1;
-           gps_hour = tmp+24;
-         }
-         //
+           gps_hour += 17;     // instead add 24 - 7
+         } else
+            gps_hour -=7;     // OK to subtract here
+         //  Wants years since 1900?
          rtc.adjust( DateTime(gps_year-2000, gps_month, gps_day, gps_hour, gps_minute, gps_second));
          haveClock=true;
       }

#ifdef DEBUG
    Serial.print("Time since last reading: ");
    Serial.println(millis() - sensors_read_time_start);
#endif

  if( (millis() - sensors_read_time_start) > SENSORS_READ_TIME ) {

//  PULSE		AI2			25

// Memory PINOUTS
// Arduino-- SD shield
// D13 <------> SCK
// D12 <------> MISO
// D11 <------> MOSI
// D10 <------> CS
// 5V  <------> 5V
// GND <------> GND

//#define DEBUG 
//#define _GPS_NO_STATS  // prevent statistics collection code from being compiled

#include <SPI.h>
#include <SD.h>
