*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
void stm_systick_isr(void)
{
ao_validate_cur_stack();
- if (stm_systick.csr & (1 << STM_SYSTICK_CSR_COUNTFLAG)) {
- ++ao_tick_count;
+ ++ao_tick_count;
#if HAS_TASK_QUEUE
- if (ao_task_alarm_tick && (int16_t) (ao_tick_count - ao_task_alarm_tick) >= 0)
- ao_task_check_alarm((uint16_t) ao_tick_count);
+ if (ao_task_alarm_tick && (int16_t) (ao_tick_count - ao_task_alarm_tick) >= 0)
+ ao_task_check_alarm((uint16_t) ao_tick_count);
#endif
#if AO_DATA_ALL
- if (++ao_data_count == ao_data_interval) {
- ao_data_count = 0;
+ if (++ao_data_count == ao_data_interval) {
+ ao_data_count = 0;
#if HAS_FAKE_FLIGHT
- if (ao_fake_flight_active)
- ao_fake_flight_poll();
- else
+ if (ao_fake_flight_active)
+ ao_fake_flight_poll();
+ else
#endif
- ao_adc_poll();
+ ao_adc_poll();
#if (AO_DATA_ALL & ~(AO_DATA_ADC))
- ao_wakeup((void *) &ao_data_count);
+ ao_wakeup((void *) &ao_data_count);
#endif
- }
+ }
#endif
#ifdef AO_TIMER_HOOK
- AO_TIMER_HOOK;
+ AO_TIMER_HOOK;
#endif
- }
}
#if HAS_ADC
stm_systick.csr = ((1 << STM_SYSTICK_CSR_ENABLE) |
(1 << STM_SYSTICK_CSR_TICKINT) |
(STM_SYSTICK_CSR_CLKSOURCE_HCLK_8 << STM_SYSTICK_CSR_CLKSOURCE));
+ stm_nvic.shpr15_12 |= AO_STM_NVIC_CLOCK_PRIORITY << 24;
}
#endif