From e31a5a70b98c05dc75067eb91c2e39f58cf6c010 Mon Sep 17 00:00:00 2001 From: acki Date: Thu, 29 May 2025 06:45:07 -0400 Subject: [PATCH] read --- .../src/multiple_serial_listener.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/modelec_com/src/multiple_serial_listener.cpp b/src/modelec_com/src/multiple_serial_listener.cpp index 5b4340c..90fac80 100644 --- a/src/modelec_com/src/multiple_serial_listener.cpp +++ b/src/modelec_com/src/multiple_serial_listener.cpp @@ -4,6 +4,7 @@ #include #include #include +#include namespace Modelec { @@ -69,11 +70,19 @@ namespace Modelec { if (!ec && bytes_transferred > 0) { - auto msg = std_msgs::msg::String(); - msg.data = std::string(read_buffer_.begin(), read_buffer_.begin() + bytes_transferred); - if (publisher_) + std::string d = std::string(read_buffer_.begin(), read_buffer_.begin() + bytes_transferred); + auto allMess = Modelec::split(d, '\n'); + for (const auto& mess : allMess) { - publisher_->publish(msg); + if (!mess.empty()) + { + auto msg = std_msgs::msg::String(); + msg.data = mess; + if (publisher_) + { + publisher_->publish(msg); + } + } } start_async_read(); // continue reading