diff options
Diffstat (limited to 'firmware/drivers/rtc/rtc_ds1339_ds3231.c')
-rw-r--r-- | firmware/drivers/rtc/rtc_ds1339_ds3231.c | 5 |
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 | } |