t
Fork of mbed-dev by
Diff: targets/TARGET_Atmel/TARGET_SAM_CortexM4/rtc_api.c
- Revision:
- 167:e84263d55307
- Parent:
- 149:156823d33999
--- a/targets/TARGET_Atmel/TARGET_SAM_CortexM4/rtc_api.c Thu Jun 08 15:02:37 2017 +0100 +++ b/targets/TARGET_Atmel/TARGET_SAM_CortexM4/rtc_api.c Wed Jun 21 17:46:44 2017 +0100 @@ -18,6 +18,7 @@ #include "cmsis.h" #include "sysclk.h" #include "rtc.h" +#include "mbed_mktime.h" static int rtc_inited = 0; @@ -70,7 +71,7 @@ timeinfo.tm_year = (ul_year - 1900); /* Convert to timestamp */ - time_t t = mktime(&timeinfo); + time_t t = _rtc_mktime(&timeinfo); return t; } @@ -80,19 +81,22 @@ /* Initialize the RTC is not yet initialized */ rtc_init(); } - struct tm *timeinfo = localtime(&t); + struct tm timeinfo; + if (_rtc_localtime(t, &timeinfo) == false) { + return; + } uint32_t ul_hour, ul_minute, ul_second; uint32_t ul_year, ul_month, ul_day, ul_week; - ul_second = timeinfo->tm_sec; - ul_minute = timeinfo->tm_min; - ul_hour = timeinfo->tm_hour; - ul_day = timeinfo->tm_mday; - ul_week = timeinfo->tm_wday; - ul_month = timeinfo->tm_mon; - ul_year = timeinfo->tm_year; + ul_second = timeinfo.tm_sec; + ul_minute = timeinfo.tm_min; + ul_hour = timeinfo.tm_hour; + ul_day = timeinfo.tm_mday; + ul_week = timeinfo.tm_wday; + ul_month = timeinfo.tm_mon; + ul_year = timeinfo.tm_year; /* Set the RTC */ rtc_set_time(RTC, ul_hour, ul_minute, ul_second); rtc_set_date(RTC, ul_year, ul_month, ul_day, ul_week); -} \ No newline at end of file +}