diff --git a/ports/esp8266/modmachine.c b/ports/esp8266/modmachine.c index 11fb19cd20..8c39051613 100644 --- a/ports/esp8266/modmachine.c +++ b/ports/esp8266/modmachine.c @@ -105,10 +105,14 @@ STATIC mp_obj_t machine_lightsleep(size_t n_args, const mp_obj_t *args) { } max_us = max_ms * 1000; } + uint32_t wifi_mode = wifi_get_opmode(); uint32_t start = system_get_time(); while (system_get_time() - start <= max_us) { ets_event_poll(); - asm("waiti 0"); + if (wifi_mode == NULL_MODE) { + // Can only idle if the wifi is off + asm("waiti 0"); + } } return mp_const_none; }