diff --git a/ampel-firmware/co2_sensor.cpp b/ampel-firmware/co2_sensor.cpp index 05a391e7d97816626773489c8617a07fd131b793..7e0d4d62db91ae8828546989f2e8e156c9e40aa2 100644 --- a/ampel-firmware/co2_sensor.cpp +++ b/ampel-firmware/co2_sensor.cpp @@ -68,8 +68,7 @@ namespace sensor { state current_state = BOOTUP; void switchState(state); void setCO2forDebugging(int32_t fakeCo2); - void calibrateSensorToSpecificPPM(int32_t calibrationLevel); - void calibrateSensorRightNow(int32_t calibrationLevel); + void calibrateSensorRightNow(); void setAutoCalibration(int32_t autoCalibration); void setTimer(int32_t timestep); @@ -107,11 +106,8 @@ namespace sensor { sensor_console::defineIntCommand("co2", setCO2forDebugging, F("1500 (Sets co2 level, for debugging)")); sensor_console::defineIntCommand("timer", setTimer, F("30 (Sets measurement interval, in s)")); - sensor_console::defineCommand("calibrate", startCalibrationProcess, F("(Starts calibration process)")); - sensor_console::defineIntCommand("calibrate", calibrateSensorToSpecificPPM, - F("600 (Starts calibration process, to given ppm)")); - sensor_console::defineIntCommand("calibrate!", calibrateSensorRightNow, - F("600 (Calibrates right now, to given ppm)")); + sensor_console::defineCommand("calibrate", startCalibrationProcess, F("(Starts calibration process, to 400ppm)")); + sensor_console::defineCommand("calibrate!", calibrateSensorRightNow, F("600 (Calibrates right now, to given ppm)")); sensor_console::defineIntCommand("auto_calibrate", setAutoCalibration, F("0/1 (Disables/enables autocalibration)")); } @@ -158,8 +154,9 @@ namespace sensor { void calibrate() { Serial.print(F("Calibrating S8 now...")); - //FIXME: Apparently, only to 400ppm, though. + //TODO: Apply ppm offset, e.g. +25ppm for 425ppm? Serial.println(F("WARNING! FORCING CALIBRATION TO 400ppm, regardless of configuration.")); + config::co2_calibration_level = 400; //NOTE: Seems to be hard-coded in S8 sensor_S8->manual_calibration(); Serial.println(F(" Done!")); Serial.println(F("Sensor calibrated.")); @@ -318,17 +315,8 @@ namespace sensor { } } - void calibrateSensorToSpecificPPM(int32_t calibrationLevel) { - Serial.println(F("TODO: Implement ME!")); - } - - void calibrateSensorRightNow(int32_t calibrationLevel) { - if (calibrationLevel >= 400 && calibrationLevel <= 2000) { - Serial.print(F("Force calibration, right now, at ")); - config::co2_calibration_level = calibrationLevel; - Serial.print(config::co2_calibration_level); - Serial.println(F(" ppm.")); - calibrate(); - } + void calibrateSensorRightNow() { + Serial.println(F("Force calibration, right now!")); + calibrate(); } } diff --git a/ampel-firmware/web_config.cpp b/ampel-firmware/web_config.cpp index e201438e0ae49686c715c8fa49a1cdef2b815a15..82b352e4e89b310cec40488b189a0120a2bab8ca 100644 --- a/ampel-firmware/web_config.cpp +++ b/ampel-firmware/web_config.cpp @@ -199,8 +199,9 @@ namespace web_config { co2Params.addItem(&temperatureOffsetParam); temperatureOffsetParam.visible = false; // Not needed for S8 co2Params.addItem(&altitudeParam); - altitudeParam.visible = false; // Not needed either + altitudeParam.visible = false; // Not needed either for S8 co2Params.addItem(&atmosphericCO2Param); + atmosphericCO2Param.visible = false; // Hard coded 400ppm for S8 :-/ co2Params.addItem(&autoCalibrateParam); ledParams.addItem(&minBrightnessParam);