#ifndef _AO_BEEP_H_
#define _AO_BEEP_H_
-#ifndef HAS_BEEP_CONFIG
-#if defined(USE_EEPROM_CONFIG) && USE_EEPROM_CONFIG || HAS_EEPROM
-#define HAS_BEEP_CONFIG 1
-#endif
-#endif
-
/*
* ao_beep.c
*/
* frequency = 1/2 (24e6/32) / beep
*/
+#ifndef AO_BEEP_MID_DEFAULT
#define AO_BEEP_MID_DEFAULT 94 /* 3989Hz */
+#endif
+
+#define AO_BEEP_MID ((int) ao_config.mid_beep)
-#if HAS_BEEP_CONFIG
-#define AO_BEEP_MID ao_config.mid_beep
-#else
-#define AO_BEEP_MID AO_BEEP_MID_DEFAULT
+#define AO_BEEP_MID_PANIC AO_BEEP_MID_DEFAULT
+
+#ifndef AO_BEEP_MAKE_LOW
+#define AO_BEEP_MAKE_LOW(m) ((uint8_t) ((m) * 150 / 94)) /* 2500Hz */
+#endif
+
+#ifndef AO_BEEP_MAKE_HIGH
+#define AO_BEEP_MAKE_HIGH(m) ((uint8_t) ((m) * 75 / 94)) /* 5000Hz */
#endif
-#define AO_BEEP_LOW AO_BEEP_MID * 150 / 94 /* 2500Hz */
-#define AO_BEEP_HIGH AO_BEEP_MID * 75 / 94 /* 5000Hz */
+
+#define AO_BEEP_LOW AO_BEEP_MAKE_LOW(AO_BEEP_MID)
+#define AO_BEEP_HIGH AO_BEEP_MAKE_HIGH(AO_BEEP_MID)
+
+#define AO_BEEP_LOW_PANIC AO_BEEP_MAKE_LOW(AO_BEEP_MID_PANIC)
+#define AO_BEEP_HIGH_PANIC AO_BEEP_MAKE_HIGH(AO_BEEP_MID_PANIC)
#define AO_BEEP_OFF 0 /* off */
/* Turn on the beeper for the specified time */
void
-ao_beep_for(uint8_t beep, uint16_t ticks) __reentrant;
+ao_beep_for(uint8_t beep, AO_TICK_TYPE ticks);
/* Initialize the beeper */
void