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
23/************************************************************************************************
24 * File-scope definitions
25 ************************************************************************************************/
26
27#define FRONT_CONTROLLER_GPIO_DEF(PORT, PIN) \
28 { .port = GPIO_PORT_##PORT, .pin = PIN }
29
30/************************************************************************************************
31 * Front Controller CAN definitions
32 ************************************************************************************************/
33
35#define FRONT_CONTROLLER_CAN_RX FRONT_CONTROLLER_GPIO_DEF(B, 8)
36
38#define FRONT_CONTROLLER_CAN_TX FRONT_CONTROLLER_GPIO_DEF(B, 9)
39
40/************************************************************************************************
41 * Load switch definitions
42 ************************************************************************************************/
43
45#define FRONT_CONTROLLER_LEFT_SIG_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(B, 12)
46
48#define FRONT_CONTROLLER_RIGHT_SIG_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(B, 13)
49
51#define FRONT_CONTROLLER_BRAKE_LIGHT_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(A, 10)
52
54#define FRONT_CONTROLLER_BPS_LIGHT_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(A, 9)
55
57#define FRONT_CONTROLLER_DRIVER_FAN_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(B, 14)
58
60#define FRONT_CONTROLLER_REV_CAM_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(B, 15)
61
63#define FRONT_CONTROLLER_TELEM_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(A, 8)
64
66#define FRONT_CONTROLLER_STEERING_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(B, 11)
67
69#define FRONT_CONTROLLER_HORN_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(A, 11)
70
72#define FRONT_CONTROLLER_SPARE_1_LS_ENABLE FRONT_CONTROLLER_GPIO_DEF(A, 12)
73
74/************************************************************************************************
75 * Current sense mux definitions
76 ************************************************************************************************/
77
79#define FRONT_CONTROLLER_MUX_SEL_2 FRONT_CONTROLLER_GPIO_DEF(A, 6)
80
82#define FRONT_CONTROLLER_MUX_SEL_3 FRONT_CONTROLLER_GPIO_DEF(A, 7)
83
85#define FRONT_CONTROLLER_MUX_SEL_0 FRONT_CONTROLLER_GPIO_DEF(B, 1)
86
88#define FRONT_CONTROLLER_MUX_SEL_1 FRONT_CONTROLLER_GPIO_DEF(B, 2)
89
91#define FRONT_CONTROLLER_MUX_OUTPUT FRONT_CONTROLLER_GPIO_DEF(B, 0)
92
93/************************************************************************************************
94 * Pedal definitions
95 ************************************************************************************************/
96
98#define FRONT_CONTROLLER_ACCEL_PEDAL FRONT_CONTROLLER_GPIO_DEF(A, 3)
99
101#define FRONT_CONTROLLER_BRAKE_PEDAL FRONT_CONTROLLER_GPIO_DEF(A, 5)
102
103/************************************************************************************************
104 * Board LED definition
105 ************************************************************************************************/
106
108#define FRONT_CONTROLLER_BOARD_LED FRONT_CONTROLLER_GPIO_DEF(B, 10)
109