altos: Add bmx160 driver
[fw/altos] / src / kernel / ao.h
index 9c0c86044558ba0d417d3d144eaa81a98b0c95f7..fb7af24dac350c717c8620e425ce81bd1a6644f8 100644 (file)
@@ -75,19 +75,34 @@ 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 */
 
 /* Stop the operating system, beeping and blinking the reason */
 void
 ao_panic(uint8_t reason);
 
+/*
+ * ao_romconfig.c
+ */
+
+#define AO_ROMCONFIG_VERSION   2
+
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_romconfig_version;
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_romconfig_check;
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_serial_number;
+#if HAS_RADIO
+extern AO_ROMCONFIG_SYMBOL uint32_t ao_radio_cal;
+#endif
+
 /*
  * ao_timer.c
  */
 
 #ifndef AO_TICK_TYPE
-#define AO_TICK_TYPE   uint16_t
-#define AO_TICK_SIGNED int16_t
+#define AO_TICK_TYPE   uint32_t
+#define AO_TICK_SIGNED int32_t
 #endif
 
 extern volatile AO_TICK_TYPE ao_tick_count;
@@ -103,6 +118,10 @@ extern volatile AO_TICK_TYPE ao_tick_count;
 AO_TICK_TYPE
 ao_time(void);
 
+/* Returns the current time in ns */
+uint64_t
+ao_time_ns(void);
+
 /* Suspend the current task until ticks time has passed */
 void
 ao_delay(uint16_t ticks);
@@ -230,7 +249,7 @@ ao_cmd_filter(void);
 #include <ao_beep.h>
 #endif
 
-#if LEDS_AVAILABLE
+#if LEDS_AVAILABLE || HAS_LED
 #include <ao_led.h>
 #endif
 
@@ -919,12 +938,6 @@ ao_log_single(void);
 
 #define AO_TELEPYRO_NUM_ADC    9
 
-#ifndef ao_xmemcpy
-#define ao_xmemcpy(d,s,c) memcpy(d,s,c)
-#define ao_xmemset(d,v,c) memset(d,v,c)
-#define ao_xmemcmp(d,s,c) memcmp(d,s,c)
-#endif
-
 /*
  * ao_terraui.c
  */