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.
pull/2688/head
Damien George 2016-12-15 13:35:54 +11:00
rodzic 7f1da0a03b
commit d89cafd5c3
1 zmienionych plików z 8 dodań i 0 usunięć

Wyświetl plik

@ -31,11 +31,19 @@ int mp_interrupt_char;
void mp_hal_set_interrupt_char(int c) {
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));
#endif
}
mp_interrupt_char = c;
}
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);
#endif
}