From 8ce22662feadeb6b564f1087134346cb287251f0 Mon Sep 17 00:00:00 2001 From: Damien George Date: Thu, 28 Feb 2019 15:44:37 +1100 Subject: [PATCH] esp8266/modmachine: Call ets_event_poll after waiti in machine.idle. Because "waiti 0" may have waited for a while (eg 500ms) and the internal WDT may need to be fed immediately. Fixes issue #4459. --- ports/esp8266/modmachine.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/esp8266/modmachine.c b/ports/esp8266/modmachine.c index 8c39051613..58368b8f0b 100644 --- a/ports/esp8266/modmachine.c +++ b/ports/esp8266/modmachine.c @@ -92,6 +92,7 @@ STATIC mp_obj_t machine_idle(void) { uint32_t t = mp_hal_ticks_cpu(); asm("waiti 0"); t = mp_hal_ticks_cpu() - t; + ets_event_poll(); // handle any events after possibly a long wait (eg feed WDT) return MP_OBJ_NEW_SMALL_INT(t); } STATIC MP_DEFINE_CONST_FUN_OBJ_0(machine_idle_obj, machine_idle);