diff options
| author | root <siehputz@gmail.com> | 2020-11-05 11:10:40 -0600 |
|---|---|---|
| committer | root <siehputz@gmail.com> | 2020-11-05 11:10:40 -0600 |
| commit | c2aa54ae661612e68768e10b76fd942af036ecda (patch) | |
| tree | a3b6bee2d1c52f97159b5125e17be8bd4df86a47 | |
| parent | 2b4d12abcc09b22985d456f3a05fc8511fc9def4 (diff) | |
Check for Ctrl-C during sleeps
| -rw-r--r-- | ports/esp32s2/supervisor/port.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ports/esp32s2/supervisor/port.c b/ports/esp32s2/supervisor/port.c index 0b9c03f74..2aa01cb15 100644 --- a/ports/esp32s2/supervisor/port.c +++ b/ports/esp32s2/supervisor/port.c @@ -203,7 +203,16 @@ void port_sleep_until_interrupt(void) { if (sleep_time_duration == 0) { return; } - vTaskDelayUntil(&sleep_time_set, sleep_time_duration); + // Need to run in a loop in order to check if CTRL-C was received + TickType_t start_ticks = 0; + while (sleep_time_duration > start_ticks ) { + vTaskDelayUntil(&sleep_time_set, 1); + if ( mp_hal_is_interrupted() ) { + mp_handle_pending(); + } + start_ticks = start_ticks + 1; + } + } |
