A time interface class. This class replicates the normal time functions, but goes a couple of steps further. mbed library 82 and prior has a defective gmtime function. Also, this class enables access to setting the time, and adjusting the accuracy of the RTC.

Dependencies:   CalendarPage

Dependents:   CI-data-logger-server WattEye X10Svr SSDP_Server

Revision:
9:56c1041f7f32
Parent:
7:1de342fa7840
--- a/TimeInterface.cpp	Thu Nov 26 17:43:26 2015 +0000
+++ b/TimeInterface.cpp	Tue Jan 26 12:00:26 2016 +0000
@@ -145,17 +145,16 @@
         std::time(&privTime);
         tminfo = std::localtime(&privTime);
         
-        uint32_t min_since_jan = minutesSinceJan(tminfo->tm_mon + 1, tminfo->tm_mday, tminfo->tm_hour, tminfo->tm_min);
-        uint32_t min_dst_start = minutesSinceJan(dst_pair.dst_start.MM, dst_pair.dst_start.DD, dst_pair.dst_start.hh, dst_pair.dst_start.mm) + get_tzo_min();
-        uint32_t min_dst_stop  = minutesSinceJan(dst_pair.dst_stop.MM, dst_pair.dst_stop.DD, dst_pair.dst_stop.hh, dst_pair.dst_stop.mm) + get_tzo_min();
+        uint32_t min_since_jan = minutesSinceJan(tminfo->tm_mon + 1, tminfo->tm_mday, tminfo->tm_hour, tminfo->tm_min) + get_tzo_min();
+        uint32_t min_dst_start = minutesSinceJan(dst_pair.dst_start.MM, dst_pair.dst_start.DD, dst_pair.dst_start.hh, dst_pair.dst_start.mm);
+        uint32_t min_dst_stop  = minutesSinceJan(dst_pair.dst_stop.MM, dst_pair.dst_stop.DD, dst_pair.dst_stop.hh, dst_pair.dst_stop.mm);
         
         if (min_since_jan >= min_dst_start && min_since_jan < min_dst_stop) {
             dst = 1;
-            //INFO(" is dst: %u - %u - %u", min_since_jan, min_dst_start, min_dst_stop);
         } else {
             dst = 0;
-            //INFO("not dst: %u - %u - %u", min_since_jan, min_dst_start, min_dst_stop);
         }
+        INFO(" dst: %d, eval: %u <= %u < %u", dst, min_dst_start, min_since_jan, min_dst_stop);
     }
     INFO(" timelocal: %u, %d, %d", std::time(timer), get_tzo_min(), dst);
     return std::time(timer) + get_tzo_min() * 60 + dst * 3600;