Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of ds3231 by
Diff: ds3231.cpp
- Revision:
- 4:0beb5e9ac927
- Parent:
- 3:312589d8185c
- Child:
- 5:61dfe2690360
--- a/ds3231.cpp Thu Nov 20 21:06:57 2014 +0000
+++ b/ds3231.cpp Thu Nov 20 22:16:15 2014 +0000
@@ -91,7 +91,8 @@
* //instantiate rtc object
* Ds3231 rtc(D14, D15);
*
-* ds3231_time_t time = {0, 0, 0} // time = 0:0:0 24hr format
+* //time = 12:00:00 AM 12hr mode
+* ds3231_time_t time = {12, 0, 0, 0, 1}
* uint16_t rtn_val;
*
* rtn_val = rtc.set_time(time);
@@ -196,8 +197,8 @@
* //instantiate rtc object
* Ds3231 rtc(D14, D15);
*
-* //see datasheet for alarm format
-* ds3231_alrm_t alarm = {0, 0, 0, 0, 0};
+* //see ds3231.h for .members and datasheet for alarm format
+* ds3231_alrm_t alarm;
* uint16_t rtn_val;
*
* rtn_val = rtc.set_alarm(alarm, FALSE);
@@ -372,8 +373,7 @@
* Gets the time on DS3231
*
* On Entry:
-* @param[in] time - pointer to struct for storing time
-* data; seconds, minutes and hours
+* @param[in] time - pointer to struct for storing time data
*
* On Exit:
* @param[out] time - contains current integrer rtc time
@@ -386,7 +386,8 @@
* //instantiate rtc object
* Ds3231 rtc(D14, D15);
*
-* ds3231_time_t time = {0, 0, 0} // time = 0:0:0 24hr format
+* //time = 12:00:00 AM 12hr mode
+* ds3231_time_t time = {12, 0, 0, 0, 1}
* uint16_t rtn_val;
*
* rtn_val = rtc.get_time(&time);
@@ -408,6 +409,8 @@
time->seconds = bcd_2_uchar(data[0]);
time->minutes = bcd_2_uchar(data[1]);
time->hours = bcd_2_uchar((data[2]&0x1F));
+ time->am_pm = (data[2]&AM_PM);
+ time->mode = (data[2]&MODE);
}
return(rtn_val);
@@ -419,8 +422,7 @@
*
* On Entry:
* @param[in] calendar - pointer to struct for storing
-* calendar data;
-* day, date, month, year
+* calendar data
*
* On Exit:
* @param[out] calendar - contains current integer rtc
@@ -469,8 +471,6 @@
* On Entry:
* @param[in] alarm - pointer to struct for storing alarm
* data;
-* seconds, minutes, hours, day, date
-* seconds used on Alarm1 only
*
* @param[in] one_r_two - TRUE for Alarm1 and FALSE for
* Alarm2
@@ -485,8 +485,8 @@
* //instantiate rtc object
* Ds3231 rtc(D14, D15);
*
-* //see datasheet for alarm format
-* ds3231_alrm_t alarm = {0, 0, 0, 0, 0};
+* //see ds3231.h for .members and datasheet for alarm format
+* ds3231_alrm_t alarm;
* uint16_t rtn_val;
*
* rtn_val = rtc.get_alarm(&alarm, FALSE);
@@ -508,17 +508,24 @@
rtn_val = read(r_adrs,(char *) data, 4);
alarm->seconds = bcd_2_uchar(data[0]&0x7F);
+ alarm->am1 = (data[0]&ALRM_MASK);
alarm->minutes = bcd_2_uchar(data[1]&0x7F);
+ alarm->am2 = (data[1]&ALRM_MASK);
alarm->hours = bcd_2_uchar(data[2]&0x1F);
+ alarm->am3 = (data[2]&ALRM_MASK);
+ alarm->am_pm = (data[2]&AM_PM);
+ alarm->mode = (data[2]&MODE);
if(data[3] & DY_DT)
{
+ alarm->dy_dt = 1;
alarm->day = bcd_2_uchar(data[3]&0x0F);
}
else
{
alarm->date = bcd_2_uchar(data[3]&0x3F);
}
+ alarm->am4 = (data[3]&ALRM_MASK);
}
}
else
@@ -531,16 +538,22 @@
rtn_val = read(r_adrs,(char *) data, 4);
alarm->minutes = bcd_2_uchar(data[0]&0x7F);
+ alarm->am2 = (data[0]&ALRM_MASK);
alarm->hours = bcd_2_uchar(data[1]&0x1F);
+ alarm->am3 = (data[1]&ALRM_MASK);
+ alarm->am_pm = (data[1]&AM_PM);
+ alarm->mode = (data[1]&MODE);
- if(data[3] & DY_DT)
+ if(data[2] & DY_DT)
{
+ alarm->dy_dt = 1;
alarm->day = bcd_2_uchar(data[2]&0x0F);
}
else
{
alarm->date = bcd_2_uchar(data[2]&0x3F);
}
+ alarm->am4 = (data[2]&ALRM_MASK);
}
}
@@ -553,7 +566,7 @@
*
* On Entry:
* @param[in] data - pointer to struct for storing control
-* nd status register data
+* and status register data
*
* On Exit:
* @param[out] data - contains control and status registers
