diff --git a/ampel-firmware/co2_sensor.cpp b/ampel-firmware/co2_sensor.cpp index 3aab2c491043d3f8a80b357d3460d3c31c9e250f..d22b6c7707bea048f15ba58a22b395c38c69c4fd 100644 --- a/ampel-firmware/co2_sensor.cpp +++ b/ampel-firmware/co2_sensor.cpp @@ -27,38 +27,6 @@ namespace sensor { uint32_t waiting_color = color::blue; bool should_calibrate = false; - void setCO2forDebugging(int32_t fakeCo2) { - Serial.print(F("DEBUG. Setting CO2 to ")); - co2 = fakeCo2; - Serial.println(co2); - } - - void setTimer(int32_t timestep) { - if (timestep >= 2 && timestep <= 1800) { - Serial.print(F("Setting Measurement Interval to : ")); - Serial.print(timestep); - Serial.println("s."); - sensor::scd30.setMeasurementInterval(timestep); - config::measurement_timestep = timestep; - led_effects::showKITTWheel(color::green, 1); - } - } - - void calibrateSensorToSpecificPPM(int32_t calibrationLevel) { - if (calibrationLevel >= 400 && calibrationLevel <= 2000) { - Serial.print(F("Force calibration, at ")); - config::co2_calibration_level = calibrationLevel; - Serial.print(config::co2_calibration_level); - Serial.println(" ppm."); - sensor::startCalibrationProcess(); - } - } - - void calibrateSensorRightNow(int32_t calibrationLevel) { - stable_measurements = config::enough_stable_measurements; - calibrateSensorToSpecificPPM(calibrationLevel); - } - void initialize() { #if defined(ESP8266) Wire.begin(12, 14); // ESP8266 - D6, D5; @@ -228,4 +196,39 @@ namespace sensor { displayCO2OnLedRing(); return freshData; } + + /***************************************************************** + * Callbacks for sensor commands * + *****************************************************************/ + void setCO2forDebugging(int32_t fakeCo2) { + Serial.print(F("DEBUG. Setting CO2 to ")); + co2 = fakeCo2; + Serial.println(co2); + } + + void setTimer(int32_t timestep) { + if (timestep >= 2 && timestep <= 1800) { + Serial.print(F("Setting Measurement Interval to : ")); + Serial.print(timestep); + Serial.println("s."); + sensor::scd30.setMeasurementInterval(timestep); + config::measurement_timestep = timestep; + led_effects::showKITTWheel(color::green, 1); + } + } + + void calibrateSensorToSpecificPPM(int32_t calibrationLevel) { + if (calibrationLevel >= 400 && calibrationLevel <= 2000) { + Serial.print(F("Force calibration, at ")); + config::co2_calibration_level = calibrationLevel; + Serial.print(config::co2_calibration_level); + Serial.println(" ppm."); + sensor::startCalibrationProcess(); + } + } + + void calibrateSensorRightNow(int32_t calibrationLevel) { + stable_measurements = config::enough_stable_measurements; + calibrateSensorToSpecificPPM(calibrationLevel); + } } diff --git a/ampel-firmware/co2_sensor.h b/ampel-firmware/co2_sensor.h index e7ebada1f2e23eaf1389e7856997d81072fe1473..343f55e277966eac2fafad65cc701aa470a624e0 100644 --- a/ampel-firmware/co2_sensor.h +++ b/ampel-firmware/co2_sensor.h @@ -27,5 +27,10 @@ namespace sensor { void initialize(); bool processData(); void startCalibrationProcess(); + + void setCO2forDebugging(int32_t fakeCo2); + void setTimer(int32_t timestep); + void calibrateSensorToSpecificPPM(int32_t calibrationLevel); + void calibrateSensorRightNow(int32_t calibrationLevel); } #endif diff --git a/ampel-firmware/csv_writer.cpp b/ampel-firmware/csv_writer.cpp index 178739eed50275b46ebe0739c4e286b9a0650030..3edbcbfd333d87b45e3f45b7c0e71af6500b638c 100644 --- a/ampel-firmware/csv_writer.cpp +++ b/ampel-firmware/csv_writer.cpp @@ -86,14 +86,6 @@ namespace csv_writer { return getTotalSpace() - getUsedSpace(); } - void setCSVinterval(int32_t csv_interval) { - config::csv_interval = csv_interval; - Serial.print(F("Setting CSV Interval to : ")); - Serial.print(config::csv_interval); - Serial.println("s."); - led_effects::showKITTWheel(color::green, 1); - } - void initialize() { Serial.print(F("Initializing FS...")); if (mountFS()) { @@ -172,4 +164,15 @@ namespace csv_writer { log(timeStamp, co2, temperature, humidity); } } + + /***************************************************************** + * Callbacks for sensor commands * + *****************************************************************/ + void setCSVinterval(int32_t csv_interval) { + config::csv_interval = csv_interval; + Serial.print(F("Setting CSV Interval to : ")); + Serial.print(config::csv_interval); + Serial.println("s."); + led_effects::showKITTWheel(color::green, 1); + } } diff --git a/ampel-firmware/csv_writer.h b/ampel-firmware/csv_writer.h index 4ed3888930034a7e3a1a13fd2df59a62df3c1919..aa39f0e12fa44a934c97fd662f9c177758b85552 100644 --- a/ampel-firmware/csv_writer.h +++ b/ampel-firmware/csv_writer.h @@ -25,6 +25,8 @@ namespace csv_writer { void logIfTimeHasCome(const String &timeStamp, const int16_t &co2, const float &temperature, const float &humidity); int getAvailableSpace(); extern const String filename; + + void setCSVinterval(int32_t csv_interval); } #endif diff --git a/ampel-firmware/mqtt.cpp b/ampel-firmware/mqtt.cpp index 5b95cc95663b01da39c18f1c7e82186b9280f8c9..9892f883fa114c573e043af15cae3cb2d48841a7 100644 --- a/ampel-firmware/mqtt.cpp +++ b/ampel-firmware/mqtt.cpp @@ -27,14 +27,6 @@ namespace mqtt { const char *json_sensor_format; String last_successful_publish = ""; - void setMQTTinterval(int32_t sending_interval) { - config::sending_interval = sending_interval; - Serial.print(F("Setting Sending Interval to : ")); - Serial.print(config::sending_interval); - Serial.println("s."); - led_effects::showKITTWheel(color::green, 1); - } - void initialize(String &topic) { json_sensor_format = PSTR("{\"time\":\"%s\", \"co2\":%d, \"temp\":%.1f, \"rh\":%.1f}"); publish_topic = topic; @@ -177,4 +169,14 @@ namespace mqtt { mqttClient.loop(); } + /***************************************************************** + * Callbacks for sensor commands * + *****************************************************************/ + void setMQTTinterval(int32_t sending_interval) { + config::sending_interval = sending_interval; + Serial.print(F("Setting Sending Interval to : ")); + Serial.print(config::sending_interval); + Serial.println("s."); + led_effects::showKITTWheel(color::green, 1); + } } diff --git a/ampel-firmware/mqtt.h b/ampel-firmware/mqtt.h index 76c8b9b9461f6eea8e71cc1a739fef5beb706aa6..4fbdd1dd9df5e2954d1066230d8ac3dcdd2cc048 100644 --- a/ampel-firmware/mqtt.h +++ b/ampel-firmware/mqtt.h @@ -20,5 +20,7 @@ namespace mqtt { void initialize(String &topic); void keepConnection(); void publishIfTimeHasCome(const String &timeStamp, const int16_t &co2, const float &temp, const float &hum); + + void setMQTTinterval(int32_t sending_interval); } #endif