1
0
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:
Martino Facchin
2016-10-28 18:30:13 +02:00
parent e549d1e7ae
commit e159ecf46f
4 changed files with 161 additions and 0 deletions

35
src/ArduinoLowPower.h Normal file
View 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