From e5881f1b371d609029c71c507842b41aee0391dd Mon Sep 17 00:00:00 2001 From: "ishak jmilou.ishak" Date: Wed, 18 Dec 2024 11:56:43 +0100 Subject: [PATCH] making message print only once --- src/C++/Driver/src/main.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/C++/Driver/src/main.cpp b/src/C++/Driver/src/main.cpp index 2a00a55..3d7e147 100644 --- a/src/C++/Driver/src/main.cpp +++ b/src/C++/Driver/src/main.cpp @@ -36,9 +36,10 @@ int main() std::thread sendMqtt([&]() { sendKobukiData(robot.parser.data); }); while(true){ - parseMQTT(readMQTT()); - std::this_thread::sleep_for(std::chrono::milliseconds(static_cast(10))); - + std::string message = readMQTT(); + if (!message.empty()){ + parseMQTT(message); + } } @@ -49,10 +50,13 @@ int main() std::string readMQTT() { - message = client.getLastMessage(); - if (!message.empty()) + static std::string lastMessage; + + std::string message = client.getLastMessage(); + if (!message.empty() && message != lastMessage) { std::cout << "MQTT Message: " << message << std::endl; + lastMessage = message; } // Add a small delay to avoid busy-waiting