X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fkernel%2Fao.h;h=fb7af24dac350c717c8620e425ce81bd1a6644f8;hp=3beeb8800ded9d83b23d48677004507cd29dcbdc;hb=a87698663f8a5ced468755068a0468755d8f2746;hpb=c417ab1de2a083b5fcff2e081e4feb2a65887903 diff --git a/src/kernel/ao.h b/src/kernel/ao.h index 3beeb880..fb7af24d 100644 --- a/src/kernel/ao.h +++ b/src/kernel/ao.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -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 @@ -77,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; @@ -105,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); @@ -113,10 +130,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); @@ -167,7 +180,7 @@ void ao_put_string(const char *s); void -ao_cmd_readline(void); +ao_cmd_readline(const char *prompt); char ao_cmd_lex(void); @@ -236,7 +249,7 @@ ao_cmd_filter(void); #include #endif -#if LEDS_AVAILABLE +#if LEDS_AVAILABLE || HAS_LED #include #endif @@ -583,9 +596,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); @@ -928,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 */ @@ -946,9 +950,6 @@ ao_terraui_init(void); */ #ifdef BATTERY_PIN -void -ao_battery_isr(void) ao_arch_interrupt(1); - uint16_t ao_battery_get(void);