firmware
IEM Firmware Documentation
Loading...
Searching...
No Matches
rtos.h File Reference

RTOS task config parameter macros. More...

#include <stdbool.h>
#include <stdint.h>
#include "constants.h"
#include "types.h"
#include "iem_utils.h"
#include "FreeRTOS.h"
#include "queue.h"
#include "semphr.h"
#include "task.h"
#include "timers.h"
Include dependency graph for rtos.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TASK_STATE_NAME   "state"
#define TASK_STATE_PRIO   PRIO_ABOVE_NORMAL
#define TASK_STATE_STACK_DEPTH   ((size_t)1024)
#define TASK_STATE_PERIOD   5
#define TASK_STATE_NOTIF_THROTTLE   0
#define TASK_STATE_NOTIF_TIMER   1
#define STATE_QUEUE_LENGTH   128
#define TASK_TRACTIVE_NAME   "tractive"
#define TASK_TRACTIVE_PRIO   PRIO_HIGH
#define TASK_TRACTIVE_STACK_DEPTH   ((size_t)4096)
#define TASK_TRACTIVE_PERIOD   4
#define TASK_TRACTIVE_NOTIF_CAR_STATE   0
#define TRACTIVE_CAN_QUEUE_LENGTH   128
#define TASK_VNAV_NAME   "vnav"
#define TASK_VNAV_PRIO   PRIO_LUDICROUS
#define TASK_VNAV_STACK_DEPTH   configMINIMAL_STACK_SIZE
#define TASK_VNAV_NOTIF_SYNC_OUT   0
#define TASK_VNAV_NOTIF_UART_EVENT   1
#define TASK_CAN_RX_PRIO   PRIO_ABOVE_NORMAL
#define TASK_CAN_RX_STACK_DEPTH   configMINIMAL_STACK_SIZE
#define TASK_CAN_RX_NOTIF_MSG   0
#define TASK_CAN_TX_PRIO   PRIO_LOW
#define TASK_CAN_TX_STACK_DEPTH   configMINIMAL_STACK_SIZE
#define CAN_TX_QUEUE_LENGTH   128
#define FERAM_HSPI   &hspi4
#define FERAM_CS_PORT   FERAM_CS_GPIO_Port
#define FERAM_CS_PIN   FERAM_CS_Pin
#define FERAM_PWR_CUT_TIME_MS   5
#define FERAM_SPI_CLOCK_SPEED   24000000

Enumerations

enum  {
  PRIO_IDLE = 0 , PRIO_LOW , PRIO_NORMAL , PRIO_ABOVE_NORMAL ,
  PRIO_HIGH , PRIO_LUDICROUS
}

Functions

void application_init ()
 Application initialization.
void application_start ()
 Application entry point.

Variables

Global_Handles_t hdls_g

Detailed Description

RTOS task config parameter macros.

Author
Jamie Pruett :)
Version
0.1
Date
2024-11-01

Macro Definition Documentation

◆ CAN_TX_QUEUE_LENGTH

#define CAN_TX_QUEUE_LENGTH   128

◆ FERAM_CS_PIN

#define FERAM_CS_PIN   FERAM_CS_Pin

◆ FERAM_CS_PORT

#define FERAM_CS_PORT   FERAM_CS_GPIO_Port

◆ FERAM_HSPI

#define FERAM_HSPI   &hspi4

◆ FERAM_PWR_CUT_TIME_MS

#define FERAM_PWR_CUT_TIME_MS   5

◆ FERAM_SPI_CLOCK_SPEED

#define FERAM_SPI_CLOCK_SPEED   24000000

◆ STATE_QUEUE_LENGTH

#define STATE_QUEUE_LENGTH   128

◆ TASK_CAN_RX_NOTIF_MSG

#define TASK_CAN_RX_NOTIF_MSG   0

◆ TASK_CAN_RX_PRIO

#define TASK_CAN_RX_PRIO   PRIO_ABOVE_NORMAL

CAN Rx Tasks (for CAN 1 and 3) Priority: Above Normal Stack Size: 1024 Words

◆ TASK_CAN_RX_STACK_DEPTH

#define TASK_CAN_RX_STACK_DEPTH   configMINIMAL_STACK_SIZE

◆ TASK_CAN_TX_PRIO

#define TASK_CAN_TX_PRIO   PRIO_LOW

CAN Tx Tasks (for CAN 1, 2, and 3) Priority: Low Stack Size: 1024 Words

◆ TASK_CAN_TX_STACK_DEPTH

#define TASK_CAN_TX_STACK_DEPTH   configMINIMAL_STACK_SIZE

◆ TASK_STATE_NAME

#define TASK_STATE_NAME   "state"

State Machine Task Priority: Above Normal Stack Size: 1024 Words Frequency: 100Hz (10ms)

◆ TASK_STATE_NOTIF_THROTTLE

#define TASK_STATE_NOTIF_THROTTLE   0

◆ TASK_STATE_NOTIF_TIMER

#define TASK_STATE_NOTIF_TIMER   1

◆ TASK_STATE_PERIOD

#define TASK_STATE_PERIOD   5

◆ TASK_STATE_PRIO

#define TASK_STATE_PRIO   PRIO_ABOVE_NORMAL

◆ TASK_STATE_STACK_DEPTH

#define TASK_STATE_STACK_DEPTH   ((size_t)1024)

◆ TASK_TRACTIVE_NAME

#define TASK_TRACTIVE_NAME   "tractive"

Tractive Task Priority: High Stack Size: 1024 Words Frequency: 250Hz (4ms)

◆ TASK_TRACTIVE_NOTIF_CAR_STATE

#define TASK_TRACTIVE_NOTIF_CAR_STATE   0

◆ TASK_TRACTIVE_PERIOD

#define TASK_TRACTIVE_PERIOD   4

◆ TASK_TRACTIVE_PRIO

#define TASK_TRACTIVE_PRIO   PRIO_HIGH

◆ TASK_TRACTIVE_STACK_DEPTH

#define TASK_TRACTIVE_STACK_DEPTH   ((size_t)4096)

◆ TASK_VNAV_NAME

#define TASK_VNAV_NAME   "vnav"

Tractive Task Priority: High Stack Size: 1024 Words

◆ TASK_VNAV_NOTIF_SYNC_OUT

#define TASK_VNAV_NOTIF_SYNC_OUT   0

◆ TASK_VNAV_NOTIF_UART_EVENT

#define TASK_VNAV_NOTIF_UART_EVENT   1

◆ TASK_VNAV_PRIO

#define TASK_VNAV_PRIO   PRIO_LUDICROUS

◆ TASK_VNAV_STACK_DEPTH

#define TASK_VNAV_STACK_DEPTH   configMINIMAL_STACK_SIZE

◆ TRACTIVE_CAN_QUEUE_LENGTH

#define TRACTIVE_CAN_QUEUE_LENGTH   128

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PRIO_IDLE 
PRIO_LOW 
PRIO_NORMAL 
PRIO_ABOVE_NORMAL 
PRIO_HIGH 
PRIO_LUDICROUS 

Function Documentation

◆ application_init()

void application_init ( )
extern

Application initialization.

Keeps code that we write and edit isolated from CubeMX in main.c

Here is the call graph for this function:
Here is the caller graph for this function:

◆ application_start()

void application_start ( )
extern

Application entry point.

Keeps code that we write and edit isolated from CubeMX in main.c

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ hdls_g

Global_Handles_t hdls_g
extern