Adafruit_RTCLib

Fork of Adafruit_RTCLib by Neal Horman

Revision:
0:7f90c8e04249
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DateTime.h	Tue Jul 17 05:49:20 2012 +0000
@@ -0,0 +1,51 @@
+// Code by JeeLabs http://news.jeelabs.org/code/
+// Released to the public domain! Enjoy!
+
+/*
+ * Taken from https://github.com/adafruit/RTClib
+ * and modified for LPC1768 by Neal Horman July 2012
+ */
+ 
+#ifndef _DATETIME_H_
+#define _DATETIME_H_
+ 
+#include "mbed.h"
+
+// Simple general-purpose date/time class (no TZ / DST / leap second handling!)
+class DateTime
+{
+public:
+    DateTime (uint32_t t =0);
+    DateTime (uint16_t year, uint8_t month, uint8_t day, uint8_t hour =0, uint8_t min =0, uint8_t sec =0);
+    DateTime (const char* date, const char* time);
+    uint16_t year() const       { return 2000 + yOff; }
+    uint8_t month() const       { return m; }
+    uint8_t day() const         { return d; }
+    uint8_t hour() const        { return hh; }
+    uint8_t minute() const      { return mm; }
+    uint8_t second() const      { return ss; }
+    uint8_t dayOfWeek() const;
+
+    // 32-bit times as seconds since 1/1/1970
+    uint32_t unixtime(void) const;
+
+protected:
+    uint8_t yOff, m, d, hh, mm, ss;
+};
+
+#ifdef WANT_RTC_MILLIS
+// RTC using the internal millis() clock, has to be initialized before use
+// NOTE: this clock won't be correct once the millis() timer rolls over (>49d?)
+class RTC_Millis
+{
+public:
+    static void begin(const DateTime& dt) { adjust(dt); }
+    static void adjust(const DateTime& dt);
+    static DateTime now();
+
+protected:
+    static long offset;
+};
+#endif
+
+#endif
\ No newline at end of file