From 5b7fd20fea6d4329bb3ab45f63df41f46f242688 Mon Sep 17 00:00:00 2001 From: Dave Hylands Date: Tue, 1 Jul 2014 23:46:53 -0700 Subject: Add support for storing args during an exception raised by an irq. The user code should call micropython.alloc_emergency_exception_buf(size) where size is the size of the buffer used to print the argument passed to the exception. With the test code from #732, and a call to micropython.alloc_emergenncy_exception_buf(100) the following error is now printed: ```python >>> import heartbeat_irq Uncaught exception in Timer(4) interrupt handler Traceback (most recent call last): File "0://heartbeat_irq.py", line 14, in heartbeat_cb NameError: name 'led' is not defined ``` --- unix/main.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'unix/main.c') diff --git a/unix/main.c b/unix/main.c index d0222de0d1..45ccc23c20 100644 --- a/unix/main.c +++ b/unix/main.c @@ -273,6 +273,9 @@ int main(int argc, char **argv) { char *heap = malloc(heap_size); gc_init(heap, heap + heap_size); #endif +#if MICROPY_ENABLE_EMERGENCY_EXCEPTION_BUF + mp_init_emergency_exception_buf(); +#endif qstr_init(); mp_init(); -- cgit v1.2.3