A KeyboardInterrupt during a UART timeout will not interrupt the timeout. This bug has been present since 2.x or before.
The UART code does call MICROPY_VM_HOOK_LOOP but doesn't check for a KeyboardInterrupt.
The I2CSlave code has some examples of checking for an interrupt using mp_hal_is_interrupted(). There may be other places we should think about including that check.
A
KeyboardInterruptduring aUARTtimeout will not interrupt the timeout. This bug has been present since 2.x or before.The UART code does call
MICROPY_VM_HOOK_LOOPbut doesn't check for aKeyboardInterrupt.The
I2CSlavecode has some examples of checking for an interrupt usingmp_hal_is_interrupted(). There may be other places we should think about including that check.