embedded-software
reusable software modules for embedded systems
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
task.h File Reference
#include <stdint.h>
#include "project_settings.h"
#include "timing.h"
Include dependency graph for task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TASK_MAX_LENGTH   20
 
#define TASK_ROLL_TIME   (TIME_MAX-(uint32_t)10*24*60*60*1000)
 

Typedefs

typedef void(* task_fn_pointer_input_t )(void *)
 
typedef void(* task_t )(void)
 

Functions

void Task_Init (void)
 
void SystemTick (void)
 
void Task_Queue (task_t fn, void *pointer)
 Adds a function to the task queue. More...
 
int8_t Task_Schedule (task_t fn, void *pointer, uint32_t delay, uint32_t period)
 Adds task to be scheduled for execution. More...
 
int8_t Task_SetIdleTask (task_t fn)
 Sets a task to run whenever the task queue is empty / no tasks due to run. More...
 
void Task_Remove (task_t fn, void *pointer)
 Removes Task. More...
 
void WaitMs (uint32_t wait)
 
uint8_t Task_IsScheduled (task_t fn)
 
void Task_ChangePeriod (task_t fn, uint32_t period, uint8_t update_next_time)