You've already forked ArduinoLowPower
mirror of
https://github.com/arduino-libraries/ArduinoLowPower.git
synced 2025-10-16 02:46:40 +03:00
[WIP] initial API design
samd basic functions ported
This commit is contained in:
35
src/ArduinoLowPower.h
Normal file
35
src/ArduinoLowPower.h
Normal file
@@ -0,0 +1,35 @@
|
||||
#ifndef _ARDUINO_LOW_POWER_H_
|
||||
#define _ARDUINO_LOW_POWER_H_
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
#ifdef ARDUINO_ARCH_SAMD
|
||||
#include "RTCZero.h"
|
||||
#endif
|
||||
|
||||
//typedef void (*voidFuncPtr)( void ) ;
|
||||
|
||||
class ArduinoLowPowerClass {
|
||||
public:
|
||||
void idle(void);
|
||||
void idle(uint32_t millis);
|
||||
|
||||
void sleep(void);
|
||||
void sleep(uint32_t millis);
|
||||
|
||||
void deepSleep(void);
|
||||
void deepSleep(uint32_t millis);
|
||||
|
||||
void attachInterruptWakeup(uint32_t pin, voidFuncPtr callback, uint32_t mode);
|
||||
|
||||
private:
|
||||
#ifdef ARDUINO_ARCH_SAMD
|
||||
void setAlarmIn(uint32_t millis);
|
||||
RTCZero rtc;
|
||||
#define RTC_ALARM_WAKEUP 0xFF
|
||||
#endif
|
||||
};
|
||||
|
||||
extern ArduinoLowPowerClass LowPower;
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user