25 launchDetector_->update(accel);
27 if (launchDetector_->isLaunched()) {
32 Serial.println(
"To pa (launch detected)");
33 Serial.print(
"PA timestamp: ");
35 dataSaver_->saveDataPoint(
41 dataSaver_->launchDetected(launchDetector_->getLaunchedTime());
44 verticalVelocityEstimator_->update(accel, alt);
54 verticalVelocityEstimator_->update(accel, alt);
55 apogeeDetector_->update(verticalVelocityEstimator_);
56 Serial.println(verticalVelocityEstimator_->getInertialVerticalAcceleration());
57 if (verticalVelocityEstimator_->getInertialVerticalAcceleration() <= 0) {
61 Serial.println(
"To ca");
62 Serial.print(
"CA timestamp: ");
64 dataSaver_->saveDataPoint(
72 verticalVelocityEstimator_->update(accel, alt);
73 apogeeDetector_->update(verticalVelocityEstimator_);
74 if (apogeeDetector_->isApogeeDetected()) {
78 Serial.println(
"To descent");
79 Serial.print(
"Descent timestamp: ");
81 dataSaver_->saveDataPoint(
BurnoutStateMachine(IDataSaver *dataSaver, LaunchDetector *launchDetector, ApogeeDetector *apogeeDetector, VerticalVelocityEstimator *verticalVelocityEstimator)
Construct with logging and detector dependencies.