...
from the table, the key values are:
brake_threshold: currently unknown
throttle/regen_threshold: currently_unknown
MAX_REGEN: 1.0f
MAX_REGEN_IN_THROTTLE: currently unknown
MAX_CURRENT: 1.0f
drive_output_fsm
has a can rx handler that processes an event directly upon drive state message
acks the message upon transitioning
allows repeat state commands (i.e. being set to drive while in drive is fine)
has another rx handler that processes fault messages
goes to neutral
acks the message
states:
off
off → drive: drive event gets raised from a drive state message.
off → reverse: reverse event gets raised from drive state message.
drive
drive → off: must happen immediately, can happen using a method and calling
fsm_process_event
explicitly.drive → reverse: reverse event gets raised from drive state message. (filtered at center console)
drive → cruise: cruise control ON message gets received.
reverse
reverse → drive: trivial (filtered at center console)
cruise:
cruise → cruise:
increase/decrease target speed
cruise → drive:
cancellation: through brake/throttle press
...