From 755f857854d89eae7b736b30a2c3930df27b84f6 Mon Sep 17 00:00:00 2001
From: Eric Duminil <eric.duminil@gmail.com>
Date: Fri, 16 Apr 2021 22:19:20 +0200
Subject: [PATCH] Looking for corresponding code

---
 ampel-firmware/sensor_commands.cpp | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/ampel-firmware/sensor_commands.cpp b/ampel-firmware/sensor_commands.cpp
index 1790fbd..9108b91 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();
   }
 }
-- 
GitLab