aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/src/rtc.c
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/src/rtc.c')
-rw-r--r--os/hal/src/rtc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/os/hal/src/rtc.c b/os/hal/src/rtc.c
index a60ddd6a0..5459b3b85 100644
--- a/os/hal/src/rtc.c
+++ b/os/hal/src/rtc.c
@@ -213,11 +213,13 @@ void rtcSetCallback(RTCDriver *rtcp, rtccb_t callback) {
*
* @param[in] timespec pointer to a @p RTCDateTime structure
* @param[out] timp pointer to a broken-down time structure
+ * @param[out] tv_msec pointer to milliseconds value or @p NULL
*
* @api
*/
void rtcConvertDateTimeToStructTm(const RTCDateTime *timespec,
- struct tm *timp) {
+ struct tm *timp,
+ uint32_t *tv_msec) {
int tmp;
timp->tm_year = (int)timespec->year + (1980 - 1900);
@@ -231,6 +233,10 @@ void rtcConvertDateTimeToStructTm(const RTCDateTime *timespec,
timp->tm_min = (tmp % 3600) / 60;
tmp -= timp->tm_min * 60;
timp->tm_hour = tmp / 3600;
+
+ if (NULL != tv_msec) {
+ *tv_msec = (uint32_t)timespec->millisecond % 1000;
+ }
}
/**