Files
2026-06-09 12:42:15 +08:00

35 lines
1.0 KiB
C++

#include "line_laser_modbus/host.hpp"
#include <iomanip>
#include <iostream>
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<int>(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;
}