altos: first cut at ADS124S0X driver interrupt handling
[fw/altos] / src / kernel / ao.h
index fd1d12765a5d3513240514f8184b18cf00fd779b..910c1d8ed97c532c70da13957fd087f6ee06b84a 100644 (file)
@@ -23,6 +23,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <stddef.h>
+#include <stdbool.h>
 #include <ao_pins.h>
 #include <ao_arch.h>
 
@@ -35,9 +36,6 @@
 extern int ao_putchar(char c);
 extern char ao_getchar(void);
 
-#define TRUE 1
-#define FALSE 0
-
 #ifndef HAS_TASK
 #define HAS_TASK       1
 #endif
@@ -78,11 +76,25 @@ typedef AO_PORT_TYPE ao_port_t;
 #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_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
  */
@@ -113,10 +125,6 @@ ao_delay(uint16_t ticks);
 void
 ao_timer_set_adc_interval(uint8_t interval);
 
-/* Timer interrupt */
-void
-ao_timer_isr(void) ao_arch_interrupt(9);
-
 /* Initialize the timer */
 void
 ao_timer_init(void);
@@ -160,8 +168,6 @@ enum ao_cmd_status {
        ao_cmd_syntax_error = 2,
 };
 
-extern uint16_t ao_cmd_lex_i;
-extern uint32_t ao_cmd_lex_u32;
 extern char    ao_cmd_lex_c;
 extern enum ao_cmd_status ao_cmd_status;
 
@@ -169,7 +175,7 @@ void
 ao_put_string(const char *s);
 
 void
-ao_cmd_readline(void);
+ao_cmd_readline(const char *prompt);
 
 char
 ao_cmd_lex(void);
@@ -189,13 +195,13 @@ ao_cmd_white(void);
 int8_t
 ao_cmd_hexchar(char c);
 
-void
+uint8_t
 ao_cmd_hexbyte(void);
 
-void
+uint32_t
 ao_cmd_hex(void);
 
-void
+uint32_t
 ao_cmd_decimal(void);
 
 /* Read a single hex nibble off stdin. */
@@ -238,7 +244,7 @@ ao_cmd_filter(void);
 #include <ao_beep.h>
 #endif
 
-#if LEDS_AVAILABLE
+#if LEDS_AVAILABLE || HAS_LED
 #include <ao_led.h>
 #endif
 
@@ -585,9 +591,6 @@ extern int8_t       ao_radio_rssi;
 #define HAS_RADIO_RATE HAS_RADIO
 #endif
 
-void
-ao_radio_general_isr(void) ao_arch_interrupt(16);
-
 #if HAS_RADIO_XMIT
 void
 ao_radio_send(const void *d, uint8_t size);
@@ -948,9 +951,6 @@ ao_terraui_init(void);
  */
 
 #ifdef BATTERY_PIN
-void
-ao_battery_isr(void) ao_arch_interrupt(1);
-
 uint16_t
 ao_battery_get(void);