uMIDI
The swiss army knife for quick and easy developement of MIDI applications.
Functions | Variables
background_tasks.c File Reference

Background task scheduler. More...

#include "background_tasks.h"
#include <avr/io.h>
Include dependency graph for background_tasks.c:

Functions

void process_background_tasks (void)
 Invokes registered background tasks if certain conditions are met. More...
 
void init_background_tasks (background_task_t *const high_freq_tasks, uint8_t high_freq_tasks_size, background_task_t *const mid_freq_tasks, uint8_t mid_freq_tasks_size, background_task_t *const low_freq_tasks, uint8_t low_freq_tasks_size)
 

Variables

static background_task_thigh_frequency_tasks
 
static uint8_t high_frequency_tasks_size
 
static background_task_tmid_frequency_tasks
 
static uint8_t mid_frequency_tasks_size
 
static background_task_tlow_frequency_tasks
 
static uint8_t low_frequency_tasks_size
 

Detailed Description

Background task scheduler.

Function Documentation

◆ init_background_tasks()

void init_background_tasks ( background_task_t *const  high_freq_tasks,
uint8_t  high_freq_tasks_size,
background_task_t *const  mid_freq_tasks,
uint8_t  mid_freq_tasks_size,
background_task_t *const  low_freq_tasks,
uint8_t  low_freq_tasks_size 
)

◆ process_background_tasks()

void process_background_tasks ( void  )

Invokes registered background tasks if certain conditions are met.

This procedure must be called in the main loop of the program. If the CPU timer interrupt flag of CPU timer 0 is active, it is reset and the prescaler counters are incremented. If one of the prescalers reaches its target value, it is reset as well and the corresponding tasks are executed one by one.

See also
F_TASK_FAST
F_TASK_MID
F_TASK_SLOW

Variable Documentation

◆ high_frequency_tasks

background_task_t* high_frequency_tasks
static
Parameters
Internalarray of function pointers to high frequency tasks

◆ high_frequency_tasks_size

uint8_t high_frequency_tasks_size
static
Parameters
Numberof high frequency tasks

◆ low_frequency_tasks

background_task_t* low_frequency_tasks
static
Parameters
Internalarray of function pointers to low frequency tasks

◆ low_frequency_tasks_size

uint8_t low_frequency_tasks_size
static
Parameters
Numberof low frequency tasks

◆ mid_frequency_tasks

background_task_t* mid_frequency_tasks
static
Parameters
Internalarray of function pointers to medium frequency tasks

◆ mid_frequency_tasks_size

uint8_t mid_frequency_tasks_size
static
Parameters
Numberof medium frequency tasks