diff --git a/src/Battery.cpp b/src/Battery.cpp index 0d9c7066..5f69df5c 100644 --- a/src/Battery.cpp +++ b/src/Battery.cpp @@ -29,8 +29,14 @@ void Battery_Init(void) { Battery_LogStatus(); Log_Println(batteryCriticalMsg, LOGLEVEL_NOTICE); + // turn off peripheral power just to be sure, even if it should not yet have been turned on + Power_PeripheralOff(); // Power down and enter deepsleep - System_RequestSleep(); + // Don't call System_RequestSleep() here: If the battery is critial, we want to avoid as much init work as possible + // and also any blinking lights or sounds. The goal is to just stay off. + // Additionally, LPCD will not be enabled. This is intentional to avoid battery drain. + delay(200); + esp_deep_sleep_start(); } #endif }