23 #define NO_DEEP_SLEEP_STARTUP_TIME 120
42 void sleep(
bool start =
true);
61 MyDbg(F(
"MyDeepSleep::begin"));
65 ESP.rtcUserMemoryRead(0, (uint32_t *) &rtcData,
sizeof(
MyData::RtcData));
67 MyDbg(F(
"RtcData invalid (power on?)"));
69 MyDbg(F(
"RtcData read"));
79 MyDbg((String) F(
"CheckTime elapsed: ") + String(checkTimeElapsed) + F(
" sec"));
110 if (powerCheckIntervalSec > 60 * 60) {
111 MyDbg(F(
"Invalid DeepSleep time more than 60 Minutes!"));
112 powerCheckIntervalSec = 60 * 60;
124 ESP.deepSleep(powerCheckIntervalSec * 1000000);
long aktiveTimeSec
Time in active mode without current millis().
long deepSleepTimeSec
Time to stay in deep sleep (without check interrupts)
void sleep(bool start=true)
double powerSaveModeVoltage
Minimum voltage to stay always alive.
long awakeTimeOffsetSec
Awake time offset for SaveSettings.
MyOptions & myOptions
Reference to the options.
class MyData::RtcData rtcData
Data to store in the RTC memory.
MyOptions myOptions
The global options.
void MyDbg(String info, bool fromWebServer=false, bool newline=true)
MyData & myData
Reference to the data.
long powerCheckIntervalSec
Time interval to check the power supply.
long activeTimeSec
Maximum alive time after deepsleep.
long secondsSincePowerOn()
double voltage
Current supply voltage.
#define NO_DEEP_SLEEP_STARTUP_TIME
No deep sleep for the first minute.
long secondsToDeepSleep
Time until next deepsleep. -1 = disabled.
long deepSleepTimeSec
Time in deep sleep mode.
long deepSleepStartSec
Timestamp of the last deep sleep start.
MyDeepSleep(MyOptions &options, MyData &data)
MyData myData
The global collected data.
bool isDeepSleepEnabled
Should the system go into deepsleep if needed.