Proposed Change
The main reason why centre console is being changed is because of the amount of power that the raspberry pi draws. The design from MSIXV and MSXII can essentially made a “hat” for a raspberry pi (seen below)
Removing the raspberry pi would save energy but would require a completely new design of the board. Additionally, we are removing the driver display so we will need to consider how we can keep the functionality of the centre console.
Some things that the centre console is responsible for:
Centre Console Components:
Inputs
push-to-start
e-stop
cabin BPS indicator
parking break
drive state selector
hazard lights
For regenerative braking
Centre console has a module which handles the “regen braking toggle request” CAN messages and manages the regen braking state. Upon receiving a toggle request, it toggles the internal state, sends a critical “regen braking” CAN message with the new state, and requests an ACK from MCI. If the ACK fails, it reverts to the old regen braking state and sends another “regen braking” CAN message to reset MCI/driver display to the old state. We do this in order to ensure consistency between MCI/centre console/driver display.
Also, the module should have a function to set the regen braking state manually. This function should update the internal state and send CAN messages with the behaviour described above. Call the function to enable regen braking when the power main sequence finishes so we have a consistent default across the system.
Changes required: add a regen_braking_toggle
module in centre console that behaves as described above. Use the existing REGEN_BRAKING
message as the “regen braking” CAN message, but change its message ID so it’s <13, so it’s considered critical and has ACKs enabled.
Brainstorming ideas