X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fkernel%2Fao.h;h=520f6ef201f5698235745469fafa9973d3bccaca;hp=56945bf5f513edb1a1576b7ba19873255ab59f58;hb=6023ff81f1bbd240169b9548209133d3b02d475f;hpb=17adfd7939ff697afa96f7207a3fe17b6af789bd diff --git a/src/kernel/ao.h b/src/kernel/ao.h index 56945bf5..520f6ef2 100644 --- a/src/kernel/ao.h +++ b/src/kernel/ao.h @@ -26,20 +26,18 @@ #include #include +/* replace stdio macros with direct calls to our functions */ +#undef putchar +#undef getchar +#define putchar(c) ao_putchar(c) +#define getchar ao_getchar + +extern int ao_putchar(char c); +extern char ao_getchar(void); + #define TRUE 1 #define FALSE 0 -/* Convert a __data pointer into an __xdata pointer */ -#ifndef DATA_TO_XDATA -#define DATA_TO_XDATA(a) (a) -#endif -#ifndef PDATA_TO_XDATA -#define PDATA_TO_XDATA(a) (a) -#endif -#ifndef CODE_TO_XDATA -#define CODE_TO_XDATA(a) (a) -#endif - #ifndef HAS_TASK #define HAS_TASK 1 #endif @@ -78,6 +76,7 @@ typedef AO_PORT_TYPE ao_port_t; #define AO_PANIC_SELF_TEST_CC1120 0x40 | 1 /* Self test failure */ #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_MS5607 0x40 | 4 /* Self test failure */ /* Stop the operating system, beeping and blinking the reason */ @@ -170,6 +169,9 @@ void ao_put_string(__code char *s); void +ao_cmd_readline(void); + +char ao_cmd_lex(void); void @@ -214,6 +216,9 @@ ao_cmd_register(const __code struct ao_cmds *cmds); void ao_cmd_init(void); +void +ao_cmd(void); + #if HAS_CMD_FILTER /* * Provided by an external module to filter raw command lines @@ -640,6 +645,12 @@ ao_radio_continuity(uint8_t c); void ao_radio_rdf_abort(void); +void +ao_radio_test_on(void); + +void +ao_radio_test_off(void); + void ao_radio_init(void); @@ -649,7 +660,7 @@ ao_radio_init(void); #if HAS_MONITOR -extern const char const * const ao_state_names[]; +extern const char * const ao_state_names[]; #define AO_MONITOR_RING 8 @@ -667,7 +678,7 @@ extern __xdata union ao_monitor ao_monitor_ring[AO_MONITOR_RING]; #define ao_monitor_ring_next(n) (((n) + 1) & (AO_MONITOR_RING - 1)) #define ao_monitor_ring_prev(n) (((n) - 1) & (AO_MONITOR_RING - 1)) -extern __data uint8_t ao_monitoring_mutex; +extern __xdata uint8_t ao_monitoring_mutex; extern __data uint8_t ao_monitoring; extern __data uint8_t ao_monitor_head; @@ -847,33 +858,6 @@ struct ao_fifo { #include #endif -/* ao_launch.c */ - -struct ao_launch_command { - uint16_t tick; - uint16_t serial; - uint8_t cmd; - uint8_t channel; - uint16_t unused; -}; - -#define AO_LAUNCH_QUERY 1 - -struct ao_launch_query { - uint16_t tick; - uint16_t serial; - uint8_t channel; - uint8_t valid; - uint8_t arm_status; - uint8_t igniter_status; -}; - -#define AO_LAUNCH_ARM 2 -#define AO_LAUNCH_FIRE 3 - -void -ao_launch_init(void); - /* * ao_log_single.c */