Midnight Sun Firmware
Loading...
Searching...
No Matches
global_enums.h
1#pragma once
2
3/************************************************************************************************
4 * @file global_enums.h
5 *
6 * @brief Header file for global enums which are exported between projects with CAN
7 *
8 * @date 2025-01-12
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13#include <stdint.h>
14
15/* Inter-component Headers */
16
17/* Intra-component Headers */
18
25/************************************************************************************************
26 * Shared Global definitions
27 ************************************************************************************************/
28
32typedef enum {
37 /* Extra drive state types used only by motor */
38
42
46typedef enum {
52
53/************************************************************************************************
54 * Rear Controller Global Definitions
55 ************************************************************************************************/
56
60typedef enum {
73
75#define BPS_FAULT_OVERVOLTAGE_MASK (1U << BPS_FAULT_OVERVOLTAGE)
77#define BPS_FAULT_UNBALANCE_MASK (1U << BPS_FAULT_UNBALANCE)
79#define BPS_FAULT_OVERTEMP_AMBIENT_MASK (1U << BPS_FAULT_OVERTEMP_AMBIENT)
81#define BPS_FAULT_COMMS_LOSS_AFE_MASK (1U << BPS_FAULT_COMMS_LOSS_AFE)
83#define BPS_FAULT_COMMS_LOSS_CURR_SENSE_MASK (1U << BPS_FAULT_COMMS_LOSS_CURR_SENSE)
85#define BPS_FAULT_OVERTEMP_CELL_MASK (1U << BPS_FAULT_OVERTEMP_CELL)
87#define BPS_FAULT_OVERCURRENT_MASK (1U << BPS_FAULT_OVERCURRENT)
89#define BPS_FAULT_UNDERVOLTAGE_MASK (1U << BPS_FAULT_UNDERVOLTAGE)
91#define BPS_FAULT_KILLSWITCH_MASK (1U << BPS_FAULT_KILLSWITCH)
93#define BPS_FAULT_RELAY_CLOSE_FAILED_MASK (1U << BPS_FAULT_RELAY_CLOSE_FAILED)
95#define BPS_FAULT_DISCONNECTED_MASK (1U << BPS_FAULT_DISCONNECTED)
96
98#define BPS_FAULT_HIGH_PRIORITY_MASK (1U << 15U)
100#define BPS_FAULT_LOW_PRIORITY_MASK (1U << 14U)
101
102/************************************************************************************************
103 * Steering Global Definitions
104 ************************************************************************************************/
105
109typedef enum {
115
119typedef enum {
124
126#define STEERING_CC_INCREASE_MASK (1U << EE_STEERING_CC_INCREASE_BIT)
128#define STEERING_CC_DECREASE_MASK (1U << EE_STEERING_CC_DECREASE_BIT)
130#define STEERING_CC_TOGGLE_MASK (1U << EE_STEERING_CC_TOGGLE_BIT)
131
132/************************************************************************************************
133 * Power Distribution Global Definitions
134 ************************************************************************************************/
135
139typedef enum {
145
PDPowerState
Power distribution power state definitions.
Definition: global_enums.h:139
SteeringLightState
Steering lights definitions.
Definition: global_enums.h:109
VehicleDriveState
Vehicle drive states.
Definition: global_enums.h:32
SteeringCruiseControl
Steering cruise control definitions.
Definition: global_enums.h:119
VehiclePowerStates
Vehicle power states.
Definition: global_enums.h:46
BpsFault
Battery fault definitions.
Definition: global_enums.h:60
@ EE_POWER_PRECHARGE_STATE
Definition: global_enums.h:141
@ EE_POWER_OFF_STATE
Definition: global_enums.h:140
@ EE_POWER_DRIVE_STATE
Definition: global_enums.h:142
@ EE_POWER_FAULT_STATE
Definition: global_enums.h:143
@ NUM_STEERING_LIGHTS
Definition: global_enums.h:113
@ STEERING_LIGHTS_LEFT_STATE
Definition: global_enums.h:111
@ STEERING_LIGHTS_RIGHT_STATE
Definition: global_enums.h:112
@ STEERING_LIGHTS_OFF_STATE
Definition: global_enums.h:110
@ VEHICLE_REVERSE
Definition: global_enums.h:35
@ VEHICLE_NEUTRAL
Definition: global_enums.h:33
@ VEHICLE_DRIVE
Definition: global_enums.h:34
@ VEHICLE_CRUISE
Definition: global_enums.h:39
@ VEHICLE_BRAKE
Definition: global_enums.h:40
@ STEERING_CRUISE_CONTROL_INCREASE_BIT
Definition: global_enums.h:121
@ STEERING_CRUISE_CONTROL_TOGGLE_BIT
Definition: global_enums.h:122
@ STEERING_CRUISE_CONTROL_DECREASE_BIT
Definition: global_enums.h:120
@ VEHICLE_POWER_STATE_CHARGE
Definition: global_enums.h:49
@ VEHICLE_POWER_STATE_DRIVE
Definition: global_enums.h:48
@ VEHICLE_POWER_STATE_IDLE
Definition: global_enums.h:47
@ VEHICLE_POWER_STATE_FAULT
Definition: global_enums.h:50
@ BPS_FAULT_UNDERVOLTAGE
Definition: global_enums.h:68
@ BPS_FAULT_UNBALANCE
Definition: global_enums.h:62
@ BPS_FAULT_DISCONNECTED
Definition: global_enums.h:71
@ BPS_FAULT_KILLSWITCH
Definition: global_enums.h:69
@ BPS_FAULT_OVERVOLTAGE
Definition: global_enums.h:61
@ BPS_FAULT_OVERTEMP_AMBIENT
Definition: global_enums.h:63
@ BPS_FAULT_OVERCURRENT
Definition: global_enums.h:67
@ BPS_FAULT_COMMS_LOSS_AFE
Definition: global_enums.h:64
@ BPS_FAULT_OVERTEMP_CELL
Definition: global_enums.h:66
@ BPS_FAULT_COMMS_LOSS_CURR_SENSE
Definition: global_enums.h:65
@ BPS_FAULT_RELAY_CLOSE_FAILED
Definition: global_enums.h:70