diff options
Diffstat (limited to 'ports/stm32/main.c')
| -rw-r--r-- | ports/stm32/main.c | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/ports/stm32/main.c b/ports/stm32/main.c index 875584be8..54d9b05be 100644 --- a/ports/stm32/main.c +++ b/ports/stm32/main.c @@ -97,41 +97,21 @@ STATIC pyb_uart_obj_t pyb_uart_repl_obj; STATIC uint8_t pyb_uart_repl_rxbuf[MICROPY_HW_UART_REPL_RXBUF]; #endif -void NORETURN __fatal_error(const char *msg) { - for (volatile uint delay = 0; delay < 10000000; delay++) { - } - led_state(1, 1); - led_state(2, 1); - led_state(3, 1); - led_state(4, 1); - mp_hal_stdout_tx_strn("\nFATAL ERROR:\n", 14); - mp_hal_stdout_tx_strn(msg, strlen(msg)); - for (uint i = 0;;) { - led_toggle(((i++) & 3) + 1); - for (volatile uint delay = 0; delay < 10000000; delay++) { - } - if (i >= 16) { - // to conserve power - __WFI(); - } - } -} - void nlr_jump_fail(void *val) { printf("FATAL: uncaught exception %p\n", val); mp_obj_print_exception(&mp_plat_print, MP_OBJ_FROM_PTR(val)); - __fatal_error(""); + MICROPY_BOARD_FATAL_ERROR(""); } void abort(void) { - __fatal_error("abort"); + MICROPY_BOARD_FATAL_ERROR("abort"); } #ifndef NDEBUG void MP_WEAK __assert_func(const char *file, int line, const char *func, const char *expr) { (void)func; printf("Assertion '%s' failed, at file %s:%d\n", expr, file, line); - __fatal_error(""); + MICROPY_BOARD_FATAL_ERROR(""); } #endif |
