summaryrefslogtreecommitdiff
path: root/lib/utils
diff options
context:
space:
mode:
authorhathach <thach@tinyusb.org>2018-08-22 15:24:12 +0700
committerhathach <thach@tinyusb.org>2018-08-22 15:24:12 +0700
commit02b1b531534400f6028c75a34bc29bc66964697e (patch)
tree6b566401ecf3e5ce62b7ad6983bcdb556e11a488 /lib/utils
parentfc955b1591798ec3a6b1cb3b5d28290e478a19b1 (diff)
parent580a191cc83a4722f6208343163238d41c54981c (diff)
Merge branch 'master' into nrf52_dfu_touch1200
Diffstat (limited to 'lib/utils')
-rw-r--r--lib/utils/interrupt_char.c5
-rw-r--r--lib/utils/interrupt_char.h3
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/utils/interrupt_char.c b/lib/utils/interrupt_char.c
index fca0f95b5..91ee5c80e 100644
--- a/lib/utils/interrupt_char.c
+++ b/lib/utils/interrupt_char.c
@@ -47,4 +47,9 @@ void mp_keyboard_interrupt(void) {
#endif
}
+// Check to see if we've been CTRL-C'ed by autoreload or the user.
+bool mp_hal_is_interrupted(void) {
+ return MP_STATE_VM(mp_pending_exception) == MP_OBJ_FROM_PTR(&MP_STATE_VM(mp_kbd_exception));
+}
+
#endif
diff --git a/lib/utils/interrupt_char.h b/lib/utils/interrupt_char.h
index ca50d4d56..e0b1db529 100644
--- a/lib/utils/interrupt_char.h
+++ b/lib/utils/interrupt_char.h
@@ -26,8 +26,11 @@
#ifndef MICROPY_INCLUDED_LIB_UTILS_INTERRUPT_CHAR_H
#define MICROPY_INCLUDED_LIB_UTILS_INTERRUPT_CHAR_H
+#include <stdbool.h>
+
extern int mp_interrupt_char;
void mp_hal_set_interrupt_char(int c);
void mp_keyboard_interrupt(void);
+bool mp_hal_is_interrupted(void);
#endif // MICROPY_INCLUDED_LIB_UTILS_INTERRUPT_CHAR_H