esp8266: Support raising KeyboardInterrupt on Ctrl+C.

This commit is contained in:
Paul Sokolovsky
2015-12-20 13:58:58 +02:00
parent 077448328a
commit d3a4d39687
4 changed files with 16 additions and 1 deletions

View File

@@ -47,6 +47,7 @@ STATIC void mp_reset(void) {
mp_init();
mp_obj_list_init(mp_sys_path, 0);
mp_obj_list_init(mp_sys_argv, 0);
MP_STATE_PORT(mp_kbd_exception) = mp_obj_new_exception(&mp_type_KeyboardInterrupt);
#if MICROPY_MODULE_FROZEN
pyexec_frozen_module("main");
#endif
@@ -83,6 +84,10 @@ mp_obj_t mp_builtin_open(uint n_args, const mp_obj_t *args, mp_map_t *kwargs) {
}
MP_DEFINE_CONST_FUN_OBJ_KW(mp_builtin_open_obj, 1, mp_builtin_open);
void mp_keyboard_interrupt(void) {
MP_STATE_VM(mp_pending_exception) = MP_STATE_PORT(mp_kbd_exception);
}
void nlr_jump_fail(void *val) {
printf("NLR jump failed\n");
for (;;) {