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
30enum {
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
112
113extern void application_init();
114extern void application_start();
115
116#endif
Constants.
void application_start()
Application entry point.
Definition rtos.c:55
Global_Handles_t hdls_g
Definition rtos.c:21
void application_init()
Application initialization.
Definition rtos.c:37
@ PRIO_IDLE
Definition rtos.h:31
@ PRIO_ABOVE_NORMAL
Definition rtos.h:34
@ PRIO_LUDICROUS
Definition rtos.h:36
@ PRIO_HIGH
Definition rtos.h:35
@ PRIO_LOW
Definition rtos.h:32
@ PRIO_NORMAL
Definition rtos.h:33
Definition types.h:16
Common typedefs.