Commit d89cafd5 authored by Damien George's avatar Damien George
Browse files

lib/utils/interrupt_char: Use core-provided mp_kbd_exception if enabled.

Ultimately all ports that use lib/utils/interrupt_char would enable
MICROPY_KBD_EXCEPTION, so this is an interim solution.
parent 7f1da0a0
...@@ -31,11 +31,19 @@ int mp_interrupt_char; ...@@ -31,11 +31,19 @@ int mp_interrupt_char;
void mp_hal_set_interrupt_char(int c) { void mp_hal_set_interrupt_char(int c) {
if (c != -1) { if (c != -1) {
#if MICROPY_KBD_EXCEPTION
mp_obj_exception_clear_traceback(MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception)));
#else
mp_obj_exception_clear_traceback(MP_STATE_PORT(mp_kbd_exception)); mp_obj_exception_clear_traceback(MP_STATE_PORT(mp_kbd_exception));
#endif
} }
mp_interrupt_char = c; mp_interrupt_char = c;
} }
void mp_keyboard_interrupt(void) { void mp_keyboard_interrupt(void) {
#if MICROPY_KBD_EXCEPTION
MP_STATE_VM(mp_pending_exception) = MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception));
#else
MP_STATE_VM(mp_pending_exception) = MP_STATE_PORT(mp_kbd_exception); MP_STATE_VM(mp_pending_exception) = MP_STATE_PORT(mp_kbd_exception);
#endif
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment