77#error The library is not compatible with AVR boards
88#endif
99
10- #ifdef ARDUINO_ARCH_ARC32
10+ #ifdef __ARDUINO_ARC__
1111#include " include/arc32/defines.h"
1212#endif
1313
@@ -39,9 +39,12 @@ class ArduinoLowPowerClass {
3939
4040 void attachInterruptWakeup (uint32_t pin, voidFuncPtr callback, uint32_t mode);
4141
42- #ifdef ARDUINO_ARCH_ARC32
43- void wakeFromSleepCallback (void );
44- #endif
42+ #ifdef __ARDUINO_ARC__
43+ void wakeFromSleepCallback (void );
44+ void wakeFromDoze (void );
45+ void detachInterruptWakeup (uint32_t pin);
46+ uint32_t arc_restore_addr;
47+ #endif
4548
4649 private:
4750 #ifdef ARDUINO_ARCH_SAMD
@@ -50,24 +53,27 @@ class ArduinoLowPowerClass {
5053 #define RTC_ALARM_WAKEUP 0xFF
5154 #endif
5255
53- #ifdef ARDUINO_ARCH_ARC32
54- void wakeFromDoze ();
55- void switchToHybridOscillator ();
56- void switchToCrystalOscillator ();
57- void attachWakeInterruptRTC (void (*userCallBack)());
56+ #ifdef __ARDUINO_ARC__
5857 void turnOffUSB ();
59- void turnOnUSB ();
60- void setRTCCMR (int milliseconds);
61- uint32_t readRTC_CCVR ();
62- bool isSleeping = false ;
63- uint32_t millisToRTCTicks (int milliseconds);
64- void enableRTCInterrupt ();
65- void x86_C2Request ();
66- void (*pmCB)();
67- #define RTC_ALARM_WAKEUP 0xFF
58+ void turnOnUSB ();
59+ void switchToHybridOscillator ();
60+ void switchToCrystalOscillator ();
61+ void setRTCCMR (int seconds);
62+ uint32_t readRTC_CCVR ();
63+ bool isSleeping = false ;
64+ volatile bool dozing = false ;
65+ uint32_t millisToRTCTicks (int milliseconds);
66+ void enableRTCInterrupt (int seconds);
67+ void enableAONGPIOInterrupt (int aon_gpio, int mode);
68+ void enableAONPTimerInterrrupt (int millis);
69+ static void resetAONPTimer ();
70+ static void wakeFromRTC ();
71+ void x86_C2Request ();
72+ void x86_C2LPRequest ();
73+ void (*pmCB)();
74+ #define RTC_ALARM_WAKEUP 0xFF
6875 #define RESET_BUTTON_WAKEUP 0xFE
6976 #endif
70-
7177};
7278
7379extern ArduinoLowPowerClass LowPower;
0 commit comments