summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPascal Brunot <pascal.brunot@gmail.com>2023-10-23 20:28:38 +0200
committerDamien George <damien@micropython.org>2023-10-31 12:48:32 +1100
commita8dd69f20696d8135b6c4e05b9f1b2c934fad4a3 (patch)
treed38780b5a2b422d390c416588544ceb829427029
parentbbbd484f5ba27f31c142a6402662422c0634e271 (diff)
esp32/modmachine: Fix deepsleep() when previous sleep delay was set.
Fixes issue #7158. Signed-off-by: Pascal Brunot <pascal.brunot@gmail.com>
-rw-r--r--ports/esp32/modmachine.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ports/esp32/modmachine.c b/ports/esp32/modmachine.c
index be5348f0e..1e83935a8 100644
--- a/ports/esp32/modmachine.c
+++ b/ports/esp32/modmachine.c
@@ -115,6 +115,9 @@ STATIC mp_obj_t machine_sleep_helper(wake_type_t wake_type, size_t n_args, const
mp_int_t expiry = args[ARG_sleep_ms].u_int;
+ // First, disable any previously set wake-up source
+ esp_sleep_disable_wakeup_source(ESP_SLEEP_WAKEUP_ALL);
+
if (expiry != 0) {
esp_sleep_enable_timer_wakeup(((uint64_t)expiry) * 1000);
}