[WIP] Controls Leader
Github link:
Clickup link: ClickUp
Description
This board handles dashboard inputs, robustly detects connection failures, and relays data to other boards.
Requirements
Hardware
2x CAN chips and in/out connector pairs
Controls CAN
Car CAN
Receive main power/ground (24V)
Buck for MCU/PSOMs
Receive isolated power/ground
for CAN
Dashboard IO:
Ignition switch
Gear switch
Cruise set
Cruise enable
Regen enable
Hazard lights
Sup switch (isolated)
Steering wheel IO:
Left turn indicator
Right turn indicator
Horn
Regen active
Software
Send on CarCAN:
ignition state [2 bits]
gear state [2 bits]
regen en [1 bit]
regen active [1 bit]
left indicator on [1 bit]
right indicator on [1 bit]
headlights on [1 bit]
brakelights on [1 bit]
cruise en [1 bit]
cruide set [32 bits]
error status bitmap [XX bits]
Read from CarCAN:
Pedals info from pedals board (for brakelights)
BPS fault (start hazards automatically)
Look for faults in button/switch states
Send commands on ControlsCAN whether we need to turn on lights or not
headlights on [1 bit]
brake light on [1 bit]
left turn indicator en [1 bit]
right turn indicator en [1 bit]
(for hazards just set left and right to both 1)
blink synchronization bit [1 bit]
(1 for light on, 0 for light off)
custom config 1 [1 bit]
custom config 2 [1 bit]
custom config 3 [1 bit]
Receive status messages from lighting boards on ControlsCAN and forward to CarCAN
Hardware Testing
MOSFET Button inputs ✅ - mosfet turns on and off when signal input (gate) is set to high
24v → 5v buck ✅
5v → 3.3v LDO ✅
LSOM Testing
RevB Modifications: