Go to the source code of this file.
|
using | once = times<1> |
| Runs the task loop once.
|
|
using | twice = times<2> |
| Runs the task loop twice.
|
|
|
template<typename TaskType> |
auto | create_task (TaskType &task, char const *const name, uint16_t stack, UBaseType_t prio=0, TaskHandle_t *const handle=nullptr) -> void |
| Create a rtos task. TaskType needs a void run() public method.
|
|
auto | delete_task (TaskHandle_t task) -> void |
| Delete a rtos task. If handle is nullptr, the current task will be deleted.
|
|
template<typename TaskType> |
auto | rtos_task (void *task) -> void |
| Wrapper for an rtos task struct. Calls the run() member.
|
|
auto | sleep_for (etl::uint32_t ticks) -> void |
| Delay a task for a given number of ticks. The actual time that the task remains blocked depends on the tick rate.
|
|
auto | sleep_until (etl::uint32_t &prev, etl::uint32_t increment) -> void |
| Delay a task until a specified time. This function can be used by periodic tasks to ensure a constant execution frequency.
|
|
auto | start_scheduler () -> void |
| Start the RTOS, this function will never return and will schedule the tasks.
|
|
auto | yield () -> void |
| Request a context switch to another task.
|
|