#if !HAS_BEEP
#define ao_beep(x)
#endif
+#if !LEDS_AVAILABLE
+#define ao_led_on(x)
+#define ao_led_off(x)
+#endif
static void
ao_panic_delay(uint8_t n)
{
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++) {
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);