From 6d71a41e34f23fa4a43e7501c1c6f1f95789858d Mon Sep 17 00:00:00 2001 From: Eric Duminil <eric.duminil@gmail.com> Date: Sat, 17 Apr 2021 12:20:54 +0200 Subject: [PATCH] Refactor --- ampel-firmware/co2_sensor.cpp | 2 +- ampel-firmware/csv_writer.cpp | 2 +- ampel-firmware/mqtt.cpp | 2 +- ampel-firmware/sensor_commands.cpp | 18 ++++++++---------- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/ampel-firmware/co2_sensor.cpp b/ampel-firmware/co2_sensor.cpp index 9c56805..3aab2c4 100644 --- a/ampel-firmware/co2_sensor.cpp +++ b/ampel-firmware/co2_sensor.cpp @@ -104,7 +104,7 @@ namespace sensor { Serial.println(config::auto_calibrate_sensor ? "ON." : "OFF."); sensor_commands::defineCallback("co2", setCO2forDebugging, " 1500 (Sets co2 level, for debugging purposes)"); - sensor_commands::defineCallback("timer", setTimer, " 30 (Sets measurement interval)"); + sensor_commands::defineCallback("timer", setTimer, " 30 (Sets measurement interval, in s)"); sensor_commands::defineCallback("calibrate", calibrateSensorToSpecificPPM, " 600 (Starts calibration process, to given ppm)"); sensor_commands::defineCallback("calibrate!", calibrateSensorRightNow, " 600 (Calibrates right now, to given ppm)"); diff --git a/ampel-firmware/csv_writer.cpp b/ampel-firmware/csv_writer.cpp index a6a67d3..178739e 100644 --- a/ampel-firmware/csv_writer.cpp +++ b/ampel-firmware/csv_writer.cpp @@ -125,7 +125,7 @@ namespace csv_writer { showFilesystemContent(); Serial.println(); - sensor_commands::defineCallback("csv", setCSVinterval, " 60 (Sets CSV writing interval)"); + sensor_commands::defineCallback("csv", setCSVinterval, " 60 (Sets CSV writing interval, in s)"); // sensor_commands::defineCallback("format_filesystem", FS_LIB.format); } diff --git a/ampel-firmware/mqtt.cpp b/ampel-firmware/mqtt.cpp index ed3855e..5b95cc9 100644 --- a/ampel-firmware/mqtt.cpp +++ b/ampel-firmware/mqtt.cpp @@ -44,7 +44,7 @@ namespace mqtt { // mqttClient.setSocketTimeout(config::mqtt_timeout); //NOTE: somehow doesn't seem to have any effect on connect() mqttClient.setServer(config::mqtt_server, config::mqtt_port); - sensor_commands::defineCallback("mqtt", setMQTTinterval, " 60 (Sets MQTT sending interval)"); + sensor_commands::defineCallback("mqtt", setMQTTinterval, " 60 (Sets MQTT sending interval, in s)"); } void publish(const String ×tamp, int16_t co2, float temperature, float humidity) { diff --git a/ampel-firmware/sensor_commands.cpp b/ampel-firmware/sensor_commands.cpp index 85bbee5..249f8bc 100644 --- a/ampel-firmware/sensor_commands.cpp +++ b/ampel-firmware/sensor_commands.cpp @@ -25,11 +25,7 @@ namespace sensor_commands { } } - bool startsWith(const char *a, const char *b) { - return !strncmp(a, b, strlen(b)); - } - - bool parseCommand(const char *command, char *function_name, int32_t ¶meter) { + uint8_t parseCommand(const char *command, char *function_name, int32_t ¶meter) { char split_command[MAX_COMMAND_SIZE]; strlcpy(split_command, command, MAX_COMMAND_SIZE); Serial.print(F("Received : '")); @@ -44,21 +40,22 @@ namespace sensor_commands { } strlcpy(function_name, part1, MAX_COMMAND_SIZE); arg = strtok(NULL, " "); + uint8_t code = 0; if (arg) { char *end; parameter = strtol(arg, &end, 10); if (*end) { // Second argument isn't a number - parameter = -9999; + code = 2; } } else { - parameter = -9999; + // No parameter + code = 2; } - return 0; + return code; } void listAvailableCallbacks() { - Serial.println(F("Message not supported. Available commands :")); for (uint8_t i = 0; i < callbacks_count; i++) { Serial.print(" "); Serial.print(callbacks[i].name); @@ -70,7 +67,7 @@ namespace sensor_commands { void run(const char *command) { char function_name[MAX_COMMAND_SIZE]; - int32_t parameter; + int32_t parameter = 0; parseCommand(command, function_name, parameter); for (uint8_t i = 0; i < callbacks_count; i++) { @@ -84,6 +81,7 @@ namespace sensor_commands { return; } } + Serial.println(F("Message not supported. Available commands :")); listAvailableCallbacks(); } } -- GitLab