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