38 lpStatus = launchDetector->update(accel);
40 if (launchDetector->isLaunched()) {
45 Serial.println(
"To pa (launch detected)");
46 Serial.print(
"PA timestamp: ");
48 dataSaver->saveDataPoint(
54 dataSaver->launchDetected(launchDetector->getLaunchedTime());
57 verticalVelocityEstimator->update(accel, alt);
67 verticalVelocityEstimator->update(accel, alt);
68 apogeeDetector->update(verticalVelocityEstimator);
69 Serial.println(verticalVelocityEstimator->getInertialVerticalAcceleration());
70 if (verticalVelocityEstimator->getInertialVerticalAcceleration() <= 0) {
75 Serial.print(
"CA timestamp: ");
77 dataSaver->saveDataPoint(
85 verticalVelocityEstimator->update(accel, alt);
86 apogeeDetector->update(verticalVelocityEstimator);
87 if (apogeeDetector->isApogeeDetected()) {
91 Serial.println(
"To descent");
92 Serial.print(
"Descent timestamp: ");
94 dataSaver->saveDataPoint(
BurnoutStateMachine(IDataSaver *dataSaver, LaunchDetector *launchDetector, ApogeeDetector *apogeeDetector, VerticalVelocityEstimator *verticalVelocityEstimator)
Construct with logging and detector dependencies.