avoid busy waiting

This commit is contained in:
2024-12-17 11:17:10 -04:00
parent 6ab5716797
commit 10597ba37d
3 changed files with 7 additions and 0 deletions

View File

@@ -592,6 +592,8 @@ void CKobuki::robotSafety() {
std::cout << "Safety condition triggered!" << std::endl; // Debug print std::cout << "Safety condition triggered!" << std::endl; // Debug print
forward(-100); // reverse the robot forward(-100); // reverse the robot
} }
std::this_thread::sleep_for(std::chrono::milliseconds(static_cast<int>(100)));
} }
} }

View File

@@ -2,6 +2,8 @@
#include <iostream> #include <iostream>
//moet checkenvalue gebruiken of moet kijken naar de payloadlength welke dingen er extra zijn //moet checkenvalue gebruiken of moet kijken naar de payloadlength welke dingen er extra zijn
int KobukiParser::parseKobukiMessage(TKobukiData &output, unsigned char *data) { int KobukiParser::parseKobukiMessage(TKobukiData &output, unsigned char *data) {
std::this_thread::sleep_for(std::chrono::milliseconds(static_cast<int>(20))); //avoid busy waiting. The kobuki sends a message every 20ms
int rtrnvalue = checkChecksum(data); int rtrnvalue = checkChecksum(data);
if (rtrnvalue != 0) { if (rtrnvalue != 0) {
// std::cerr << "Invalid checksum" << std::endl; // std::cerr << "Invalid checksum" << std::endl;

View File

@@ -37,6 +37,9 @@ int main()
while(true){ while(true){
parseMQTT(readMQTT()); parseMQTT(readMQTT());
std::this_thread::sleep_for(std::chrono::milliseconds(static_cast<int>(10)));
} }
sendMqtt.join(); sendMqtt.join();