diff --git a/ampel-firmware/co2_sensor.cpp b/ampel-firmware/co2_sensor.cpp index e2eb1a2e382d54767615094d0255b8296259cb7d..261e5a341f85395701d76f24c31d2f334ee32f58 100644 --- a/ampel-firmware/co2_sensor.cpp +++ b/ampel-firmware/co2_sensor.cpp @@ -158,12 +158,14 @@ namespace sensor { switchState(PREPARE_CALIBRATION_UNSTABLE); } - void calibrateAndRestart() { + void calibrate() { Serial.print(F("Calibrating SCD30 now...")); scd30.setAltitudeCompensation(config::altitude_above_sea_level); scd30.setForcedRecalibrationFactor(config::co2_calibration_level); Serial.println(F(" Done!")); Serial.println(F("Sensor calibrated.")); + //WARNING: Do not reset the ampel or the SCD30! + //At least one measurement needs to happen in order for the calibration to be correctly applied. } void logToSerial() { @@ -209,7 +211,7 @@ namespace sensor { // leave them before calibration is done. bool ready_for_calibration = countStableMeasurements(); if (ready_for_calibration) { - calibrateAndRestart(); + calibrate(); } } else if (co2 < 250) { // Sensor should be calibrated. @@ -325,7 +327,7 @@ namespace sensor { config::co2_calibration_level = calibrationLevel; Serial.print(config::co2_calibration_level); Serial.println(F(" ppm.")); - calibrateAndRestart(); + calibrate(); } }