From 634af2434c2746ef59fc82fa88a7c71a3858920d Mon Sep 17 00:00:00 2001 From: Eric Duminil <eric.duminil@gmail.com> Date: Sat, 17 Apr 2021 14:01:51 +0200 Subject: [PATCH] Refactor. Fewer dependencies for MQTT --- ampel-firmware/csv_writer.cpp | 7 ++++++- ampel-firmware/csv_writer.h | 1 + ampel-firmware/mqtt.cpp | 7 +------ ampel-firmware/mqtt.h | 4 ---- ampel-firmware/sensor_commands.cpp | 4 ++++ ampel-firmware/sensor_commands.h | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/ampel-firmware/csv_writer.cpp b/ampel-firmware/csv_writer.cpp index 1ae9431..2a673a8 100644 --- a/ampel-firmware/csv_writer.cpp +++ b/ampel-firmware/csv_writer.cpp @@ -118,7 +118,7 @@ namespace csv_writer { Serial.println(); sensor_commands::defineIntCallback("csv", setCSVinterval, " 60 (Sets CSV writing interval, in s)"); - // sensor_commands::defineCallback("format_filesystem", FS_LIB.format); + sensor_commands::defineCallback("format_filesystem", formatFilesystem, "(Deletes the whole filesystem.)"); } File openOrCreate() { @@ -175,4 +175,9 @@ namespace csv_writer { Serial.println("s."); led_effects::showKITTWheel(color::green, 1); } + + void formatFilesystem() { + FS_LIB.format(); + led_effects::showKITTWheel(color::blue, 2); + } } diff --git a/ampel-firmware/csv_writer.h b/ampel-firmware/csv_writer.h index aa39f0e..0b15970 100644 --- a/ampel-firmware/csv_writer.h +++ b/ampel-firmware/csv_writer.h @@ -27,6 +27,7 @@ namespace csv_writer { extern const String filename; void setCSVinterval(int32_t csv_interval); + void formatFilesystem(); } #endif diff --git a/ampel-firmware/mqtt.cpp b/ampel-firmware/mqtt.cpp index f723ddf..053b777 100644 --- a/ampel-firmware/mqtt.cpp +++ b/ampel-firmware/mqtt.cpp @@ -99,12 +99,7 @@ namespace mqtt { if (messageString == "publish") { Serial.println(F("Forcing MQTT publish now.")); - publish(sensor::timestamp, sensor::co2, sensor::temperature, sensor::humidity); -#ifdef AMPEL_CSV - } else if (messageString == "format_filesystem") { - FS_LIB.format(); - led_effects::showKITTWheel(color::blue, 2); -#endif + last_sent_at = 0; } else if (messageString == "night_mode") { led_effects::toggleNightMode(); } else if (messageString == "local_ip") { diff --git a/ampel-firmware/mqtt.h b/ampel-firmware/mqtt.h index 4fbdd1d..26b5805 100644 --- a/ampel-firmware/mqtt.h +++ b/ampel-firmware/mqtt.h @@ -5,10 +5,6 @@ #include "config.h" #include "led_effects.h" #include "sensor_commands.h" -#ifdef AMPEL_CSV -# include "csv_writer.h" -#endif -#include "co2_sensor.h" #include "src/lib/PubSubClient/src/PubSubClient.h" #include "wifi_util.h" namespace config { diff --git a/ampel-firmware/sensor_commands.cpp b/ampel-firmware/sensor_commands.cpp index 0415a2a..c6bd77c 100644 --- a/ampel-firmware/sensor_commands.cpp +++ b/ampel-firmware/sensor_commands.cpp @@ -16,6 +16,10 @@ namespace sensor_commands { Callback callbacks[MAX_CALLBACKS]; + void defineCallback(const char *name, void (*function)(void), const char *doc) { + + } + void defineIntCallback(const char *name, void (*function)(int32_t), const char *doc) { if (callbacks_count < MAX_CALLBACKS) { callbacks[callbacks_count] = Callback(name, function, doc); diff --git a/ampel-firmware/sensor_commands.h b/ampel-firmware/sensor_commands.h index 525e671..63c1e44 100644 --- a/ampel-firmware/sensor_commands.h +++ b/ampel-firmware/sensor_commands.h @@ -8,6 +8,6 @@ namespace sensor_commands { void run(const char *command); - //TODO: Add defineIntCallback? void defineIntCallback(const char *command, void (*function)(int32_t), const char *doc); + void defineCallback(const char *command, void (*function)(void), const char *doc); } -- GitLab