RUI3 (RAK Unified Interface 3) - RAK4631
sleep.h
Go to the documentation of this file.
1 
8 #ifndef __SLEEP_H_
9 #define __SLEEP_H_
10 
11 #include "udrv_powersave.h"
12 #include "udrv_gpio.h"
13 #include "udrv_system.h"
14 #include "udrv_rtc.h"
15 #include "service_nvm.h"
16 #include "udrv_errno.h"
17 
25 typedef enum
26 {
30 
33 class sleep {
34  public:
35  sleep();
36 
56  void cpu(int ms_time);
57  void cpu(uint32_t ms_time);
58  void cpu();
59 
92 #ifdef SUPPORT_LORA
93  void lora(uint32_t ms_time);
94 
114  void lora(int ms_time);
115 #endif
116 
136  void all(int ms_time);
137  void all(uint32_t ms_time);
138  void all();
139 
162  void setup(RUI_WAKEUP_TRIGGER_MODE mode, uint32_t pin);
163 };
164 
169 class lpm
170 {
171 public:
197  uint8_t get();
198 
228  bool set(uint8_t value);
229 };
230 
231 #endif
Trigger wakeup during falling edge.
Definition: sleep.h:28
This file contains all error code for the hardware independent driver layer.
void lora(uint32_t ms_time)
Definition: sleep.h:169
bool registerWakeupCallback(POWER_SAVE_HANDLER callback)
void cpu()
void setup(RUI_WAKEUP_TRIGGER_MODE mode, uint32_t pin)
Provide a hardware independent GPIO driver layer for API layer to use.
Trigger wakeup during rising edge.
Definition: sleep.h:27
RUI_WAKEUP_TRIGGER_MODE
Definition: sleep.h:25
Definition: sleep.h:33
void(* POWER_SAVE_HANDLER)(void)
Definition: udrv_powersave.h:11
void all()
Provide NVM service layer.