|
Avionics
Core avionics package for CURE flight computers
|
Nominal flight state machine using launch/apogee detection and VVE. More...
#include <StateMachine.h>


Public Member Functions | |
| StateMachine (IDataSaver *dataSaver, LaunchDetector *launchDetector, ApogeeDetector *apogeeDetector, VerticalVelocityEstimator *verticalVelocityEstimator, FastLaunchDetector *fastLaunchDetector) | |
| Wire dependencies for the state machine. | |
| int | update (const AccelerationTriplet &accel, const DataPoint &alt) override |
| Process new sensor data and transition states if thresholds are met. | |
| Public Member Functions inherited from BaseStateMachine | |
| BaseStateMachine (FlightState initialState=STATE_UNARMED) | |
| virtual | ~BaseStateMachine ()=default |
| virtual uint8_t | getState () const |
| Current discrete state identifier. | |
| bool | registerOnStateEntry (FlightState targetState, StateEntryCallback functionPtr) |
| Register a callback to invoke each time a target state is entered. | |
Additional Inherited Members | |
| Public Types inherited from BaseStateMachine | |
| using | StateEntryCallback = void (*)() |
| Static Public Member Functions inherited from BaseStateMachine | |
| static constexpr std::size_t | getMaxStateEntryCallbacks () |
| Static Public Attributes inherited from BaseStateMachine | |
| static constexpr std::size_t | kMaxStateEntryCallbacks = 32 |
| Protected Member Functions inherited from BaseStateMachine | |
| bool | changeState (FlightState newState) |
| Transition to a new state and trigger registered on-entry callbacks. | |
| FlightState | getFlightState () const |
| Current state as FlightState enum. | |
Nominal flight state machine using launch/apogee detection and VVE.
Definition at line 18 of file StateMachine.h.
| StateMachine::StateMachine | ( | IDataSaver * | dataSaver, |
| LaunchDetector * | launchDetector, | ||
| ApogeeDetector * | apogeeDetector, | ||
| VerticalVelocityEstimator * | verticalVelocityEstimator, | ||
| FastLaunchDetector * | fastLaunchDetector ) |
Wire dependencies for the state machine.
| dataSaver | Logger used to persist state changes. |
| launchDetector | Launch detector instance. |
| apogeeDetector | Apogee detector instance. |
| verticalVelocityEstimator | Vertical velocity estimator instance. |
Definition at line 8 of file StateMachine.cpp.
|
overridevirtual |
Process new sensor data and transition states if thresholds are met.
| accel | Latest acceleration measurements. |
| alt | Latest altitude sample. |
Implements BaseStateMachine.
Definition at line 22 of file StateMachine.cpp.