static void
ao_panic_delay(uint8_t n)
{
- uint8_t i = 0;
+ uint8_t i = 0, j = 0;
while (n--)
- while (--i)
- _asm nop _endasm;
+ while (--j)
+ while (--i)
+ _asm nop _endasm;
}
void
{
uint8_t n;
- for (;;) {
- ao_led_on(AO_LED_RED);
- ao_beep(AO_BEEP_MID);
- ao_panic_delay(2);
- ao_led_off(AO_LED_RED);
+ __critical for (;;) {
+ ao_panic_delay(20);
+ for (n = 0; n < 5; n++) {
+ ao_led_on(AO_LED_RED);
+ ao_beep(AO_BEEP_HIGH);
+ ao_panic_delay(1);
+ ao_led_off(AO_LED_RED);
+ ao_beep(AO_BEEP_LOW);
+ ao_panic_delay(1);
+ }
ao_beep(AO_BEEP_OFF);
ao_panic_delay(2);
+#pragma disable_warning 126
for (n = 0; n < reason; n++) {
ao_led_on(AO_LED_RED);
ao_beep(AO_BEEP_MID);
- ao_panic_delay(1);
+ ao_panic_delay(10);
ao_led_off(AO_LED_RED);
ao_beep(AO_BEEP_OFF);
- ao_panic_delay(1);
+ ao_panic_delay(10);
}
- ao_panic_delay(2);
}
}