altos: Declare ao_delay_until API in ao.h
[fw/altos] / src / kernel / ao.h
index 21ab27479ac235d9c32fbb8850617449dbdf8837..9bbd561eedf854467057c30ef32aade8668b9af9 100644 (file)
@@ -42,6 +42,11 @@ extern char ao_getchar(void);
 
 typedef AO_PORT_TYPE ao_port_t;
 
+#ifndef AO_TICK_TYPE
+#define AO_TICK_TYPE uint32_t
+#define AO_TICK_SIGNED int32_t
+#endif
+
 #if HAS_TASK
 #include <ao_task.h>
 #else
@@ -75,6 +80,7 @@ typedef AO_PORT_TYPE ao_port_t;
 #define AO_PANIC_SELF_TEST_HMC5883     0x40 | 2        /* Self test failure */
 #define AO_PANIC_SELF_TEST_MPU6000     0x40 | 3        /* Self test failure */
 #define AO_PANIC_SELF_TEST_MPU9250     0x40 | 3        /* Self test failure */
+#define AO_PANIC_SELF_TEST_BMX160      0x40 | 3        /* Self test failure */
 #define AO_PANIC_SELF_TEST_MS5607      0x40 | 4        /* Self test failure */
 #define AO_PANIC_SELF_TEST_ADS124S0X   0x40 | 5        /* Self test failure */
 
@@ -99,11 +105,6 @@ extern AO_ROMCONFIG_SYMBOL uint32_t ao_radio_cal;
  * ao_timer.c
  */
 
-#ifndef AO_TICK_TYPE
-#define AO_TICK_TYPE   uint32_t
-#define AO_TICK_SIGNED int32_t
-#endif
-
 extern volatile AO_TICK_TYPE ao_tick_count;
 
 /* Our timer runs at 100Hz */
@@ -123,7 +124,10 @@ ao_time_ns(void);
 
 /* Suspend the current task until ticks time has passed */
 void
-ao_delay(uint16_t ticks);
+ao_delay(AO_TICK_TYPE ticks);
+
+void
+ao_delay_until(AO_TICK_TYPE target);
 
 /* Set the ADC interval */
 void
@@ -748,9 +752,6 @@ enum ao_igniter {
        ao_igniter_main = 1
 };
 
-void
-ao_ignite(enum ao_igniter igniter);
-
 enum ao_igniter_status {
        ao_igniter_unknown,     /* unknown status (ambiguous voltage) */
        ao_igniter_ready,       /* continuity detected */