27
27
#include " NTPUtils.h"
28
28
#include " TimeService.h"
29
29
30
- #if defined(HAS_NOTECARD) || defined(ARDUINO_ARCH_ESP8266)
30
+ #if defined(HAS_NOTECARD) || defined(ARDUINO_ARCH_ESP8266) || defined (ARDUINO_RASPBERRY_PI_PICO_W)
31
31
#include " RTCMillis.h"
32
32
#elif defined(ARDUINO_ARCH_SAMD)
33
33
#include < RTCZero.h>
41
41
* GLOBAL VARIABLES
42
42
**************************************************************************************/
43
43
44
- #if defined(HAS_NOTECARD) || defined(ARDUINO_ARCH_ESP8266)
44
+ #if defined(HAS_NOTECARD) || defined(ARDUINO_ARCH_ESP8266) || defined (ARDUINO_RASPBERRY_PI_PICO_W)
45
45
RTCMillis rtc;
46
46
#elif defined(ARDUINO_ARCH_SAMD)
47
47
RTCZero rtc;
@@ -89,6 +89,12 @@ void renesas_setRTC(unsigned long time);
89
89
unsigned long renesas_getRTC ();
90
90
#endif
91
91
92
+ #ifdef ARDUINO_RASPBERRY_PI_PICO_W
93
+ void pico_w_initRTC ();
94
+ void pico_w_setRTC (unsigned long time);
95
+ unsigned long pico_w_getRTC ();
96
+ #endif
97
+
92
98
#endif /* HAS_NOTECARD */
93
99
94
100
/* *************************************************************************************
@@ -355,6 +361,8 @@ void TimeServiceClass::initRTC()
355
361
esp8266_initRTC ();
356
362
#elif defined (ARDUINO_ARCH_RENESAS)
357
363
renesas_initRTC ();
364
+ #elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
365
+ pico_w_initRTC ();
358
366
#else
359
367
#error "RTC not available for this architecture"
360
368
#endif
@@ -374,6 +382,8 @@ void TimeServiceClass::setRTC(unsigned long time)
374
382
esp8266_setRTC (time );
375
383
#elif defined (ARDUINO_ARCH_RENESAS)
376
384
renesas_setRTC (time );
385
+ #elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
386
+ pico_w_setRTC (time );
377
387
#else
378
388
#error "RTC not available for this architecture"
379
389
#endif
@@ -393,6 +403,8 @@ unsigned long TimeServiceClass::getRTC()
393
403
return esp8266_getRTC ();
394
404
#elif defined (ARDUINO_ARCH_RENESAS)
395
405
return renesas_getRTC ();
406
+ #elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
407
+ return pico_w_getRTC ();
396
408
#else
397
409
#error "RTC not available for this architecture"
398
410
#endif
@@ -544,6 +556,23 @@ unsigned long renesas_getRTC()
544
556
}
545
557
#endif
546
558
559
+ #ifdef ARDUINO_RASPBERRY_PI_PICO_W
560
+ void pico_w_initRTC ()
561
+ {
562
+ rtc.begin ();
563
+ }
564
+
565
+ void pico_w_setRTC (unsigned long time)
566
+ {
567
+ rtc.set (time );
568
+ }
569
+
570
+ unsigned long pico_w_getRTC ()
571
+ {
572
+ return rtc.get ();
573
+ }
574
+ #endif
575
+
547
576
#endif /* HAS_NOTECARD */
548
577
549
578
/* *****************************************************************************
0 commit comments