tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
etl::experimental::freertos Namespace Reference

Namespaces

namespace  this_task
 

Classes

struct  forever
 Runs the task loop forever. More...
 
struct  never
 Runs the task loop 0 times. More...
 
struct  queue
 Wrapper around a FreeRTOS queue. More...
 
struct  stream_buffer
 Stream buffers are an RTOS task to RTOS task, and interrupt to task communication primitives. More...
 
struct  times
 Runs the task loop Count times. More...
 

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 start_scheduler () -> void
 Start the RTOS, this function will never return and will schedule the tasks.
 

Typedef Documentation

◆ once

using once = times<1>

Runs the task loop once.

◆ twice

using twice = times<2>

Runs the task loop twice.

Function Documentation

◆ create_task()

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
inline

Create a rtos task. TaskType needs a void run() public method.

◆ delete_task()

auto delete_task ( TaskHandle_t task) -> void
inline

Delete a rtos task. If handle is nullptr, the current task will be deleted.

◆ rtos_task()

template<typename TaskType>
auto rtos_task ( void * task) -> void
inline

Wrapper for an rtos task struct. Calls the run() member.

◆ start_scheduler()

auto start_scheduler ( ) -> void
inline

Start the RTOS, this function will never return and will schedule the tasks.