Merge branch 'micropeak-1.1'
[fw/altos] / src / stm / ao_timer.c
index d82a803e2d819e162151fff60d6b8606454f7219..e07625d8d7d1e809db29f18c5f6deaae388f0869 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #include "ao.h"
+#include <ao_task.h>
 
 volatile __data AO_TICK_TYPE ao_tick_count;
 
@@ -42,6 +43,10 @@ void stm_tim6_isr(void)
        if (stm_tim6.sr & (1 << STM_TIM67_SR_UIF)) {
                stm_tim6.sr = 0;
                ++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);
+#endif
 #if AO_DATA_ALL
                if (++ao_data_count == ao_data_interval) {
                        ao_data_count = 0;