summaryrefslogtreecommitdiff
path: root/firmware/drivers/rtc/rtc_ds1339_ds3231.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/rtc/rtc_ds1339_ds3231.c')
-rw-r--r--firmware/drivers/rtc/rtc_ds1339_ds3231.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/firmware/drivers/rtc/rtc_ds1339_ds3231.c b/firmware/drivers/rtc/rtc_ds1339_ds3231.c
index a813e8d999..8f2a531e5f 100644
--- a/firmware/drivers/rtc/rtc_ds1339_ds3231.c
+++ b/firmware/drivers/rtc/rtc_ds1339_ds3231.c
@@ -21,6 +21,7 @@
21#include "rtc.h" 21#include "rtc.h"
22#include "logf.h" 22#include "logf.h"
23#include "sw_i2c.h" 23#include "sw_i2c.h"
24#include "timefuncs.h"
24 25
25#define RTC_ADDR 0xD0 26#define RTC_ADDR 0xD0
26 27
@@ -122,10 +123,12 @@ int rtc_read_datetime(struct tm *tm)
122 tm->tm_sec = BCD2DEC(buf[0] & 0x7f); 123 tm->tm_sec = BCD2DEC(buf[0] & 0x7f);
123 tm->tm_min = BCD2DEC(buf[1] & 0x7f); 124 tm->tm_min = BCD2DEC(buf[1] & 0x7f);
124 tm->tm_hour = BCD2DEC(buf[2] & 0x3f); 125 tm->tm_hour = BCD2DEC(buf[2] & 0x3f);
125 tm->tm_wday = BCD2DEC(buf[3] & 0x7) - 1; /* timefuncs wants 0..6 for wday */
126 tm->tm_mday = BCD2DEC(buf[4] & 0x3f); 126 tm->tm_mday = BCD2DEC(buf[4] & 0x3f);
127 tm->tm_mon = BCD2DEC(buf[5] & 0x1f) - 1; 127 tm->tm_mon = BCD2DEC(buf[5] & 0x1f) - 1;
128 tm->tm_year = BCD2DEC(buf[6]) + 100; 128 tm->tm_year = BCD2DEC(buf[6]) + 100;
129 tm->tm_yday = 0; /* Not implemented for now */
130
131 set_day_of_week(tm);
129 132
130 return rc; 133 return rc;
131} 134}