Avionics
Core avionics package for CURE flight computers
Loading...
Searching...
No Matches
BurnoutStateMachine.h
Go to the documentation of this file.
1#ifndef BASM_STATE_MACHINE_H
2#define BASM_STATE_MACHINE_H
3
6
12
19 public:
28 BurnoutStateMachine(IDataSaver* dataSaver, LaunchDetector* launchDetector, ApogeeDetector* apogeeDetector,
29 VerticalVelocityEstimator* verticalVelocityEstimator);
30
38 int update(const AccelerationTriplet& accel, const DataPoint& alt) override;
39
44 uint8_t getState() const override;
45
46 private:
47 uint8_t state;
48 IDataSaver* dataSaver;
49 LaunchDetector* launchDetector;
50 ApogeeDetector* apogeeDetector;
51 VerticalVelocityEstimator* verticalVelocityEstimator;
52};
53
54
55#endif
Detects the apogee (peak altitude) of a rocket flight using estimated altitude and vertical velocity.
Abstract interface for flight state machines driven by IMU/altimeter data.
int update(const AccelerationTriplet &accel, const DataPoint &alt) override
Update machine with new sensor inputs and transition on burnout cues.
BurnoutStateMachine(IDataSaver *dataSaver, LaunchDetector *launchDetector, ApogeeDetector *apogeeDetector, VerticalVelocityEstimator *verticalVelocityEstimator)
Construct with logging and detector dependencies.
uint8_t getState() const override
Current state identifier.
Timestamped float measurement container.
Definition DataPoint.h:11
Abstract interface for persisting timestamped data points.
Definition DataSaver.h:13
Sliding-window launch detector based on acceleration magnitude.
1D Kalman filter fusing altimeter and accelerometer data.