From be6f0f3b3b99820d8aef835a8c2af1a1baaed049 Mon Sep 17 00:00:00 2001 From: robert-hh Date: Sat, 9 Jul 2022 08:54:29 +0200 Subject: [PATCH] nrf/mpconfigport: Call tud_task() in MICROPY_EVENT_POLL_HOOK. So that the interrupt character can interrupt a long-running loop, like a sleep. --- ports/nrf/mpconfigport.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ports/nrf/mpconfigport.h b/ports/nrf/mpconfigport.h index dc7c3b1ea4..0698a52cef 100644 --- a/ports/nrf/mpconfigport.h +++ b/ports/nrf/mpconfigport.h @@ -346,8 +346,15 @@ typedef long mp_off_t; /* micro:bit root pointers */ \ void *async_data[2]; \ +#if MICROPY_HW_USB_CDC +#define MICROPY_HW_USBDEV_TASK_HOOK extern void tud_task(void); tud_task(); +#else +#define MICROPY_HW_USBDEV_TASK_HOOK ; +#endif + #define MICROPY_EVENT_POLL_HOOK \ do { \ + MICROPY_HW_USBDEV_TASK_HOOK \ extern void mp_handle_pending(bool); \ mp_handle_pending(true); \ __WFI(); \