Formula Student Electronics & Software
The code for the embedded software
|
The CheckupManager class handles various checkup operations. More...
#include <checkupManager.hpp>
Public Types | |
enum class | CheckupState { WAIT_FOR_ASMS , START_TOGGLING_WATCHDOG , WAIT_FOR_WATCHDOG , STOP_TOGGLING_WATCHDOG , CHECK_WATCHDOG , CLOSE_SDC , WAIT_FOR_AATS , WAIT_FOR_TS , TOGGLE_VALVE , CHECK_PRESSURE , CHECK_TIMESTAMPS } |
The CheckupState enum represents the different states of the initial checkup process. The checkup process is a sequence of checks that the vehicle must pass before it can transition to ready state. More... | |
enum class | CheckupError { WAITING_FOR_RESPONSE , ERROR , SUCCESS } |
Public Member Functions | |
Metro & | getInitialCheckupTimestamp () |
Provides access to the initial checkup timestamp timer. | |
CheckupManager (SystemData *systemData) | |
Constructor for the CheckupManager class. | |
void | resetCheckupState () |
Resets the checkup state to the initial state. | |
bool | shouldStayManualDriving () const |
Performs a manual driving checkup. | |
bool | shouldStayOff (DigitalSender *digitalSender) |
Performs an off checkup. | |
CheckupError | initialCheckupSequence (DigitalSender *digitalSender) |
Performs an initial checkup. | |
bool | shouldGoReadyFromOff () const |
Performs a last re-check for off to ready transition. | |
bool | shouldStayReady () const |
Performs a ready to drive checkup. | |
bool | shouldEnterEmergency (State current_state) const |
Performs an emergency checkup. | |
bool | shouldStayDriving () const |
bool | shouldStayMissionFinished () const |
Performs a mission finished checkup. | |
bool | emergencySequenceComplete () const |
Checks if the emergency sequence is complete and the vehicle can transition to AS_OFF. | |
bool | resTriggered () const |
Checks if the RES has been triggered. | |
Public Attributes | |
Metro | _ebsSoundTimestamp {EBS_BUZZER_TIMEOUT} |
Timer for the EBS buzzer sound check. | |
CheckupState | checkupState {CheckupState::WAIT_FOR_ASMS} |
Current state of the checkup process. | |
The CheckupManager class handles various checkup operations.
Definition at line 15 of file checkupManager.hpp.
|
strong |
This is for easier debugging in case initial checkup fails
Enumerator | |
---|---|
WAITING_FOR_RESPONSE | |
ERROR | |
SUCCESS |
Definition at line 54 of file checkupManager.hpp.
|
strong |
The CheckupState enum represents the different states of the initial checkup process. The checkup process is a sequence of checks that the vehicle must pass before it can transition to ready state.
Enumerator | |
---|---|
WAIT_FOR_ASMS | |
START_TOGGLING_WATCHDOG | |
WAIT_FOR_WATCHDOG | |
STOP_TOGGLING_WATCHDOG | |
CHECK_WATCHDOG | |
CLOSE_SDC | |
WAIT_FOR_AATS | |
WAIT_FOR_TS | |
TOGGLE_VALVE | |
CHECK_PRESSURE | |
CHECK_TIMESTAMPS |
Definition at line 37 of file checkupManager.hpp.
|
inlineexplicit |
Constructor for the CheckupManager class.
systemData | Pointer to the system data object. |
Definition at line 66 of file checkupManager.hpp.
|
inline |
Checks if the emergency sequence is complete and the vehicle can transition to AS_OFF.
Definition at line 355 of file checkupManager.hpp.
|
inline |
Provides access to the initial checkup timestamp timer.
Definition at line 27 of file checkupManager.hpp.
|
inline |
Performs an initial checkup.
Definition at line 149 of file checkupManager.hpp.
|
inline |
Resets the checkup state to the initial state.
Definition at line 126 of file checkupManager.hpp.
|
inline |
Checks if the RES has been triggered.
This function checks whether the RES has been triggered or not.
Definition at line 362 of file checkupManager.hpp.
|
inline |
Performs an emergency checkup.
Definition at line 266 of file checkupManager.hpp.
|
inline |
Performs a last re-check for off to ready transition.
Definition at line 250 of file checkupManager.hpp.
|
inline |
|
inline |
Performs a manual driving checkup.
Definition at line 131 of file checkupManager.hpp.
|
inline |
Performs a mission finished checkup.
Definition at line 348 of file checkupManager.hpp.
|
inline |
Performs an off checkup.
Definition at line 140 of file checkupManager.hpp.
|
inline |
Performs a ready to drive checkup.
Definition at line 258 of file checkupManager.hpp.
Metro CheckupManager::_ebsSoundTimestamp {EBS_BUZZER_TIMEOUT} |
Timer for the EBS buzzer sound check.
Definition at line 21 of file checkupManager.hpp.
CheckupState CheckupManager::checkupState {CheckupState::WAIT_FOR_ASMS} |
Current state of the checkup process.
Definition at line 60 of file checkupManager.hpp.