diff --git a/src/MindVisionMain.cpp b/src/MindVisionMain.cpp index 1250ebc..7ce0269 100644 --- a/src/MindVisionMain.cpp +++ b/src/MindVisionMain.cpp @@ -25,7 +25,7 @@ void output_control_data(const cv::Point2f* ballistic_point, bool use_ttl) { // Only send data when TTL is enabled, meets frame interval, and has valid target if (use_ttl && frame_counter % 5 == 0 && ballistic_point != nullptr) { - std::string send_str; + std::ostringstream send_str; // Calculate offset (based on actual image center) int ballistic_offset_x = static_cast(ballistic_point->x - img_center.x); @@ -37,11 +37,13 @@ void output_control_data(const cv::Point2f* ballistic_point, else if (target_color == "blue") simplified_color = "b"; // Construct send string - send_str = "s " + simplified_color + " " + std::to_string(ballistic_offset_x) + " " + std::to_string(ballistic_offset_y); + send_str << "s " << simplified_color << " " << std::to_string(ballistic_offset_x) << " " << std::to_string(ballistic_offset_y); // Send data if (ttl_communicator != nullptr) { - ttl_communicator->send_data(send_str); + ttl_communicator->send_data(send_str.str()); + }else{ + std::cerr << "Error: TTLCommunicator is a null pointer!" << std::endl; } } }