projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Clean up GPS display
[fw/altos]
/
ao_panic.c
diff --git
a/ao_panic.c
b/ao_panic.c
index 30ccce60bdc57ba2dd6a05c3d58a9e7466562e92..f6ecc380c9a0f0a27326dff9dcd321d4e1761514 100644
(file)
--- a/
ao_panic.c
+++ b/
ao_panic.c
@@
-20,11
+20,12
@@
static void
ao_panic_delay(uint8_t n)
{
static void
ao_panic_delay(uint8_t n)
{
- uint8_t i = 0;
+ uint8_t i = 0
, j = 0
;
while (n--)
while (n--)
- while (--i)
- _asm nop _endasm;
+ while (--j)
+ while (--i)
+ _asm nop _endasm;
}
void
}
void
@@
-32,21
+33,26
@@
ao_panic(uint8_t reason)
{
uint8_t n;
{
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);
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);
for (n = 0; n < reason; n++) {
ao_led_on(AO_LED_RED);
ao_beep(AO_BEEP_MID);
- ao_panic_delay(1);
+ ao_panic_delay(1
0
);
ao_led_off(AO_LED_RED);
ao_beep(AO_BEEP_OFF);
ao_led_off(AO_LED_RED);
ao_beep(AO_BEEP_OFF);
- ao_panic_delay(1);
+ ao_panic_delay(1
0
);
}
}
- ao_panic_delay(2);
}
}
}
}