X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao.h;h=5df4903cdd0084c7a977ccb19c2ebb76d2587c01;hb=f10009b07b651f69014ac5608f3ca29bce874c24;hp=9baae8b437d310b071618b57795b11575c650637;hpb=0686a7b8aec524d81bda4c572549a3a068ce0eed;p=fw%2Faltos diff --git a/src/kernel/ao.h b/src/kernel/ao.h index 9baae8b4..5df4903c 100644 --- a/src/kernel/ao.h +++ b/src/kernel/ao.h @@ -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 #else @@ -75,11 +80,13 @@ 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_panic(uint8_t reason) __attribute__((noreturn)); /* * ao_romconfig.c @@ -98,11 +105,6 @@ extern AO_ROMCONFIG_SYMBOL uint32_t ao_radio_cal; * ao_timer.c */ -#ifndef AO_TICK_TYPE -#define AO_TICK_TYPE uint16_t -#define AO_TICK_SIGNED int16_t -#endif - extern volatile AO_TICK_TYPE ao_tick_count; /* Our timer runs at 100Hz */ @@ -116,9 +118,13 @@ 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); +ao_delay(AO_TICK_TYPE ticks); /* Set the ADC interval */ void @@ -743,9 +749,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 */ @@ -932,12 +935,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 */