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 {
38 /* Extra drive state types used only by motor */
39
44
48typedef enum {
54
55/************************************************************************************************
56 * Rear Controller Global Definitions
57 ************************************************************************************************/
58
62typedef enum {
74 NUM_BPS_FAULTS
75} BpsFault;
76
78#define BPS_FAULT_OVERVOLTAGE_MASK (1U << BPS_FAULT_OVERVOLTAGE)
80#define BPS_FAULT_UNBALANCE_MASK (1U << BPS_FAULT_UNBALANCE)
82#define BPS_FAULT_OVERTEMP_AMBIENT_MASK (1U << BPS_FAULT_OVERTEMP_AMBIENT)
84#define BPS_FAULT_COMMS_LOSS_AFE_MASK (1U << BPS_FAULT_COMMS_LOSS_AFE)
86#define BPS_FAULT_COMMS_LOSS_CURR_SENSE_MASK (1U << BPS_FAULT_COMMS_LOSS_CURR_SENSE)
88#define BPS_FAULT_OVERTEMP_CELL_MASK (1U << BPS_FAULT_OVERTEMP_CELL)
90#define BPS_FAULT_OVERCURRENT_MASK (1U << BPS_FAULT_OVERCURRENT)
92#define BPS_FAULT_UNDERVOLTAGE_MASK (1U << BPS_FAULT_UNDERVOLTAGE)
94#define BPS_FAULT_KILLSWITCH_MASK (1U << BPS_FAULT_KILLSWITCH)
96#define BPS_FAULT_RELAY_CLOSE_FAILED_MASK (1U << BPS_FAULT_RELAY_CLOSE_FAILED)
98#define BPS_FAULT_DISCONNECTED_MASK (1U << BPS_FAULT_DISCONNECTED)
99
101#define BPS_FAULT_HIGH_PRIORITY_MASK (1U << 15U)
103#define BPS_FAULT_LOW_PRIORITY_MASK (1U << 14U)
104
105/************************************************************************************************
106 * Steering Global Definitions
107 ************************************************************************************************/
108
112typedef enum {
119
123typedef enum {
128
130#define STEERING_CC_INCREASE_MASK (1U << EE_STEERING_CC_INCREASE_BIT)
132#define STEERING_CC_DECREASE_MASK (1U << EE_STEERING_CC_DECREASE_BIT)
134#define STEERING_CC_TOGGLE_MASK (1U << EE_STEERING_CC_TOGGLE_BIT)
135
136/************************************************************************************************
137 * Power Distribution Global Definitions
138 ************************************************************************************************/
139
143typedef enum {
149
PDPowerState
Power distribution power state definitions.
Definition: global_enums.h:143
SteeringLightState
Steering lights definitions.
Definition: global_enums.h:112
VehicleDriveState
Vehicle drive states.
Definition: global_enums.h:32
SteeringCruiseControl
Steering cruise control definitions.
Definition: global_enums.h:123
VehiclePowerStates
Vehicle power states.
Definition: global_enums.h:48
BpsFault
Battery fault definitions.
Definition: global_enums.h:62
@ EE_POWER_PRECHARGE_STATE
Definition: global_enums.h:145
@ EE_POWER_OFF_STATE
Definition: global_enums.h:144
@ EE_POWER_DRIVE_STATE
Definition: global_enums.h:146
@ EE_POWER_FAULT_STATE
Definition: global_enums.h:147
@ NUM_STEERING_LIGHTS
Definition: global_enums.h:117
@ STEERING_LIGHTS_LEFT_STATE
Definition: global_enums.h:114
@ STEERING_LIGHTS_HAZARD_STATE
Definition: global_enums.h:116
@ STEERING_LIGHTS_RIGHT_STATE
Definition: global_enums.h:115
@ STEERING_LIGHTS_OFF_STATE
Definition: global_enums.h:113
@ VEHICLE_DRIVE_STATE_REGEN
Definition: global_enums.h:42
@ VEHICLE_DRIVE_STATE_NEUTRAL
Definition: global_enums.h:34
@ VEHICLE_DRIVE_STATE_DRIVE
Definition: global_enums.h:35
@ VEHICLE_DRIVE_STATE_BRAKE
Definition: global_enums.h:41
@ VEHICLE_DRIVE_STATE_CRUISE
Definition: global_enums.h:40
@ VEHICLE_DRIVE_STATE_INVALID
Definition: global_enums.h:33
@ VEHICLE_DRIVE_STATE_REVERSE
Definition: global_enums.h:36
@ STEERING_CRUISE_CONTROL_INCREASE_BIT
Definition: global_enums.h:125
@ STEERING_CRUISE_CONTROL_TOGGLE_BIT
Definition: global_enums.h:126
@ STEERING_CRUISE_CONTROL_DECREASE_BIT
Definition: global_enums.h:124
@ VEHICLE_POWER_STATE_CHARGE
Definition: global_enums.h:51
@ VEHICLE_POWER_STATE_DRIVE
Definition: global_enums.h:50
@ VEHICLE_POWER_STATE_IDLE
Definition: global_enums.h:49
@ VEHICLE_POWER_STATE_FAULT
Definition: global_enums.h:52
@ BPS_FAULT_UNDERVOLTAGE
Definition: global_enums.h:70
@ BPS_FAULT_UNBALANCE
Definition: global_enums.h:64
@ BPS_FAULT_DISCONNECTED
Definition: global_enums.h:73
@ BPS_FAULT_KILLSWITCH
Definition: global_enums.h:71
@ BPS_FAULT_OVERVOLTAGE
Definition: global_enums.h:63
@ BPS_FAULT_OVERTEMP_AMBIENT
Definition: global_enums.h:65
@ BPS_FAULT_OVERCURRENT
Definition: global_enums.h:69
@ BPS_FAULT_COMMS_LOSS_AFE
Definition: global_enums.h:66
@ BPS_FAULT_OVERTEMP_CELL
Definition: global_enums.h:68
@ BPS_FAULT_COMMS_LOSS_CURR_SENSE
Definition: global_enums.h:67
@ BPS_FAULT_RELAY_CLOSE_FAILED
Definition: global_enums.h:72