From c67288c580a9f0c9787040bf53fde0f532006893 Mon Sep 17 00:00:00 2001 From: pennam Date: Fri, 30 Jul 2021 10:30:28 +0200 Subject: [PATCH 1/3] call mbed api to get store and get time --- src/utility/time/TimeService.cpp | 9 ++++++++- src/utility/time/TimeService.h | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/utility/time/TimeService.cpp b/src/utility/time/TimeService.cpp index 07d50fec6..dcd15f83b 100644 --- a/src/utility/time/TimeService.cpp +++ b/src/utility/time/TimeService.cpp @@ -51,7 +51,7 @@ static time_t const EPOCH_AT_COMPILE_TIME = cvt_time(__DATE__); TimeService::TimeService() : _con_hdl(nullptr) -#ifdef ARDUINO_ARCH_SAMD +#if defined (ARDUINO_ARCH_SAMD) || defined (ARDUINO_ARCH_MBED) , _is_rtc_configured(false) #endif { @@ -79,6 +79,13 @@ unsigned long TimeService::getTime() _is_rtc_configured = true; } return rtc.getEpoch(); +#elif ARDUINO_ARCH_MBED + if(!_is_rtc_configured) + { + set_time(getRemoteTime()); + _is_rtc_configured = true; + } + return time(NULL); #else return getRemoteTime(); #endif diff --git a/src/utility/time/TimeService.h b/src/utility/time/TimeService.h index b6a4bb43a..efcea8cea 100644 --- a/src/utility/time/TimeService.h +++ b/src/utility/time/TimeService.h @@ -46,7 +46,7 @@ class TimeService private: ConnectionHandler * _con_hdl; -#ifdef ARDUINO_ARCH_SAMD +#if defined (ARDUINO_ARCH_SAMD) || defined (ARDUINO_ARCH_MBED) bool _is_rtc_configured; #endif From 6dd57fbdb258f3e8643e882857cf77d413b90d39 Mon Sep 17 00:00:00 2001 From: pennam Date: Fri, 30 Jul 2021 11:34:58 +0200 Subject: [PATCH 2/3] Add include to mbed_rtc_time.h --- src/utility/time/TimeService.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/utility/time/TimeService.h b/src/utility/time/TimeService.h index efcea8cea..ae8c12f35 100644 --- a/src/utility/time/TimeService.h +++ b/src/utility/time/TimeService.h @@ -28,6 +28,10 @@ #include #endif +#ifdef ARDUINO_ARCH_MBED + #include +#endif + /************************************************************************************** * CLASS DECLARATION **************************************************************************************/ From 30fa2daa6f00c8926b5208fd5c5dd856445924b0 Mon Sep 17 00:00:00 2001 From: pennam Date: Mon, 2 Aug 2021 17:16:37 +0200 Subject: [PATCH 3/3] Restrict changes to PORTENTA board --- src/utility/time/TimeService.cpp | 4 ++-- src/utility/time/TimeService.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utility/time/TimeService.cpp b/src/utility/time/TimeService.cpp index dcd15f83b..32a20327c 100644 --- a/src/utility/time/TimeService.cpp +++ b/src/utility/time/TimeService.cpp @@ -51,7 +51,7 @@ static time_t const EPOCH_AT_COMPILE_TIME = cvt_time(__DATE__); TimeService::TimeService() : _con_hdl(nullptr) -#if defined (ARDUINO_ARCH_SAMD) || defined (ARDUINO_ARCH_MBED) +#if defined (ARDUINO_ARCH_SAMD) || defined (TARGET_PORTENTA_H7) , _is_rtc_configured(false) #endif { @@ -79,7 +79,7 @@ unsigned long TimeService::getTime() _is_rtc_configured = true; } return rtc.getEpoch(); -#elif ARDUINO_ARCH_MBED +#elif TARGET_PORTENTA_H7 if(!_is_rtc_configured) { set_time(getRemoteTime()); diff --git a/src/utility/time/TimeService.h b/src/utility/time/TimeService.h index ae8c12f35..cc200c813 100644 --- a/src/utility/time/TimeService.h +++ b/src/utility/time/TimeService.h @@ -28,7 +28,7 @@ #include #endif -#ifdef ARDUINO_ARCH_MBED +#ifdef TARGET_PORTENTA_H7 #include #endif @@ -50,7 +50,7 @@ class TimeService private: ConnectionHandler * _con_hdl; -#if defined (ARDUINO_ARCH_SAMD) || defined (ARDUINO_ARCH_MBED) +#if defined (ARDUINO_ARCH_SAMD) || defined (TARGET_PORTENTA_H7) bool _is_rtc_configured; #endif