diff --git a/src/utility/time/TimeService.cpp b/src/utility/time/TimeService.cpp index 07d50fec6..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) -#ifdef ARDUINO_ARCH_SAMD +#if defined (ARDUINO_ARCH_SAMD) || defined (TARGET_PORTENTA_H7) , _is_rtc_configured(false) #endif { @@ -79,6 +79,13 @@ unsigned long TimeService::getTime() _is_rtc_configured = true; } return rtc.getEpoch(); +#elif TARGET_PORTENTA_H7 + 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..cc200c813 100644 --- a/src/utility/time/TimeService.h +++ b/src/utility/time/TimeService.h @@ -28,6 +28,10 @@ #include #endif +#ifdef TARGET_PORTENTA_H7 + #include +#endif + /************************************************************************************** * CLASS DECLARATION **************************************************************************************/ @@ -46,7 +50,7 @@ class TimeService private: ConnectionHandler * _con_hdl; -#ifdef ARDUINO_ARCH_SAMD +#if defined (ARDUINO_ARCH_SAMD) || defined (TARGET_PORTENTA_H7) bool _is_rtc_configured; #endif