Midnight Sun Firmware
Loading...
Searching...
No Matches
front_controller_hw_defs.h
1#pragma once
2
3/************************************************************************************************
4 * @file front_controller_hw_defs.h
5 *
6 * @brief Header file for front controller HW definition
7 *
8 * @date 2025-07-19
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13
14/* Inter-component Headers */
15
16/* Intra-component Headers */
17
24/************************************************************************************************
25 * Front Controller CAN definitions
26 ************************************************************************************************/
27
29#define FRONT_CONTROLLER_CAN_RX \
30 { .port = GPIO_PORT_B, .pin = 8 }
31
33#define FRONT_CONTROLLER_CAN_TX \
34 { .port = GPIO_PORT_B, .pin = 9 }
35
36/************************************************************************************************
37 * Load switch definitions
38 ************************************************************************************************/
39
41#define FRONT_CONTROLLER_HEADLIGHT_LS_ENABLE \
42 { .port = GPIO_PORT_A, .pin = 1 }
43
45#define FRONT_CONTROLLER_LEFT_SIG_LS_ENABLE \
46 { .port = GPIO_PORT_A, .pin = 8 }
47
49#define FRONT_CONTROLLER_RIGHT_SIG_LS_ENABLE \
50 { .port = GPIO_PORT_A, .pin = 9 }
51
53#define FRONT_CONTROLLER_BRAKE_LIGHT_LS_ENABLE \
54 { .port = GPIO_PORT_A, .pin = 10 }
55
57#define FRONT_CONTROLLER_BPS_LIGHT_LS_ENABLE \
58 { .port = GPIO_PORT_A, .pin = 11 }
59
61#define FRONT_CONTROLLER_DRIVER_FAN_LS_ENABLE \
62 { .port = GPIO_PORT_A, .pin = 12 }
63
65#define FRONT_CONTROLLER_REV_CAM_LS_ENABLE \
66 { .port = GPIO_PORT_A, .pin = 15 }
67
69#define FRONT_CONTROLLER_TELEM_LS_ENABLE \
70 { .port = GPIO_PORT_B, .pin = 2 }
71
73#define FRONT_CONTROLLER_STEERING_LS_ENABLE \
74 { .port = GPIO_PORT_B, .pin = 3 }
75
77#define FRONT_CONTROLLER_HORN_LS_ENABLE \
78 { .port = GPIO_PORT_B, .pin = 4 }
79
81#define FRONT_CONTROLLER_SPARE_1_LS_ENABLE \
82 { .port = GPIO_PORT_B, .pin = 10 }
83
85#define FRONT_CONTROLLER_SPARE_2_LS_ENABLE \
86 { .port = GPIO_PORT_B, .pin = 11 }
87
88/************************************************************************************************
89 * Current sense mux definitions
90 ************************************************************************************************/
91
93#define FRONT_CONTROLLER_MUX_SEL_0 \
94 { .port = GPIO_PORT_B, .pin = 12 }
95
97#define FRONT_CONTROLLER_MUX_SEL_1 \
98 { .port = GPIO_PORT_B, .pin = 13 }
99
101#define FRONT_CONTROLLER_MUX_SEL_2 \
102 { .port = GPIO_PORT_B, .pin = 14 }
103
105#define FRONT_CONTROLLER_MUX_SEL_3 \
106 { .port = GPIO_PORT_B, .pin = 15 }
107
109#define FRONT_CONTROLLER_MUX_OUTPUT \
110 { .port = GPIO_PORT_A, .pin = 2 }
111
112/************************************************************************************************
113 * Pedal definitions
114 ************************************************************************************************/
115
117#define FRONT_CONTROLLER_ACCEL_PEDAL \
118 { .port = GPIO_PORT_A, .pin = 3 }
119
121#define FRONT_CONTROLLER_BRAKE_PEDAL \
122 { .port = GPIO_PORT_A, .pin = 5 }
123