diff --git a/ampel-firmware/sensor_commands.cpp b/ampel-firmware/sensor_commands.cpp index 1790fbd2204b9f9c37ad757e6d64f7b4c3585b26..9108b91b40de365b380324f5a382399a16525bd0 100644 --- a/ampel-firmware/sensor_commands.cpp +++ b/ampel-firmware/sensor_commands.cpp @@ -59,10 +59,19 @@ namespace sensor_commands { return 0; } + void listAvailableCallbacks() { + Serial.println("DEBUG - Available commands :"); + for (uint8_t i = 0; i < callbacks_count; i++) { + Serial.print(" "); + Serial.println(callbacks[i].name); + } + } + void run(const char *command) { char function_name[MAX_COMMAND_SIZE]; long parameter; if (parseCommand(command, function_name, parameter)) { + listAvailableCallbacks(); return; } Serial.print("Command : '"); @@ -72,14 +81,15 @@ namespace sensor_commands { // Test all the callbacks. for (uint8_t i = 0; i < callbacks_count; i++) { - if (startsWith(function_name, callbacks[i].name)) { - Serial.print("OHHHH YES!!!"); + if (!strcmp(function_name, callbacks[i].name)) { + Serial.print("Function found!!!"); + Serial.print("Trying '"); + Serial.print(callbacks[i].name); + Serial.println("'"); + callbacks[i].function(callbacks[i].data); + return; } - Serial.print("Trying '"); - Serial.print(callbacks[i].name); - Serial.println("'"); - callbacks[i].function(callbacks[i].data); } - Serial.println("Done."); + listAvailableCallbacks(); } }