fix: release GPIO13 hold before re-entering deep sleep
gpio_hold_en(GPIO13) called in startDeepSleep() persists after wake when keepClockAlive=true. A subsequent startDeepSleep() call (e.g. failed button verification) would silently fail to change GPIO13's level, leaving the MOSFET latched and trapping the device in a sleep/wake loop requiring a hardware reset. Release the individual and global holds at the top of startDeepSleep() so each sleep entry configures GPIO13 from a clean state. Also call gpio_deep_sleep_hold_dis() immediately after wake in setup() as a defensive measure. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
0496969dc8
commit
6c9f497d2b
@@ -236,6 +236,7 @@ void setup() {
|
||||
HalSystem::begin();
|
||||
gpio.begin();
|
||||
powerManager.begin();
|
||||
gpio_deep_sleep_hold_dis(); // Release deep sleep GPIO hold state from previous sleep cycle
|
||||
|
||||
// Only start serial if USB connected
|
||||
if (gpio.isUsbConnected()) {
|
||||
|
||||
Reference in New Issue
Block a user