Class library for the Dallas Semiconductor DS1307 RTC Basic Functionality, read and set RTC

Files at this revision

API Documentation at this revision

Comitter:
jebradshaw
Date:
Sat Nov 01 14:56:37 2014 +0000
Parent:
1:95a90bac5d6d
Commit message:
Still need to implement arrays for day and month names

Changed in this revision

DS1307_RTC.cpp Show annotated file Show diff for this revision Revisions of this file
DS1307_RTC.h Show annotated file Show diff for this revision Revisions of this file
--- a/DS1307_RTC.cpp	Sat Nov 01 14:05:25 2014 +0000
+++ b/DS1307_RTC.cpp	Sat Nov 01 14:56:37 2014 +0000
@@ -9,9 +9,10 @@
 {
     _i2c.frequency(400000);
     
-//    *Day[] = {"","Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
-//    *Mon[] = {"","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
+/*    Day[] = {"","Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
+    Mon[] = {"","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};*/
   
+  /*
     Day[0] = "";
     Day[1] = "Sun";
     Day[2] = "Mon";
@@ -34,6 +35,7 @@
     Mon[10] = "Oct";
     Mon[11] = "Nov";
     Mon[12] = "Dec";
+    */
        
     rtc_sec = 0;
     rtc_minute = 0;
@@ -138,10 +140,15 @@
     rtc_minute = unbcd(RTC_read_reg(1));
     rtc_hours = unbcd(RTC_read_reg(2));
     rtc_day = unbcd(RTC_read_reg(3));
+    if(rtc_day > 7)
+        rtc_day = 0;
     rtc_date = unbcd(RTC_read_reg(4));
     rtc_month = unbcd(RTC_read_reg(5));
+    if(rtc_month > 12)
+        rtc_month = 0;
     rtc_year = unbcd(RTC_read_reg(6)) + YEAR_OFFSET;
     
-    sprintf(str, "%2d:%02d:%02d %s %s %d %d", rtc_hours,rtc_minute,rtc_sec,Day[rtc_day],Mon[rtc_month], rtc_date, rtc_year);
+    sprintf(str, "%2d:%02d:%02d", rtc_hours,rtc_minute,rtc_sec);
+    //sprintf(str, "%2d:%02d:%02d %s %s %d %d", rtc_hours,rtc_minute,rtc_sec,Day[rtc_day],Mon[rtc_month], rtc_date, rtc_year);
     //pc.printf("%s", str);
 }
--- a/DS1307_RTC.h	Sat Nov 01 14:05:25 2014 +0000
+++ b/DS1307_RTC.h	Sat Nov 01 14:56:37 2014 +0000
@@ -20,8 +20,8 @@
     void set_RTC_time_UTC(float utc_time, int timezone);
     void get_RTC_time(char *str);        
 
-    char  *Day[];
-    char  *Mon[];
+//    char  *Day[];
+//    char  *Mon[];
      
     int rtc_sec;
     int rtc_minute;