Avionics
Core avionics package for CURE flight computers
Loading...
Searching...
No Matches
StateMachine.h
Go to the documentation of this file.
1
#ifndef FLIGHT_STATE_MACHINE_H
2
#define FLIGHT_STATE_MACHINE_H
3
4
#include "
data_handling/DataPoint.h
"
5
#include "
data_handling/DataSaver.h
"
6
#include "
state_estimation/ApogeeDetector.h
"
7
#include "
state_estimation/BaseStateMachine.h
"
8
#include "
state_estimation/FastLaunchDetector.h
"
9
#include "
state_estimation/LaunchDetector.h
"
10
#include "
state_estimation/States.h
"
11
#include "
state_estimation/VerticalVelocityEstimator.h
"
12
18
class
StateMachine
:
public
BaseStateMachine
{
19
public
:
29
StateMachine
(
IDataSaver
* dataSaver,
LaunchDetector
* launchDetector,
ApogeeDetector
* apogeeDetector,
30
VerticalVelocityEstimator
* verticalVelocityEstimator,
FastLaunchDetector
* fastLaunchDetector);
31
38
int
update
(
const
AccelerationTriplet
& accel,
const
DataPoint
& alt)
override
;
39
40
private
:
41
IDataSaver
* dataSaver_;
42
LaunchDetector
* launchDetector_;
43
ApogeeDetector
* apogeeDetector_;
44
VerticalVelocityEstimator
* verticalVelocityEstimator_;
45
FastLaunchDetector
* fastLaunchDetector_;
46
uint32_t fldLaunchTime_ms_ = 0;
47
};
48
49
50
#endif
ApogeeDetector.h
BaseStateMachine.h
DataPoint.h
DataSaver.h
FastLaunchDetector.h
LaunchDetector.h
States.h
VerticalVelocityEstimator.h
ApogeeDetector
Detects the apogee (peak altitude) of a rocket flight using estimated altitude and vertical velocity.
Definition
ApogeeDetector.h:33
BaseStateMachine::BaseStateMachine
BaseStateMachine(FlightState initialState=STATE_UNARMED)
Definition
BaseStateMachine.cpp:3
DataPoint
Timestamped float measurement container.
Definition
DataPoint.h:11
FastLaunchDetector
Definition
FastLaunchDetector.h:20
IDataSaver
Abstract interface for persisting timestamped data points.
Definition
DataSaver.h:13
LaunchDetector
Sliding-window launch detector based on acceleration magnitude.
Definition
LaunchDetector.h:52
StateMachine::StateMachine
StateMachine(IDataSaver *dataSaver, LaunchDetector *launchDetector, ApogeeDetector *apogeeDetector, VerticalVelocityEstimator *verticalVelocityEstimator, FastLaunchDetector *fastLaunchDetector)
Wire dependencies for the state machine.
Definition
StateMachine.cpp:8
StateMachine::update
int update(const AccelerationTriplet &accel, const DataPoint &alt) override
Process new sensor data and transition states if thresholds are met.
Definition
StateMachine.cpp:22
VerticalVelocityEstimator
1D Kalman filter fusing altimeter and accelerometer data.
Definition
VerticalVelocityEstimator.h:34
AccelerationTriplet
Definition
StateEstimationTypes.h:6
include
state_estimation
StateMachine.h
Generated by
1.16.1