Midnight Sun Firmware
Loading...
Searching...
No Matches
master_tasks.h
1#pragma once
2
3/************************************************************************************************
4 * @file master_tasks.h
5 *
6 * @brief Header file for Master Tasks API. Supports 1KHz, 100Hz and 10Hz scheduling
7 *
8 * @date 2024-11-04
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13
14/* Inter-component Headers */
15#include "log.h"
16#include "tasks.h"
17
18/* Intra-component Headers */
19
26#ifndef MASTER_TASK_1000HZ_SIZE
28#define MASTER_TASK_1000HZ_SIZE (TASK_STACK_256)
29#endif
30
31#ifndef MASTER_TASK_10HZ_SIZE
33#define MASTER_TASK_10HZ_SIZE (TASK_STACK_256)
34#endif
35
36#ifndef MASTER_TASK_1HZ_SIZE
38#define MASTER_TASK_1HZ_SIZE (TASK_STACK_256)
39#endif
40
46void run_1000hz_cycle();
47
53void run_10hz_cycle();
54
60void run_1hz_cycle();
61
65void pre_loop_init();
66
74
80
86
92
Task * get_10hz_task()
Fetch the memory address of the 10hz task.
Definition: master_tasks.c:89
void pre_loop_init()
Initialize the master tasks before the scheduler begins.
Definition: main.c:23
StatusCode init_master_tasks()
Initialize all 3 master tasks.
Definition: master_tasks.c:75
Task * get_1000hz_task()
Fetch the memory address of the 1000hz task.
Definition: master_tasks.c:85
Task * get_1hz_task()
Fetch the memory address of the 1hz task.
Definition: master_tasks.c:93
void run_1hz_cycle()
Run the 1hz cycle.
Definition: main.c:35
void run_1000hz_cycle()
Run the 1000hz cycle.
Definition: main.c:25
void run_10hz_cycle()
Run the 10hz cycle.
Definition: main.c:31
StatusCode
StatusCodes for various errors.
Definition: status.h:27
Definition: tasks.h:83