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
/* *************************************************************************************
@@ -356,6 +362,7 @@ void TimeServiceClass::initRTC()
356
362
#elif defined (ARDUINO_ARCH_RENESAS)
357
363
renesas_initRTC ();
358
364
#elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
365
+ pico_w_initRTC ();
359
366
#else
360
367
#error "RTC not available for this architecture"
361
368
#endif
@@ -376,6 +383,7 @@ void TimeServiceClass::setRTC(unsigned long time)
376
383
#elif defined (ARDUINO_ARCH_RENESAS)
377
384
renesas_setRTC (time );
378
385
#elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
386
+ pico_w_setRTC (time );
379
387
#else
380
388
#error "RTC not available for this architecture"
381
389
#endif
@@ -396,7 +404,7 @@ unsigned long TimeServiceClass::getRTC()
396
404
#elif defined (ARDUINO_ARCH_RENESAS)
397
405
return renesas_getRTC ();
398
406
#elif defined (ARDUINO_RASPBERRY_PI_PICO_W)
399
- return 1 ;
407
+ return pico_w_getRTC () ;
400
408
#else
401
409
#error "RTC not available for this architecture"
402
410
#endif
@@ -548,6 +556,23 @@ unsigned long renesas_getRTC()
548
556
}
549
557
#endif
550
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
+
551
576
#endif /* HAS_NOTECARD */
552
577
553
578
/* *****************************************************************************
0 commit comments