X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fcore%2Fao_panic.c;h=524330447b248b550c5ba068d2c3d74316a63ac9;hb=e053da3e7cb5a4c9ebbffd245cb5d83932183b22;hp=b6ff65cccd9f18e46263407cc6d047fcfcf8ee7c;hpb=c32893ce79835a8f861d6ef414644c2ff9769ff6;p=fw%2Faltos diff --git a/src/core/ao_panic.c b/src/core/ao_panic.c index b6ff65cc..52433044 100644 --- a/src/core/ao_panic.c +++ b/src/core/ao_panic.c @@ -45,6 +45,10 @@ ao_panic(uint8_t reason) { uint8_t n; +#if LOW_LEVEL_DEBUG + ao_cur_task = NULL; + printf ("panic %d\n", reason); +#endif __critical for (;;) { ao_panic_delay(20); for (n = 0; n < 5; n++) { @@ -58,7 +62,18 @@ ao_panic(uint8_t reason) ao_beep(AO_BEEP_OFF); ao_panic_delay(2); - for (n = 0; n < reason; n++) { +#ifdef SDCC +#pragma disable_warning 126 +#endif + if (reason & 0x40) { + ao_led_on(AO_LED_RED); + ao_beep(AO_BEEP_HIGH); + ao_panic_delay(40); + ao_led_off(AO_LED_RED); + ao_beep(AO_BEEP_OFF); + ao_panic_delay(10); + } + for (n = 0; n < (reason & 0x3f); n++) { ao_led_on(AO_LED_RED); ao_beep(AO_BEEP_MID); ao_panic_delay(10);