implement lower cap on power thread interval

This commit is contained in:
m1nl 2025-06-24 09:56:37 +02:00
parent 07804e1efa
commit 4dddfa3cbb

View File

@ -889,12 +889,20 @@ int32_t Power::runOnce()
#ifdef ARCH_ESP32 #ifdef ARCH_ESP32
int Power::beforeLightSleep(void *unused) int Power::beforeLightSleep(void *unused)
{ {
setInterval(config.power.ls_secs * 1000UL); // ensure we won't run the thread when light sleeping
unsigned long interval = config.power.ls_secs;
if (interval < 20) {
interval = 20;
}
setInterval(interval * 1000UL);
return 0; return 0;
} }
int Power::afterLightSleep(esp_sleep_wakeup_cause_t cause) int Power::afterLightSleep(esp_sleep_wakeup_cause_t cause)
{ {
// restore default thread interval after light sleep
setInterval(20 * 1000UL); setInterval(20 * 1000UL);
return 0; return 0;
} }