3838 #include " RTCMillis.h"
3939#endif
4040
41+ #ifdef ARDUINO_ARCH_RENESAS
42+ #include " RTC.h"
43+ #endif
44+
4145/* *************************************************************************************
4246 * GLOBAL VARIABLES
4347 **************************************************************************************/
@@ -86,6 +90,12 @@ void esp8266_setRTC(unsigned long time);
8690unsigned long esp8266_getRTC ();
8791#endif
8892
93+ #ifdef ARDUINO_ARCH_RENESAS
94+ void renesas_initRTC ();
95+ void renesas_setRTC (unsigned long time);
96+ unsigned long renesas_getRTC ();
97+ #endif
98+
8999/* *************************************************************************************
90100 * CONSTANTS
91101 **************************************************************************************/
@@ -332,7 +342,8 @@ void TimeServiceClass::initRTC()
332342 esp32_initRTC ();
333343#elif defined (ARDUINO_ARCH_ESP8266)
334344 esp8266_initRTC ();
335- #elif defined (ARDUINO_PORTENTA_C33)
345+ #elif defined (ARDUINO_ARCH_RENESAS)
346+ renesas_initRTC ();
336347#else
337348 #error "RTC not available for this architecture"
338349#endif
@@ -350,7 +361,8 @@ void TimeServiceClass::setRTC(unsigned long time)
350361 esp32_setRTC (time);
351362#elif defined (ARDUINO_ARCH_ESP8266)
352363 esp8266_setRTC (time);
353- #elif defined (ARDUINO_PORTENTA_C33)
364+ #elif defined (ARDUINO_ARCH_RENESAS)
365+ renesas_setRTC (time);
354366#else
355367 #error "RTC not available for this architecture"
356368#endif
@@ -368,7 +380,8 @@ unsigned long TimeServiceClass::getRTC()
368380 return esp32_getRTC ();
369381#elif defined (ARDUINO_ARCH_ESP8266)
370382 return esp8266_getRTC ();
371- #elif defined (ARDUINO_PORTENTA_C33)
383+ #elif defined (ARDUINO_ARCH_RENESAS)
384+ return renesas_getRTC ();
372385#else
373386 #error "RTC not available for this architecture"
374387#endif
@@ -494,6 +507,26 @@ unsigned long esp8266_getRTC()
494507}
495508#endif
496509
510+ #ifdef ARDUINO_ARCH_RENESAS
511+ void renesas_initRTC ()
512+ {
513+ RTC.begin ();
514+ }
515+
516+ void renesas_setRTC (unsigned long time)
517+ {
518+ RTCTime t (time);
519+ RTC.setTime (t);
520+ }
521+
522+ unsigned long renesas_getRTC ()
523+ {
524+ RTCTime t;
525+ RTC.getTime (t);
526+ return t.getUnixTime ();
527+ }
528+ #endif
529+
497530/* *****************************************************************************
498531 * EXTERN DEFINITION
499532 ******************************************************************************/
0 commit comments