From 4b00c345b2a60e159b3468b431877548c6114562 Mon Sep 17 00:00:00 2001 From: ackimixs Date: Wed, 15 May 2024 11:17:44 +0200 Subject: [PATCH 1/2] add gc client --- TCPServer.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/TCPServer.cpp b/TCPServer.cpp index 2660bf9..f3f66a6 100644 --- a/TCPServer.cpp +++ b/TCPServer.cpp @@ -74,14 +74,11 @@ TCPServer::TCPServer(int port) clients.reserve(5); - clients.emplace_back("tirette"); - // clients.emplace_back("aruco"); clients.emplace_back("ihm"); clients.emplace_back("lidar"); clients.emplace_back("arduino"); clients.emplace_back("servo_moteur"); - // clients.emplace_back("point"); - + clients.emplace_back("gc"); } void TCPServer::acceptConnections() From cdb6a86850bf52de83ba7f7cafca6b34ef8f9cc3 Mon Sep 17 00:00:00 2001 From: ackimixs Date: Wed, 15 May 2024 11:51:09 +0200 Subject: [PATCH 2/2] all client ready --- TCPServer.cpp | 18 ++++++++++++++++++ TCPServer.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/TCPServer.cpp b/TCPServer.cpp index f3f66a6..68381c4 100644 --- a/TCPServer.cpp +++ b/TCPServer.cpp @@ -151,6 +151,7 @@ void TCPServer::handleMessage(const std::string& message, int clientSocket) break; } } + checkIfAllClientsReady(); } else if (tokens[0] == "gc") { if (tokens[2] == "axis") { @@ -341,6 +342,23 @@ void TCPServer::start() std::thread([this]() { acceptConnections(); }).detach(); } +void TCPServer::checkIfAllClientsReady() { + bool allReady = true; + for (auto&[name, socket, isReady] : clients) + { + if (!isReady) + { + // std::cout << name << " is not ready" << std::endl; + allReady = false; + } + } + + if (allReady) + { + this->broadcastMessage("strat;all;ready;1\n"); + } +} + void TCPServer::toggleBras() { brasBaisser = !brasBaisser; if (brasBaisser) { diff --git a/TCPServer.h b/TCPServer.h index cc0ea58..fe3a7ae 100644 --- a/TCPServer.h +++ b/TCPServer.h @@ -110,6 +110,8 @@ public: void handleEmergency(); + void checkIfAllClientsReady(); + void toggleBras(); void togglePince(int pince);