scheduler_task.cpp File Reference
#include <stdio.h>
#include <stdint.h>
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include "scheduler_task.hpp"
#include "FreeRTOS.h"
#include "semphr.h"
#include "c_tlm_comp.h"
#include "c_tlm_var.h"
#include "c_tlm_stream.h"
Include dependency graph for scheduler_task.cpp:

Data Structures

struct  task_list
 Linked list of the tasks. More...
 
struct  ptr_enum_pair_t
 Array of pointers shared by index. More...
 
struct  ptr_name_pair
 Pair of a pointer and name used by getSharedObject() and addSharedObject() More...
 

Typedefs

typedef struct task_list task_list_t
 Linked list of the tasks. More...
 

Functions

void scheduler_c_task_private (void *task_ptr)
 
bool scheduler_init_all (bool register_internal_tlm)
 
void scheduler_add_task (scheduler_task *task)
 
void scheduler_start (bool dp, bool register_internal_tlm)
 
typedef struct ptr_name_pair ptr_name_pair_t
 Pair of a pointer and name used by getSharedObject() and addSharedObject() More...
 

Typedef Documentation

Pair of a pointer and name used by getSharedObject() and addSharedObject()

typedef struct task_list task_list_t

Linked list of the tasks.

Function Documentation

void scheduler_add_task ( scheduler_task task)

Adds your task to the scheduler

Parameters
taskThe pointer of your allocated class.
1 scheduler_add_task(new my_task());
void scheduler_c_task_private ( void *  task_ptr)

This is the C task that is created multiple times. Each task receives its own parameter therefore differentiating between different tasks.

bool scheduler_init_all ( bool  register_internal_tlm)

Give access to our private members to these functions

void scheduler_start ( bool  dbg_print = false,
bool  register_internal_tlm = false 
)

Starts FreeRTOS scheduler with the tasks added by scheduler_add_task()

Parameters
register_internal_tlmIf true, then this method will register the statistical telemetry for each task.
Note
This is different from the regTlm() method that is called regardless.
Parameters
dbg_printIf true, process of initing and starting the tasks is printed through stdio output