#include "line_laser_modbus/host.hpp" #include #include namespace { void print_frame(const line_laser_modbus::ByteVector& frame) { for (const std::uint8_t byte : frame) { std::cout << std::hex << std::uppercase << std::setw(2) << std::setfill('0') << static_cast(byte) << ' '; } std::cout << std::dec << '\n'; } } // 匿名命名空间 int main() { // 上位机示例:这里只构造协议帧。实际部署时,应通过串口/RS-485 驱动发送 // 返回的字节,并把收到的响应交给 HostClient 的解析方法。 const line_laser_modbus::HostClient host; const auto status_request = host.make_read_status_request(); std::cout << "Read mode/state request: "; print_frame(status_request); const line_laser_modbus::Pose6D correction{ 1000U, 1.0F, 2.0F, 3.0F, 0.0F, 1.0F, 2.0F}; const auto correction_request = host.make_write_correction_request(correction); std::cout << "Write correction request: "; print_frame(correction_request); return 0; }