tetl 0.1.0
Embedded Template Library
|
Go to the source code of this file.
Classes | |
struct | forever |
Runs the task loop forever. More... | |
struct | never |
Runs the task loop 0 times. More... | |
struct | times< Count > |
Runs the task loop Count times. More... | |
Namespaces | |
namespace | etl |
namespace | etl::experimental |
namespace | etl::experimental::freertos |
namespace | etl::experimental::freertos::this_task |
Typedefs | |
using | once = times< 1 > |
Runs the task loop once. | |
using | twice = times< 2 > |
Runs the task loop twice. | |
Functions | |
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. | |