LowPower
LowPowerDRAFT.h
1 #pragma once
2 
3 #include "LowPowerCommon.h"
4 
5 namespace low_power {
6 
14  public:
15 
16  bool isProcessingOnSleep(sleep_mode_enum_t sleep_mode) {
17  bool result = false;
18  switch (sleep_mode) {
19  case sleep_mode_enum_t::modemSleep:
20  result = true;
21  break;
22  case sleep_mode_enum_t::noSleep:
23  result = true;
24  break;
25  case sleep_mode_enum_t::lightSleep:
26  result = false;
27  break;
28  case sleep_mode_enum_t::deepSleep:
29  result = false;
30  break;
31  }
32  return result;
33  }
34 
36  bool sleep(void) override {
37  bool rc = false;
38  switch (sleep_mode) {
39  // In Modem-sleep mode, ESP8266 will close the Wi-Fi module circuit
40  // between the two DTIM Beacon intervals in order to save power
41  case sleep_mode_enum_t::modemSleep:
42  break;
43 
44  // wakup by external pin
45  case sleep_mode_enum_t::lightSleep:
46  break;
47 
48  // responsible for periodic wake-ups
49  case sleep_mode_enum_t::deepSleep: {
50  } break;
51 
52  case sleep_mode_enum_t::noSleep:
53  break;
54  }
55 
56  return rc;
57  }
58 
59  bool setSleepTime(uint32_t time, time_unit_t time_unit_type) override {
60  return true;
61  }
62 
63  bool addWakeupPin(int pin, pin_change_t change_type) override {
64  return true;
65  }
66 
67  bool isModeSupported(sleep_mode_enum_t sleep_mode) override {
68  return true;
69  }
70 
71  void clear() {
73  sleep_time_us = 0;
74  sleep_option = 1;
75  is_instant = false;
76  gpio_count = 0;
77  }
78 
79  protected:
80 };
81 
82 static ArduinoLowPowerTemplate LowPower;
83 
84 } // namespace low_power
Common API for power saving modes for different processor architectures.
Definition: LowPowerCommon.h:33
virtual void clear()
reset the processing
Definition: LowPowerCommon.h:117
Low Power Management for TBD.
Definition: LowPowerDRAFT.h:13
bool isModeSupported(sleep_mode_enum_t sleep_mode) override
Provides information if the indicated mode is supported.
Definition: LowPowerDRAFT.h:67
bool setSleepTime(uint32_t time, time_unit_t time_unit_type) override
Defines the sleep time.
Definition: LowPowerDRAFT.h:59
bool sleep(void) override
sets processor into sleep mode
Definition: LowPowerDRAFT.h:36
bool isProcessingOnSleep(sleep_mode_enum_t sleep_mode)
Returns true if processing is possible in the current sleep mode.
Definition: LowPowerDRAFT.h:16
bool addWakeupPin(int pin, pin_change_t change_type) override
Defines the wakup pin.
Definition: LowPowerDRAFT.h:63
void clear()
reset the processing
Definition: LowPowerDRAFT.h:71