#include "line_laser_modbus/device.hpp" #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() { // 下位机示例:使用内存寄存器表处理一个主站请求。固件在 UART 收齐一个 // 完整 RTU 帧后,可以调用 process_request() 生成响应。 line_laser_modbus::DeviceServer device; line_laser_modbus::HostClient host; device.bank().set_current_pose( line_laser_modbus::Pose6D{1234U, 10.0F, 20.0F, 30.0F, 1.0F, 2.0F, 3.0F}); const auto request = host.make_read_current_pose_request(); const auto response = device.process_request(request); std::cout << "Read current pose response: "; print_frame(response); return 0; }