From 7449f713fabc9cbf8554c37c1e0e317e9d2f6526 Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Mon, 4 Nov 2024 11:55:20 +0100 Subject: [PATCH 1/4] added breaks --- src/C++/Driver/src/main.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/C++/Driver/src/main.cpp b/src/C++/Driver/src/main.cpp index d626ebe..9e019b3 100644 --- a/src/C++/Driver/src/main.cpp +++ b/src/C++/Driver/src/main.cpp @@ -48,15 +48,19 @@ std::string readMQTT() void parseMQTT(std::string message){ if(message == "up"){ robot.forward(600); + break; } else if(message == "left"){ robot.Rotate(90); + break; } else if(message == "down"){ robot.Rotate(-90); + break; } else{ std::cout << "Invalid command" << std::endl; + break; } } From cf59adae8bb3e2ca29a23afea6ab741a623b6f05 Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Mon, 4 Nov 2024 11:56:57 +0100 Subject: [PATCH 2/4] attempt to fix --- src/C++/Driver/src/main.cpp | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/C++/Driver/src/main.cpp b/src/C++/Driver/src/main.cpp index 9e019b3..d589236 100644 --- a/src/C++/Driver/src/main.cpp +++ b/src/C++/Driver/src/main.cpp @@ -23,7 +23,6 @@ void setup(){ int main(){ setup(); - client.run(); while(true){ parseMQTT(readMQTT()); cout << readMQTT() << endl; //debugging @@ -48,19 +47,15 @@ std::string readMQTT() void parseMQTT(std::string message){ if(message == "up"){ robot.forward(600); - break; } else if(message == "left"){ robot.Rotate(90); - break; } else if(message == "down"){ robot.Rotate(-90); - break; } else{ std::cout << "Invalid command" << std::endl; - break; } } From ff599e127d651cca136d44426932eb0d07b032cc Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Mon, 4 Nov 2024 11:58:06 +0100 Subject: [PATCH 3/4] remove debug prints --- src/C++/Driver/src/main.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/C++/Driver/src/main.cpp b/src/C++/Driver/src/main.cpp index d589236..1e48f84 100644 --- a/src/C++/Driver/src/main.cpp +++ b/src/C++/Driver/src/main.cpp @@ -25,7 +25,6 @@ int main(){ setup(); while(true){ parseMQTT(readMQTT()); - cout << readMQTT() << endl; //debugging } return 0; } @@ -36,9 +35,7 @@ std::string readMQTT() if (!message.empty()) { std::cout << "MQTT Message: " << message << std::endl; } - else { - std::cout << "No message received" << std::endl; - } + // Add a small delay to avoid busy-waiting std::this_thread::sleep_for(std::chrono::milliseconds(100)); return message; From d09352861f5ab3a40bbf64dc81189111085a0bff Mon Sep 17 00:00:00 2001 From: Sam Hos Date: Mon, 4 Nov 2024 12:13:52 +0100 Subject: [PATCH 4/4] reset message after input --- src/C++/Driver/src/main.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/C++/Driver/src/main.cpp b/src/C++/Driver/src/main.cpp index 1e48f84..0781422 100644 --- a/src/C++/Driver/src/main.cpp +++ b/src/C++/Driver/src/main.cpp @@ -44,12 +44,19 @@ std::string readMQTT() void parseMQTT(std::string message){ if(message == "up"){ robot.forward(600); + message = 0; } else if(message == "left"){ robot.Rotate(90); + message = 0; + } else if(message == "down"){ robot.Rotate(-90); + message = 0; + } + else if(message = 0){ + robot.sendNullMessage(); } else{ std::cout << "Invalid command" << std::endl;