123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifndef SYSTEM_TASK_H_
- #define SYSTEM_TASK_H_
- #include "stm8s.h"
- typedef struct sys_task{
- uint8_t status;
- uint16_t cycle;
- void (*taskPointer)(void);
- uint32_t lastCounterHeld;
- uint8_t startUpOffset;
- }sys_task_t;
- typedef enum task_status{
- Uninitialized = 0U, // not ready for kick-start, default status
- Active, // already running
- Deactive // initialized but not running, task "ready"
- }task_status_t;
- typedef enum task_numbers{
- Task_00 = 0U,
- Task_01,
- Task_02,
- Task_03,
- Task_04,
- Task_05,
- Task_06,
- Task_07,
- Task_08,
- Task_09,
- Task_10,
- Task_11,
- Task_12,
- Task_13,
- Task_14,
- Task_15
- }task_number_t;
- #define TASK_STARTED ((uint8_t)(0x00))
- #define TASK_NOT_READY ((uint8_t)(0x01))
- #define TASK_ALREADY_RUNNING ((uint8_t)(0x02))
- #define TASK_ALREADY_STOPPED ((uint8_t)(0x03))
- #define TASK_INITIALIZED ((uint8_t)(0x04))
- uint8_t startTask(uint8_t, uint8_t);
- uint8_t stopTask(uint8_t);
- uint8_t configTask(uint8_t, void (*)(void), uint16_t);
- void eliminateTask(uint8_t);
- void taskHandler(void);
- extern void taskA(void);
- extern void taskB(void);
- #endif /* SYSTEM_TASK_H_ */
|