diff --git a/ampel-firmware/csv_writer.cpp b/ampel-firmware/csv_writer.cpp index 35972cde0447c34b6ff32a14a4627b684730b3b5..412d9fd7854218028a6775fae5276324e0cd0dab 100644 --- a/ampel-firmware/csv_writer.cpp +++ b/ampel-firmware/csv_writer.cpp @@ -1,14 +1,11 @@ #include "csv_writer.h" #include "config.h" +#include "web_config.h" #include "ntp.h" #include "led_effects.h" #include "sensor_console.h" -namespace config { - // Values should be defined in config.h - uint16_t csv_interval = CSV_INTERVAL; // [s] -} namespace csv_writer { unsigned long last_written_at = 0; char last_successful_write[23]; @@ -166,7 +163,7 @@ namespace csv_writer { void logIfTimeHasCome(const char *timeStamp, const int16_t &co2, const float &temperature, const float &humidity) { unsigned long now = seconds(); - if (now - last_written_at > config::csv_interval) { + if (now - last_written_at > *config::csv_interval) { last_written_at = now; log(timeStamp, co2, temperature, humidity); } @@ -176,9 +173,9 @@ namespace csv_writer { * Callbacks for sensor commands * *****************************************************************/ void setCSVinterval(int32_t csv_interval) { - config::csv_interval = csv_interval; + *config::csv_interval = csv_interval; Serial.print(F("Setting CSV Interval to : ")); - Serial.print(config::csv_interval); + 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 dcee7130c27a23e66d20fb8b390889b0fd53468e..2afa4b628a956de177cea6467d526610cda9b72b 100644 --- a/ampel-firmware/csv_writer.h +++ b/ampel-firmware/csv_writer.h @@ -11,9 +11,6 @@ # error Board should be either ESP8266 or ESP832 #endif -namespace config { - extern uint16_t csv_interval; // [s] -} namespace csv_writer { extern char last_successful_write[]; void initialize(const char *sensorId); diff --git a/ampel-firmware/web_config.cpp b/ampel-firmware/web_config.cpp index b048bb26c53bec84c3ac724fda3b85fe409601d4..16583ce32ee8e95d0ebf68c1c8860e3d32c1b416 100644 --- a/ampel-firmware/web_config.cpp +++ b/ampel-firmware/web_config.cpp @@ -12,12 +12,6 @@ #include <IotWebConf.h> #include <IotWebConfOptionalGroup.h> -namespace config { - using namespace iotwebconf; - TextTParameter<STRING_LEN> stringParam = - Builder<TextTParameter<STRING_LEN>>("stringParam").label("String param").build(); -} - //TODO: Is there any conflict with SPIFFS/LittleFS? //TODO: Actually use those parameters //TODO: Check memory consumption. Disable DEBUG info? @@ -34,7 +28,7 @@ namespace web_config { IotWebConf *iotWebConf; - const char config_version[IOTWEBCONF_CONFIG_VERSION_LENGTH] = "a05"; // -- Configuration specific key. The value should be modified if config structure was changed. + const char config_version[IOTWEBCONF_CONFIG_VERSION_LENGTH] = "a06"; // -- Configuration specific key. The value should be modified if config structure was changed. using namespace iotwebconf; /** @@ -219,20 +213,11 @@ namespace web_config { sensor_console::defineCommand("reset_config", []() { Serial.println(F("Resetting config...")); - //TODO: Reset every group iotWebConf->getSystemParameterGroup()->applyDefaultValue(); iotWebConf->saveConfig(); Serial.println(F("Done!")); }, F("(resets the complete IotWeb config)")); - sensor_console::defineStringCommand("conf", [](char *new_value) { - Serial.print(F("Setting stringParam to ")); - Serial.println(new_value); - strncpy(config::stringParam.value(), new_value, STRING_LEN); - Serial.println(F("Done")); - iotWebConf->saveConfig(); - }, F("some_text (config setter)")); - #if !defined(AMPEL_WIFI) iotWebConf->loadConfig(); return; @@ -278,3 +263,7 @@ namespace web_config { }); } } + +namespace config { + uint16_t *csv_interval = &web_config::csvTimestepParam.value(); +} \ No newline at end of file diff --git a/ampel-firmware/web_config.h b/ampel-firmware/web_config.h index 047c4d25f90a03303956fcc76fc6ff1e61cf548f..22f1b1fdc52acfae7fc740e515f3ce222de787c2 100644 --- a/ampel-firmware/web_config.h +++ b/ampel-firmware/web_config.h @@ -12,7 +12,7 @@ #include <IotWebConfTParameter.h> namespace config { - extern iotwebconf::TextTParameter<STRING_LEN> stringParam; + extern uint16_t *csv_interval; // [s] } namespace web_config { diff --git a/ampel-firmware/web_server.cpp b/ampel-firmware/web_server.cpp index a50986b0f5a29c16ceab0017af8d6b1b70828659..695d2a72dd6bd106590627478053aaf1889c09e5 100644 --- a/ampel-firmware/web_server.cpp +++ b/ampel-firmware/web_server.cpp @@ -247,7 +247,7 @@ namespace web_server { snprintf_P(content, sizeof(content), body_template, ampel.sensorId, sensor::co2, sensor::temperature, sensor::humidity, sensor::timestamp, config::measurement_timestep, #ifdef AMPEL_CSV - csv_writer::last_successful_write, config::csv_interval, csv_writer::getAvailableSpace() / 1024, + csv_writer::last_successful_write, *config::csv_interval, csv_writer::getAvailableSpace() / 1024, #endif #ifdef AMPEL_MQTT mqtt::connected ? "Yes" : "No", mqtt::last_successful_publish, config::mqtt_sending_interval,