From 04683ac24576d53a97a8e8779581398107790c2c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 6 Jul 2014 21:12:50 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7011 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c b/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c index 27bc79137..640515e4a 100644 --- a/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c +++ b/os/hal/ports/STM32/LLD/RTCv2/rtc_lld.c @@ -132,6 +132,14 @@ static void rtc_decode_time(uint32_t tr, RTCDateTime *timespec) { */ static void rtc_decode_date(uint32_t dr, RTCDateTime *timespec) { + timespec->year = RTC_BASE_YEAR + + (((dr >> RTC_DR_YT_OFFSET) & 15) * 10) + + ((dr >> RTC_DR_YU_OFFSET) & 15); + timespec->month = (((dr >> RTC_TR_MNT_OFFSET) & 1) * 10) + + ((dr >> RTC_TR_MNU_OFFSET) & 15); + timespec->day = (((dr >> RTC_DR_DT_OFFSET) & 3) * 10) + + ((dr >> RTC_DR_DU_OFFSET) & 15); + timespec->dayofweek = (dr >> RTC_DR_WDU_OFFSET) & 1; } /** -- cgit v1.2.3