t
Fork of mbed-dev by
Diff: targets/TARGET_STM/rtc_api.c
- Revision:
- 167:e84263d55307
- Parent:
- 165:e614a9f1c9e2
- Child:
- 176:447f873cad2f
--- a/targets/TARGET_STM/rtc_api.c Thu Jun 08 15:02:37 2017 +0100 +++ b/targets/TARGET_STM/rtc_api.c Wed Jun 21 17:46:44 2017 +0100 @@ -32,6 +32,7 @@ #include "rtc_api.h" #include "rtc_api_hal.h" #include "mbed_error.h" +#include "mbed_mktime.h" static RTC_HandleTypeDef RtcHandle; @@ -239,7 +240,7 @@ timeinfo.tm_isdst = -1; // Convert to timestamp - time_t t = mktime(&timeinfo); + time_t t = _rtc_mktime(&timeinfo); return t; } @@ -252,20 +253,23 @@ RtcHandle.Instance = RTC; // Convert the time into a tm - struct tm *timeinfo = localtime(&t); + struct tm timeinfo; + if (_rtc_localtime(t, &timeinfo) == false) { + return; + } // Fill RTC structures - if (timeinfo->tm_wday == 0) { + if (timeinfo.tm_wday == 0) { dateStruct.WeekDay = 7; } else { - dateStruct.WeekDay = timeinfo->tm_wday; + dateStruct.WeekDay = timeinfo.tm_wday; } - dateStruct.Month = timeinfo->tm_mon + 1; - dateStruct.Date = timeinfo->tm_mday; - dateStruct.Year = timeinfo->tm_year - 68; - timeStruct.Hours = timeinfo->tm_hour; - timeStruct.Minutes = timeinfo->tm_min; - timeStruct.Seconds = timeinfo->tm_sec; + dateStruct.Month = timeinfo.tm_mon + 1; + dateStruct.Date = timeinfo.tm_mday; + dateStruct.Year = timeinfo.tm_year - 68; + timeStruct.Hours = timeinfo.tm_hour; + timeStruct.Minutes = timeinfo.tm_min; + timeStruct.Seconds = timeinfo.tm_sec; #if !(TARGET_STM32F1) timeStruct.TimeFormat = RTC_HOURFORMAT_24;