...
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
|