diff options
| -rw-r--r-- | src/kernel/ao_panic.c | 11 | ||||
| -rw-r--r-- | src/stmf0/ao_arch.h | 1 | 
2 files changed, 9 insertions, 3 deletions
diff --git a/src/kernel/ao_panic.c b/src/kernel/ao_panic.c index c29cd8fe..e280f98c 100644 --- a/src/kernel/ao_panic.c +++ b/src/kernel/ao_panic.c @@ -38,10 +38,15 @@ ao_panic_delay(uint8_t n)  {  	uint8_t	i = 0, j = 0; -	while (n--) +	while (n--) { +#ifdef AO_PANIC_DELAY_SCALE +	uint8_t s = AO_PANIC_DELAY_SCALE; +	while (s--) +#endif  		while (--j)  			while (--i)  				ao_arch_nop(); +	}  }  void @@ -56,16 +61,16 @@ ao_panic(uint8_t reason)  	ao_arch_block_interrupts();  	for (;;) {  		ao_panic_delay(20); +#if HAS_BEEP  		for (n = 0; n < 5; n++) { -			ao_led_on(AO_LED_PANIC);  			ao_beep(AO_BEEP_HIGH);  			ao_panic_delay(1); -			ao_led_off(AO_LED_PANIC);  			ao_beep(AO_BEEP_LOW);  			ao_panic_delay(1);  		}  		ao_beep(AO_BEEP_OFF);  		ao_panic_delay(2); +#endif  #ifdef SDCC  #pragma disable_warning 126 diff --git a/src/stmf0/ao_arch.h b/src/stmf0/ao_arch.h index 45df0982..26a34c85 100644 --- a/src/stmf0/ao_arch.h +++ b/src/stmf0/ao_arch.h @@ -117,6 +117,7 @@ extern const uint32_t ao_radio_cal;  #define AO_PCLK1	(AO_HCLK / AO_APB1_PRESCALER)  #define AO_PCLK2	(AO_HCLK / AO_APB2_PRESCALER)  #define AO_SYSTICK	(AO_HCLK) +#define AO_PANIC_DELAY_SCALE  (AO_SYSCLK / 12000000)  #if AO_APB1_PRESCALER == 1  #define AO_TIM23467_CLK		AO_PCLK1  | 
