altos: profiling on STM32L
[fw/altos] / src / core / ao_task.h
index 18edd8669e58241019c9a6ccb18f0d345fdb38fd..4319d63253e218ef69f1930c5cd2f081c29c882b 100644 (file)
@@ -26,13 +26,22 @@ struct ao_task {
        uint8_t task_id;                /* unique id */
        __code char *name;              /* task name */
        uint8_t stack[AO_STACK_SIZE];   /* saved stack */
+#if HAS_SAMPLE_PROFILE
+       uint32_t ticks;
+       uint32_t yields;
+       uint16_t start;
+       uint16_t max_run;
+#endif
 };
 
-extern __xdata struct ao_task *__data ao_cur_task;
-
 #define AO_NUM_TASKS           16      /* maximum number of tasks */
 #define AO_NO_TASK             0       /* no task id */
 
+extern __xdata struct ao_task * __xdata ao_tasks[AO_NUM_TASKS];
+extern __data uint8_t ao_num_tasks;
+extern __data uint8_t ao_cur_task_index;
+extern __xdata struct ao_task *__data ao_cur_task;
+
 /*
  ao_task.c
  */