X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstm%2Fao_timer.c;h=91ede84bcc5ee7f4e015fb46b6188412c35b6746;hb=5ab4a8b911e254dc829b61cb0abc9fd0b46b84b3;hp=d93531fc7da8623d1e4531959f50ce8fea75cd51;hpb=d6d56c20465455b759f60a03fc96aa228ab9102e;p=fw%2Faltos diff --git a/src/stm/ao_timer.c b/src/stm/ao_timer.c index d93531fc..91ede84b 100644 --- a/src/stm/ao_timer.c +++ b/src/stm/ao_timer.c @@ -17,6 +17,9 @@ #include "ao.h" #include +#if HAS_FAKE_FLIGHT +#include +#endif #ifndef HAS_TICK #define HAS_TICK 1 @@ -38,6 +41,7 @@ volatile __data uint8_t ao_data_count; void stm_systick_isr(void) { + ao_validate_cur_stack(); if (stm_systick.csr & (1 << STM_SYSTICK_CSR_COUNTFLAG)) { ++ao_tick_count; #if HAS_TASK_QUEUE @@ -47,7 +51,12 @@ void stm_systick_isr(void) #if AO_DATA_ALL if (++ao_data_count == ao_data_interval) { ao_data_count = 0; - ao_adc_poll(); +#if HAS_FAKE_FLIGHT + if (ao_fake_flight_active) + ao_fake_flight_poll(); + else +#endif + ao_adc_poll(); #if (AO_DATA_ALL & ~(AO_DATA_ADC)) ao_wakeup((void *) &ao_data_count); #endif