firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
rtos.h
Go to the documentation of this file.
1
10
11
#ifndef RTOS_H
12
#define RTOS_H
13
14
#include <stdbool.h>
15
#include <stdint.h>
16
17
#include "
constants.h
"
18
#include "
types.h
"
19
#include "iem_utils.h"
20
21
#include "
FreeRTOS.h
"
22
23
#include "
queue.h
"
24
#include "
semphr.h
"
25
#include "
task.h
"
26
#include "
timers.h
"
27
28
29
// Task priority aliases
30
enum
{
31
PRIO_IDLE
= 0,
32
PRIO_LOW
,
33
PRIO_NORMAL
,
34
PRIO_ABOVE_NORMAL
,
35
PRIO_HIGH
,
36
PRIO_LUDICROUS
,
37
};
38
39
46
#define TASK_STATE_NAME "state"
47
#define TASK_STATE_PRIO PRIO_ABOVE_NORMAL
48
#define TASK_STATE_STACK_DEPTH ((size_t)1024)
49
#define TASK_STATE_PERIOD 5
50
51
#define TASK_STATE_NOTIF_THROTTLE 0
52
#define TASK_STATE_NOTIF_TIMER 1
53
54
#define STATE_QUEUE_LENGTH 128
55
62
#define TASK_TRACTIVE_NAME "tractive"
63
#define TASK_TRACTIVE_PRIO PRIO_HIGH
64
#define TASK_TRACTIVE_STACK_DEPTH ((size_t)4096)
65
#define TASK_TRACTIVE_PERIOD 4
66
67
#define TASK_TRACTIVE_NOTIF_CAR_STATE 0
68
69
#define TRACTIVE_CAN_QUEUE_LENGTH 128
70
76
#define TASK_VNAV_NAME "vnav"
77
#define TASK_VNAV_PRIO PRIO_LUDICROUS
// TODO
78
#define TASK_VNAV_STACK_DEPTH configMINIMAL_STACK_SIZE
79
80
#define TASK_VNAV_NOTIF_SYNC_OUT 0
81
#define TASK_VNAV_NOTIF_UART_EVENT 1
82
88
#define TASK_CAN_RX_PRIO PRIO_ABOVE_NORMAL
89
#define TASK_CAN_RX_STACK_DEPTH configMINIMAL_STACK_SIZE
90
91
#define TASK_CAN_RX_NOTIF_MSG 0
92
98
#define TASK_CAN_TX_PRIO PRIO_LOW
99
#define TASK_CAN_TX_STACK_DEPTH configMINIMAL_STACK_SIZE
100
101
#define CAN_TX_QUEUE_LENGTH 128
102
103
104
#define FERAM_HSPI &hspi4
105
#define FERAM_CS_PORT FERAM_CS_GPIO_Port
106
#define FERAM_CS_PIN FERAM_CS_Pin
107
108
#define FERAM_PWR_CUT_TIME_MS 5
109
#define FERAM_SPI_CLOCK_SPEED 24000000
110
111
extern
Global_Handles_t
hdls_g
;
112
113
extern
void
application_init
();
114
extern
void
application_start
();
115
116
#endif
FreeRTOS.h
constants.h
Constants.
queue.h
application_start
void application_start()
Application entry point.
Definition
rtos.c:55
hdls_g
Global_Handles_t hdls_g
Definition
rtos.c:21
application_init
void application_init()
Application initialization.
Definition
rtos.c:37
PRIO_IDLE
@ PRIO_IDLE
Definition
rtos.h:31
PRIO_ABOVE_NORMAL
@ PRIO_ABOVE_NORMAL
Definition
rtos.h:34
PRIO_LUDICROUS
@ PRIO_LUDICROUS
Definition
rtos.h:36
PRIO_HIGH
@ PRIO_HIGH
Definition
rtos.h:35
PRIO_LOW
@ PRIO_LOW
Definition
rtos.h:32
PRIO_NORMAL
@ PRIO_NORMAL
Definition
rtos.h:33
semphr.h
Global_Handles_t
Definition
types.h:16
task.h
timers.h
types.h
Common typedefs.
ecu
safety
application
inc
rtos.h
Generated by
1.14.0