altos: Allow devices to override default beep
[fw/altos] / src / kernel / ao_beep.h
index 9d6ecf2766f830ed295e2853162ea9c7434681d1..1dbc9456c117d8c03dc6bc400803e1aa1d68c9ea 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
  * frequency = 1/2 (24e6/32) / beep
  */
 
+#ifndef AO_BEEP_MID_DEFAULT
 #define AO_BEEP_MID_DEFAULT    94      /* 3989Hz */
+#endif
 
 #if HAS_BEEP_CONFIG
 #define AO_BEEP_MID    ao_config.mid_beep
 #else
 #define AO_BEEP_MID    AO_BEEP_MID_DEFAULT
 #endif
+
+#define AO_BEEP_MID_PANIC      AO_BEEP_MID_DEFAULT
+
 #define AO_BEEP_LOW    AO_BEEP_MID * 150 / 94  /* 2500Hz */
 #define AO_BEEP_HIGH   AO_BEEP_MID * 75 / 94   /* 5000Hz */
 
+#define AO_BEEP_LOW_PANIC      (AO_BEEP_MID_PANIC * 150 / 94)
+#define AO_BEEP_HIGH_PANIC     (AO_BEEP_MID_PANIC * 75 / 94)
+
 #define AO_BEEP_OFF    0       /* off */
 
 #define AO_BEEP_g      240     /* 1562.5Hz */
@@ -78,7 +87,7 @@ ao_beep(uint8_t beep);
 
 /* 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