...
Buttons to change state
Drive, Reverse, and Neutral
Regen Braking button
Hazard Button
three 7-segment displays with the below quantities
Speedometer (speed in km/h)
When we BPS fault it will display the error code instead
Current Readings (Amps)
Aux Battery Voltage (Volts)
Indicator LEDs
One for each of the above buttons (D/N/R/Haz/Reg)
Left turn signal
Right Turn Signal
Cruise control enabled indicator
BPS Fault Light
AFE Loss of Communications
Buzzer to highlight events
Button Clicks
BPS fault
Pedal Position
Maps ADC reading from 0-1 for the Motor Controller
Stores pedal calibration data in flash non-volatile memory
Refer to FW15 Pedal Board Design for more documentation! This board has been merged to CC. It is almost the same, but it doesn’t use the MAX11600. It instead uses a pedal that we ripped off a car
Steering Stalk
Toggles Left/Right lights
Toggles Cruise Control
Refer to FW15 Steering Design for more documentation! This board was merged to CC so it hasn’t really changed
Expand | ||
---|---|---|
| ||
TX:
RX:
|
Centre Console Functionality
Module: cc_buttons
This module gets all button values. Buttons should be read in the fast cycle. They are connected to the pca9555 gpio expander, and must be read over i2c. This read function should send notifications to the requisite tasks.
...
Module: pedal
Module: steering
Drive FSM
The Drive FSM handles the control of drive state of the car. It receives the drive buttons (Neutral (N), Drive (D), Reverse(R)) and runs the preparations and checks needed to change the drive state of the car, and communicates this value with the motor controllers.
...
Expand | ||
---|---|---|
| ||
Power FSMThe power FSM governs the power state of the car. There are 4 main States:
For the main power states however, when we are transitioning there is a sequence of checks we run to make sure that the system is in a correct state to allow a transition. These steps typically involve sending a CAN message to another system, waiting for it to do its checks and balances and then receiving an acknowledgement (ACK) message. If these checks fail, we will transition back to the normal power state. The sequence model for these states is along the following lines:
The diagram is shown below, hexagons representing the sequence steps. The states themselves have no real functionality in their output functions. Power Aux Sequence*
*From Power Aux, if a fault condition is detected (ie invalid power select status message) we should return to off Power main sequence
Fault
|