
上海星秒光电科技有限公司
- 1 -


- 2 -
目 录
1 概述............................................................................................................................................................... 6
1.1 系统要求........................................................................................................................................... 6
1.2 Pavo2 体系结构................................................................................................................................6
2 核心数据结构............................................................................................................................................... 8
3 接口说明..................................................................................................................................................... 10
3.1 pavo2_driver.................................................................................................................................11
3.2 set_local_address.......................................................................................................................11
3.3 set_conn_protocol.......................................................................................................................11
3.4 pavo2_open..................................................................................................................................... 12
3.5 pavo2_is_open...............................................................................................................................12
3.6 pavo2_close...................................................................................................................................12
3.7 get_scans_available...................................................................................................................13
3.8 get_ptp_deviations_available.................................................................................................13
3.9 get_scanned_data.........................................................................................................................13
3.10 recv_point_cloud.......................................................................................................................15
3.11 recv_ptp_deviation_data.........................................................................................................15
3.12 get_device_sn.............................................................................................................................15
3.13 get_device_pn.............................................................................................................................16
3.14 get_sdk_ver.................................................................................................................................16
3.15 get_os_ver...................................................................................................................................16
3.16 get_firmware_ver.......................................................................................................................16
3.17 get_os_error...............................................................................................................................17
3.18 get_error_code...........................................................................................................................17
3.19 enable_data.................................................................................................................................17
3.20 set_intensity_mode...................................................................................................................18
3.21 get_intensity_mode...................................................................................................................18
3.22 set_angle_range.........................................................................................................................18
3.23 get_angle_range.........................................................................................................................18
3.24 get_max_angle_range.................................................................................................................19
3.25 set_motor_speed.........................................................................................................................19
3.26 get_motor_speed.........................................................................................................................19
3.27 get_motor_speed_enable...........................................................................................................20
3.28 set_angle_resolution...............................................................................................................20
3.29 get_angle_resolution...............................................................................................................20
3.30 get_angle_resolution_enable.................................................................................................20
3.31 set_device_ip.............................................................................................................................21
3.32 get_device_ip.............................................................................................................................21
3.33 set_tcp_port...............................................................................................................................21
3.34 get_tcp_port...............................................................................................................................21
3.35 set_device_mask.........................................................................................................................22
3.36 get_device_mask.........................................................................................................................22
3.37 set_device_gateway...................................................................................................................22

- 3 -
3.38 get_device_gateway...................................................................................................................22
3.39 get_device_mac...........................................................................................................................23
3.40 set_os_restart...........................................................................................................................23
3.41 set_echo_mode.............................................................................................................................23
3.42 get_echo_mode.............................................................................................................................23
3.43 set_outdoor_mode.......................................................................................................................24
3.44 get_outdoor_mode.......................................................................................................................24
3.45 set_calibrate_horizontal_angle...........................................................................................24
3.46 get_calibrate_horizontal_angle...........................................................................................25
3.47 get_max_angle_distance...........................................................................................................25
3.48 enable_tail_filter...................................................................................................................25
3.49 enable_front_filter.................................................................................................................25
3.50 enable_far_hr_filter...............................................................................................................26
3.51 enable_near_hr...........................................................................................................................26
3.52 is_near_hr_enabled...................................................................................................................26
3.53 is_near_hr_supported...............................................................................................................26
3.54 set_warn_angle_range...............................................................................................................27
3.55 get_warn_angle_range...............................................................................................................27
3.56 set_warn_intensity_distance.................................................................................................27
3.57 get_warn_intensity_distance.................................................................................................28
3.58 set_warn_point_number.............................................................................................................28
3.59 get_warn_point_number.............................................................................................................28
3.60 enable_ptp...................................................................................................................................28
3.61 is_ptp_enabled...........................................................................................................................29
3.62 is_ptp_supported.......................................................................................................................29
3.63 get_temperature.........................................................................................................................29
3.64 get_heartbeat.............................................................................................................................30

- 4 -
修订历史

- 6 -
1 概述
本文档描述了 SIMINICS Pavo2 SDK 的功能与使用方法，与 Pavo2 Lidar 同时发布。
本 SDK 不能用于对其他设备或系统的控制，请勿移作他用。
1.1 系统要求
本 SDK 为源码发布，请用户自行集成到目标系统。
SDK 使用了同时支持 Windows 和 Linux 操作系统。
SDK 使用了多线程和 Socket 技术，编译时请确保操作系统支持多线程和 Socket 库。
SDK 由 C++编写，遵循 C++11 标准，请确保编译器支持 C++11 标准。
1.2 Pavo2 体系结构

- 7 -
图 1：Pavo2 系统基本结构
Pavo2 数据采集系统从软件角度包括以下几个部分：
1. Pavo2 Lidar：采集环境数据。
2. Ethernet： Pavo2 Lidar 通过 Ethernet 与上位机连接。Pavo2 Lidar 采集到的数据经由 TCP/UDP
数据包发送到上位机。
3. SDK：上位机程序可以通过 SDK 提供的接口接收 Pavo2 Lidar 采集到的数据或对 Pavo2 Lidar 进
行控制：
1) 获取设备数据线程：读取设备数据，保证数据传输速度。
SDK 通过 TCP/UDP 与雷达进行连接，并启动一专门线程接收雷达数据。
2) 数据缓存：接收到的数据先缓存在内存中。
用户通过 SDK 接口类获得的数据都是最新一帧的数据，该帧以前的数据如未及时读取，
会被丢弃。
视 Pavo2 型号不同，雷达与上位机的数据通信有两种方式
1. 只提供 TCP 连接。
2. 同时支持 TCP 和 UDP 连接，用户可以选择 TCP 或 UDP 连接方式。
具体型号支持何种协议，请咨询销售人员。

- 8 -
2 核心数据结构
enum class PAVO2_PROTO_TYPE : int
{
DEFUALT = 0, TCP = 1, UDP = 2
};typedef struct pavo_response_scan
{
uint16_t angle; uint16_t distance; uint8_t intensity; } __DATA_ALIGN__ pavo_response_scan_t; typedef struct pavo_response_pcd
{
double x; double y; double z; //fixed as 0 for single-laser device uint8_t intensity; } __DATA_ALIGN__ pavo_response_pcd_t; typedef struct pavo_packet_info_pcd
{
vector<pavo_response_pcd_t> vec_buff; uint32_t time_stamp; uint32_t time_delay; } __DATA_ALIGN__ pavo_packet_info_pcd_t; typedef struct pavo_packet_info_scan
{
vector<pavo_response_scan_t> vec_buff; uint32_t time_stamp; uint32_t time_delay; } __DATA_ALIGN__ pavo_packet_info_scan_t; typedef struct pavo_point_cloud_scan
{
uint32_t packet_id; bool ptp_en; uint16_t process_delay; uint16_t angle_resolution; uint16_t start_angle; uint16_t end_angle; vector<pavo_response_scan_t> data; uint64_t time_stamp; } pavo_point_cloud_scan_t; typedef struct pavo_ptp_deviation
{
int64_t last_sync_time;
int64_t time_offset; }pavo_ptp_deviation_t; PAVO2
_PROTO
_TYPE：选择 pavo2
_driver 连接 Pavo2 Lidar 所使用的协议。
pavo
_response
_scan
_t：角度和距离坐标。
angle：单位为 0.01 度。
distance：单位为 0.002 米。
intensity：值在 0~4500 之间，为一相对值。
pavo
_response
_pcd
_t： 笛卡尔坐标。

- 9 -
x,y,z：单位为 0.002 米。
intensity： 值在 0~4500 之间，为一相对值。
pavo
_packet
_info
_pcd
_t：一圈点云数据
vec
_buff：点云数据集合
time
_stamp：时间戳
time
_delay：时间延时
pavo
_packet
_info
_scan
_t：一圈点云数据
vec
_buff：点云数据集合
time
_stamp：时间戳
time
_delay：时间延时
这些数据结构定义在 pavo2
_types.h 头文件中。
pavo
_point
_cloud
_scan
_t: 一圈点云数据，包括点云头部信息
packet
_id: 一圈点云数据 id
ptp_en: 是否开启 ptp 功能
process
_delay: 点云在雷达固件中的处理延时
angle
_resolution: 角分辨率
start
_angle:点云起始角度
end
_angle: 点云结束角度
Data: 点云数据
time
_stamp: 点云时间戳
pavo
_ptp_deviation
_t: 雷达与 ptp 主机之间的时间偏差信息
last
_sync
_time：雷达与 ptp 主机之间的上一次同步时间。
time
_offset：雷达与主机之间的时间偏差。

- 10 -
3 接口说明
用户通过类“class pavo2
_driver”对 Pavo2 Lidar 进行访问。该类定义在 pavo2
_driver.h 头文件中，
SDK 的版本号通过 SDK
_VER 宏定义进行获取，主要函数有：
class pavo2_driver
{
public: pavo2_driver(); ~pavo2_driver(); void set_local_address(std::string local_ip, uint16_t local_port); void set_conn_protocol(PAVO2_PROTO_TYPE proto_type); bool pavo2_open(string lidar_ip, uint16_t lidar_port, uint32_t timeout = 0); bool pavo2_is_open(); bool pavo2_close(); std::size_t get_scans_available() const; std::size_t get_ptp_deviations_available() const; bool get_scanned_data(pavo_response_scan_t* data_buffer, uint16_t& count, uint16_t timeout = 0); bool get_scanned_data(std::vector<pavo_response_scan_t>& vec_buff, uint16_t timeout = 0); bool get_scanned_data(pavo_response_pcd_t* data_buffer, uint16_t& count, uint16_t timeout = 0); bool get_scanned_data(std::vector<pavo_response_pcd_t>& vec_buff, uint16_t timeout = 0); bool recv_point_cloud(pavo_point_cloud_scan_t& scan, uint16_t timeout = 0); bool recv_ptp_deviation_data(pavo_ptp_deviation_t& ptp_deviation, uint16_t timeout = 0); bool get_device_sn(string & sn); bool get_device_pn(string & pn); bool get_sdk_ver(string & ver); bool get_os_ver(string & ver); bool get_firmware_ver(string & ver); bool get_os_error(uint32_t& errCode,uint8_t iIndex = 0);
int get_error_code(); bool enable_data(bool en); bool set_intensity_mode(bool en); bool get_intensity_mode(bool & en); bool set_angle_range(uint16_t start, uint16_t end); bool get_angle_range(uint16_t & start, uint16_t & end); bool set_motor_speed(uint8_t val); bool get_motor_speed(uint8_t & val); bool get_motor_speed_enable(uint32_t & val); bool set_angle_resolution(uint16_t val); bool get_angle_resolution(uint16_t& val); bool get_angle_resolution_enable(uint32_t & val); bool set_device_ip(string ip); bool get_device_ip(string & ip); bool set_tcp_port(uint16_t val); bool get_tcp_port(uint16_t & val); bool set_device_mask(const std::string& mask); bool get_device_mask(std::string& mask); bool set_device_gateway(const std::string& gateway); bool get_device_gateway(std::string& gateway); bool get_device_mac(std::string& mac); bool set_os_restart(); bool set_echo_mode(bool en); bool get_echo_mode(bool& en); bool set_outdoor_mode(bool en); bool get_outdoor_mode(bool& en); bool set_calibrate_horizontal_angle(uint32_t angle); bool get_calibrate_horizontal_angle(uint32_t& angle); bool get_max_angle_distance(uint32_t & val); bool enable_tail_filter(uint16_t method); bool enable_front_filter(uint16_t iLevel); bool enable_far_hr_filter(uint16_t hrLevel);

- 11 -
bool enable_near_hr_filter(bool en); bool get_near_hr_filter(bool &en); bool set_warn_angle_range(uint16_t start,uint16_t end); bool get_warn_angle_range(uint16_t& start,uint16_t& end); bool set_warn_intensity_distance(uint16_t distance,uint16_t intensity); bool get_warn_intensity_distance(uint16_t& distance,uint16_t& intensity); bool set_warn_point_number(uint16_t number); bool get_warn_point_number(uint16_t& number); bool enable_ptp(bool en); bool is_ptp_enabled(bool &en); bool get_temperature(float& temperature); bool get_heartbeat(); //其后省略..... }
3.1 pavo2_driver
Pavo2 Driver 的构造函数。
pavo2_driver();
SDK 核心类，在创建时，会启动一个 TCP 通信节点，用于和 Pavo2 雷达通信。
采用雷达被动上传数据模式。
3.2 set_local_address
绑定和雷达连接的本地 IP 地址和端口。
void set_local_address(const std::string& local_ip, uint16_t local_port);
参数：
local_ip：输入参数，本地 IP 地址。
返回值：
无。
3.3 set_conn_protocol
选择所创建的 pavo2
_driver 连接 Pavo2 Lidar 所使用的协议。
void set_conn_protocol(PAVO2_PROTO_TYPE proto_type);
参数：
proto_type：输入参数，选择所需要使用的协议。
DEFAULT:使用默认协议，当前默认协议是 TCP；
TCP:使用 TCP 协议；
UDP:使用 UDP 协议。
返回值：
无。
PAVO2_PROTO_TYPE 定义如下：
enum class PAVO2_PROTO_TYPE : int
{
DEFUALT = 0,

- 12 -
TCP = 1,
UDP = 2
};
3.4 pavo2_open
和 pavo2 雷达建立通信连接。
bool pavo2_open(const std::string& lidar_ip, uint16_t lidar_port, uint32_t timeout = 0);
参数：
lidar_ip：输入参数，雷达的 IP 地址。
lidar_port：输入参数，雷达的发送数据端口。
timeout：输入参数，超时时间，单位 ms。默认值为 0。如果该值为 0，则该函数会一直
阻塞。如果该值大于零，则如果超过该时间还没有成功建立通信，则函数仍然返回，返回值为
false。
返回值：
是否成功建立连接：
true：建立连接成功；
false：建立连接失败或超时。
3.5 pavo2_is_open
判断是否与 Pavo2 Lidar 成功连接。常用于连接建立后，对连接通信是否仍然正常进行判断。
bool pavo2_is_open();
参数：
无。
返回值：
连接是否成功：
true： 连接成功；
false：连接失败。
3.6 pavo2_close
关闭和雷达的通信连接。
bool pavo2_close();
参数：
无。
返回值：
true：关闭成功；
false：关闭失败。

- 13 -
3.7 get_scans_available
获取 SDK 中缓存的点云圈数。
std::size_t get_scans_available() const;
参数：
无。
返回值：
缓存的点云圈数。
3.8 get_ptp_deviations_available
获取 SDK 中缓存的 ptp 时间偏差信息数量。
std::size_t get_ptp_deviations_available() const;
参数：
无。
返回值：
缓存的 ptp 时间偏差信息数量。
3.9 get_scanned_data
该接口用于获取 Pavo2 Lidar 扫描到的数据，根据数据类型的不同，函数重载四次。
bool get_scanned_data(pavo_response_scan_t* data_buffer, uint16_t& count, uint16_t timeout = 0);
参数：
data
_buffer：输出参数，用户提供的数据返回数组。用户须保证该参数的有效性。
count： 输入/输出参数，返回的数据个数。
输入：data
_buffer 大小；
输出：返回数据个数，如返回数据大于 data
_buffer 大小，则表示缓冲大小不足。
timeout：输入参数，超时时间，单位 ms。如果该值为 0，则在获得有效数据之前，该函
数会一直阻塞。如果该值大于零，则如果超过该时间还没有获得有效数据，则函
数仍然返回，返回值为 false。
返回值：
是否获得有效数据：
true： 获得有效数据；
false：获取数据失败。
bool get_scanned_data(std::vector<pavo_response_scan_t>& vec_buff, uint16_t timeout = 0);
参数：
vec
_buff：输出参数，返回数据。
timeout：输入参数，超时时间，单位 ms。如果该值为 0，则在获得有效数据之前，该函
数会一直阻塞。如果该值大于零，则如果超过该时间还没有获得有效数据，则函

- 14 -
数仍然返回，返回值为 false;
返回值：
是否获得有效数据：
true： 获得有效数据；
false：获取数据失败。
bool get_scanned_data(pavo_response_pcd_t* data_buffer,uint16_t& count, uint16_t timeout = 0);
参数：
data
_buffer：输出参数，用户提供的数据返回数组。用户须保证该参数的有效性。
count：输入/输出参数，返回的数据个数。
输入：data
_buffer 大小；
输出：返回数据个数，如返回数据大于 data
_buffer 大小，则表示缓冲大小不足。
timeout：输入参数，超时时间，单位 ms。如果该值为 0，则在获得有效数据之前，该函
数会一直阻塞。如果该值大于零，则如果超过该时间还没有获得有效数据，则函
数仍然返回，返回值为 false。
返回值：
是否获得有效数据：
true： 获得有效数据；
false：获取数据失败。
bool get_scanned_data(std::vector<pavo_response_pcd_t>& vec_buff, uint16_t timeout = 0);
参数：
vec
_buff：输出参数，返回数据。
timeout：输入参数，超时时间，单位 ms。如果该值为 0，则在获得有效数据之前，该函
数会一直阻塞。如果该值大于零，则如果超过该时间还没有获得有效数据，则函
数仍然返回，返回值为 false;
返回值：
是否获得有效数据：
true： 获得有效数据；
false：获取数据失败。
bool get_scanned_data(pavo_packet_info_scan_t& packet_info_scan, uint16_t timeout = 0);
参数：
packet
_info
_scan：输出参数，用户提供的数据返回数组。用户须保证该参数的有效性。
timeout：输入参数，超时时间，单位 ms。如果该值为 0，则在获得有效数据之前，该函
数会一直阻塞。如果该值大于零，则如果超过该时间还没有获得有效数据，则函
数仍然返回，返回值为 false。
返回值：
是否获得有效数据。

- 15 -
bool get_scanned_data(pavo_packet_info_pcd_t& packet_info_pcd, uint16_t timeout = 0);
参数：
packet
_info
_pcd：输出参数，用户提供的数据返回数组。用户须保证该参数的有效性。
timeout：输入参数，超时时间，单位 ms。如果该值为 0，则在获得有效数据之前，该函
数会一直阻塞。如果该值大于零，则如果超过该时间还没有获得有效数据，则函
数仍然返回，返回值为 false。
返回值：
是否获得有效数据。
3.10 recv_point_cloud
该接口用于获取 Pavo2 Lidar 扫描到的点云数据，与 get
_scanned
_data，该接口获取的点云数据还包
括头部信息。
bool recv_point_cloud(pavo_point_cloud_scan_t& scan, uint16_t timeout=0);
参数：
scan：输出参数，点云数据。
timeout：输入参数，超时时间，单位 ms。如果该值为 0，则在获得有效数据之前，该函
数会一直阻塞。如果该值大于零，则如果超过该时间还没有获得有效数据，则函
数仍然返回，返回值为 false。
返回值：
是否获得有效数据：
true： 获得有效数据；
false：获取数据失败。
3.11 recv_ptp_deviation_data
获取 Pavo2 Lidar 与 ptp 主机之间的时间偏差信息。
bool recv_ptp_deviation_data(pavo_ptp_deviation_t& ptp_deviation, uint16_t timeout=0);
参数：
ptp_deviation：输出参数，ptp 时间偏差信息。
timeout：输入参数，超时时间，单位 ms。如果该值为 0，则在获得有效数据之前，该函
数会一直阻塞。如果该值大于零，则如果超过该时间还没有获得有效数据，则函
数仍然返回，返回值为 false。
返回值：
是否获得有效数据：
true： 获得有效数据；
false：获取数据失败。
3.12 get_device_sn

- 16 -
获取设备 SN 序列号。
bool get_device_sn(std::string& sn);
参数：
sn：获取到的设备 SN 序列号。
返回值：
true：调用成功；
false:：调用失败。
3.13 get_device_pn
获取设备 PN 序列号。
bool get_device_pn(std::string& pn);
参数：
pn：获取到的设备 PN 序列号,以十六进制显示。
返回值：
true： 调用成功；
false：调用失败。
3.14 get_sdk_ver
获取 sdk 版本号。
bool get_sdk_ver(std::string& ver);
参数：
ver：输出参数。Sdk 版本号。
返回值：
true： 调用成功；
false：调用失败。
3.15 get_os_ver
获取雷达操作系统版本号。
bool get_os_ver(std::string& ver);
参数：
ver：输出参数。雷达操作系统版本号。
返回值：
true： 调用成功；
false：调用失败。
3.16 get_firmware_ver
获取雷达固件版本号。
bool get_firmware_ver(string& ver);

- 17 -
参数：
ver：输出参数。雷达固件版本号。
返回值：
true： 调用成功；
false：调用失败。
3.17 get_os_error
获取雷达操作系统错误码。
bool get_os_error(uint32_t& errCode, uint8_t iIndex = 0)
参数：
errCode：输出参数。雷达操作系统错误码。
iIndex ：输入参数，0~3 表示获取对应序号的错误码，其他值表示获取全部错误码
返回值：
true： 调用成功。
false：调用失败。
3.18 get_error_code
获取雷达连接网络错误。
int get_error_code();
参数：
无。
返回值：
网络错误码。
3.19 enable_data
开启/停止 Pavo2 Lidar 数据传输。
bool enable_data(bool en);
参数：
en：输入参数。
true：开启数据传输；
false：停止数据传输。
返回值：
true： 调用成功；
false：调用失败。

- 18 -
3.20 set_intensity_mode
设置雷达数据是否带强度信息。
bool set_intensity_mode(bool en);
参数:
en：输入参数。
true：雷达数据带强度信息；
false：雷达数据不带强度信息。
返回值：
true：调用成功；
false：调用失败。
3.21 get_intensity_mode
获取雷达数据是否带强度信息。
bool get_intensity_mode(bool& en);
参数：
en：输出参数，雷达数据是否带强度信息。
true：雷达数据带强度信息；
false：雷达数据不带强度信息。
返回值：
true：调用成功；
false：调用失败。
3.22 set_angle_range
设置雷达传输角度范围。
bool set_angle_range(uint16_t start, uint16_t end);
参数：
start：输入参数，起始角度。取值范围[4000,32000]。单位是 0.01°。
end：输入参数，终止角度。取值范围[4000,32000]。单位是 0.0.1°。
注意：start 值不能大于 end。
返回值：
true： 调用成功；
false：调用失败。
3.23 get_angle_range

- 19 -
获取传输的角度范围。
bool get_angle_range(uint16_t& start, uint16_t& end);
参数：
start：输出参数。起始角度。
end：输出参数。终止角度。
返回值：
true： 调用成功；
false：调用失败。
3.24 get_max_angle_range
获取雷达角度范围使能配置。
bool get_max_angle_range(uint32_t& val);
参数：
val：输出参数，雷达角度范围使能配置。
返回值：
true：调用成功；
false：调用失败。
3.25 set_motor_speed
设置电机转速。
bool set_motor_speed(uint8_t val);
参数：
val： 输入参数，电机转速，单位 Hz。
返回值：
true： 调用成功；
false：调用失败。
3.26 get_motor_speed
获取电机转速。
bool get_motor_speed(uint8_t& val);
参数：
val： 输出参数，电机转速，单位 Hz。
返回值：
true： 调用成功；
false：调用失败。

- 20 -
3.27 get_motor_speed_enable
获取电机转速可配置范围。
bool get_motor_speed_enable(uint32_t& val);
参数：
val： 输出参数，电机转速可配置范围。
返回值：
true： 调用成功；
false：调用失败。
3.28 set_angle_resolution
设置雷达角分辨率。
bool set_angle_resolution(uint16_t val);
参数：
val： 输入参数，角分辨，可配置 8 、16、32。
返回值：
true： 调用成功；
false：调用失败。
3.29 get_angle_resolution
获取雷达角分辨率。
bool get_angle_resolution(uint16_t& val);
参数：
val：输出参数，角分辨。
返回值：
true： 调用成功；
false：调用失败。
3.30 get_angle_resolution_enable
获取雷达角分辨率可配置范围。
bool get_angle_resolution_enable(uint32_t& val);
参数：
val：输出参数，角分辨可配置范围。
返回值：
true： 调用成功；
false：调用失败。

- 21 -
3.31 set_device_ip
配置 Pavo2 Lidar 数据的源 IP 地址。
bool set_device_ip(const std::string& ip);
参数：
ip：输入参数。Pavo2 Lidar IP 地址。
返回值：
true： 调用成功；
false：调用失败。
3.32 get_device_ip
获取 Pavo2 Lidar 数据的源 IP 地址。
bool get_device_ip(std::string& ip);
参数：
ip：输出参数。Pavo2 Lidar 地址。
返回值：
true： 调用成功；
false：调用失败。
3.33 set_tcp_port
设置雷达 TCP 服务端口。
bool set_tcp_port(uint16_t val);
参数：
val：输入参数。雷达 TCP 服务端口。
返回值：
true： 调用成功；
false：调用失败。
3.34 get_tcp_port
获取雷达 TCP 服务端口。
bool get_tcp_port(uint16_t& val);
参数：
val：输出参数。雷达 TCP 服务端口。
返回值：
true： 调用成功；

- 22 -
false：调用失败。
3.35 set_device_mask
设置雷达子网掩码。
bool set_device_mask(const std::string& mask);
参数：
mask：输入参数。雷达子网掩码。
返回值：
true： 调用成功；
false：调用失败。
3.36 get_device_mask
获取雷达子网掩码。
bool get_device_mask(std::string& mask);
参数：
mask：输出参数。雷达子网掩码。
返回值：
true： 调用成功；
false：调用失败。
3.37 set_device_gateway
设置雷达网关。
bool set_device_gateway(const std::string& gateway);
参数：
gateway：输入参数。雷达网关。
返回值：
true： 调用成功；
false：调用失败。
3.38 get_device_gateway
获取雷达网关。
bool get_device_gateway(std::string& gateway);
参数：
gateway：输出参数。雷达网关。
返回值：

- 23 -
true： 调用成功；
false：调用失败。
3.39 get_device_mac
获取雷达 mac 地址。
bool get_device_mac(std::string& mac);
参数：
mac：输出参数。雷达 MAC 地址。
返回值：
true： 调用成功；
false：调用失败。
3.40 set_os_restart
设置系统重启模式。
bool set_os_restart();
参数：
无。
返回值：
true： 调用成功；
false：调用失败。
3.41 set_echo_mode
设置雷达是否开启二回波模式。
bool set_echo_mode(bool en);
参数：
en：输入参数。
true：开启二回波模式；
false：不开启二回波模式。
返回值：
true：调用成功；
false：调用失败。
3.42 get_echo_mode
获取雷达是否开启二回波模式。
bool get_echo_mode(bool& en);

- 24 -
参数：
en：输出参数，雷达是否开启二回波模式。
true：开启二回波模式；
false：不开启二回波模式。
返回值：
true：调用成功；
false：调用失败。
3.43 set_outdoor_mode
设置雷达是否开启室外增强模式。
bool set_outdoor_mode(bool en);
参数：
en：输入参数，是否开启室外增强模式。
true：开启室外增强模式；
false：不开启室外增强模式。
返回值：
true：调用成功；
false：调用失败。
3.44 get_outdoor_mode
获取雷达是否开启室外增强模式。
bool get_outdoor_mode(bool& en);
参数：
en：输出参数，雷达是否开启室外增强模式。
true：开启室外增强模式；
false：不开启室外增强模式。
返回值：
true：调用成功；
false：调用失败。
3.45 set_calibrate_horizontal_angle
设置雷达水平校准角度。
bool set_calibrate_horizontal_angle(uint32_t angle);
参数：
angle：输入参数。雷达水平校准角度：0-35999。
返回值：

- 25 -
true：调用成功；
false：调用失败。
3.46 get_calibrate_horizontal_angle
获取雷达水平校准角度。
bool get_calibrate_horizontal_angle(uint32_t& val);
参数：
val：输出参数，雷达水平校准角度。
返回值：
true：调用成功；
false：调用失败。
3.47 get_max_angle_distance
获取雷达最大测距。
bool get_max_angle_distance(uint32_t& val);
参数：
val：输出参数，雷达最大测距。
返回值：
true：调用成功；
false：调用失败。
3.48 enable_tail_filter
开启点云数据拖尾处理模式。
bool enable_tail_filter(uint16_t method);
参数：
method：设置使用的去除拖尾的算法。取值范围[0,1,2,3]。0 表示不启动去除拖尾算法，
1 开启的去除拖尾算法效果最弱，2 中等，3 最强。
返回值：
true： 调用成功；
false：调用失败。
3.49 enable_front_filter
开启点云数据前冲滤波处理模式。
bool enable_front_filter(uint16_t iLevel);
参数：
iLevel：设置使用的前冲滤波的算法等级。取值范围[0,1,2,3]。0 表示不启动前冲滤波算法，

26 
1 开启的前冲滤波算法效果最弱，2 中等，3 最强。
返回值：
true： 调用成功；
false：调用失败。
3.50 enable_far_hr_filter
开启点云数据远端高反滤波处理模式。
bool enable_far_hr_filter(uint16_t iLevel);
参数：
iLevel：设置使用的高反滤波的算法。取值范围[0,1,2]。0 表示不启动高反滤波算法，1 开
启的高反滤波算法效果最弱，2 最强。
返回值：
true： 调用成功；
false：调用失败。
3.51 enable_near_hr
开启点云近端高反识别。
bool enable_near_hr(bool en);
参数：
en：输入参数，是否开启近场高反识别。
返回值：
true： 调用成功；
false：调用失败。
3.52 is_near_hr_enabled
确认近端高反识别是否已开启。
bool is_near_hr_enabled(bool& en);
参数：
en：输出参数，近端高反识别是否已开启。
返回值：
true： 调用成功；
false：调用失败。
3.53 is_near_hr_supported
确认近端高反识别是否支持。
bool is_near_hr_supported(bool& supported);

- 27 -
参数：
supported：输出参数，近端高反识别是否支持。
返回值：
true： 调用成功；
false：调用失败。
3.54 set_warn_angle_range
设置点云异常警告角度范围。
bool set_warn_angle_range(uint16_t start, uint16_t end);
参数：
start：输入参数，起始角度。取值范围[4000,32000]。单位是 0.01°。
end：输入参数，终止角度。取值范围[4000,32000]。单位是 0.0.1°。
注意：start 值不大于 end。
返回值：
true： 调用成功；
false：调用失败。
3.55 get_warn_angle_range
获取点云异常警告角度范围。
bool get_warn_angle_range(uint16_t& start, uint16_t& end);
参数：
start：输出参数。起始角度。
end：输出参数。终止角度。
返回值：
true： 调用成功；
false：调用失败。
3.56 set_warn_intensity_distance
设置点云异常警告距离强度阈值。
bool set_warn_intensity_distance(uint16_t distance, uint16_t intensity);
参数：
distance：输入参数，距离。
intensity：输入参数，强度。
返回值：
true： 调用成功；

- 28 -
false：调用失败。
3.57 get_warn_intensity_distance
获取点云异常警告距离强度阈值。
bool get_warn_intensity_distance(uint16_t& distance, uint16_t& intensity);
参数：
distance：输出参数。距离。
intensity：输出参数。强度。
返回值：
true： 调用成功；
false：调用失败。
3.58 set_warn_point_number
设置点云异常警告点云数量。
bool set_warn_point_number(uint16_t number);
参数：
number：输入参数，点云数量。
返回值：
true： 调用成功；
false：调用失败。
3.59 get_warn_point_number
获取点云异常警告点云数量。
bool get_warn_point_number(uint16_t& number);
参数：
number：输出参数。点云数量。
返回值：
true： 调用成功；
false：调用失败。
3.60 enable_ptp
启用雷达 ptp 功能。
bool enable_ptp(bool en);
参数：
en：是否启用雷达 ptp 功能。

- 29 -
true：开启 ptp 功能；
false：不开启 ptp 功能。
返回值：
true：调用成功；
false：调用失败。
3.61 is_ptp_enabled
查询雷达 ptp 功能是否启用。
bool is_ptp_enabled(bool& en);
参数：
en：输出参数。表示雷达 ptp 功能是否启用。
true：ptp 功能已开启；
false：ptp 功能未开启。
返回值：
true：调用成功；
false：调用失败。
3.62 is_ptp_supported
查询雷达 ptp 功能是否支持。
bool is_ptp_supported(bool& supported);
参数：
supported：输出参数。表示雷达 ptp 功能是否支持。
true：ptp 功能支持；
false：ptp 功能不支持。
返回值：
true：调用成功；
false：调用失败。
3.63 get_temperature
获取雷达内部温度。
bool get_temperature(float& temperature);
参数：
temperature：输出参数。表示雷达内部温度。
返回值：
true：调用成功；

- 30 -
false：调用失败。
3.64 get_heartbeat
获取雷达连接状态。
bool get_heartbeat();
参数：
无。
返回值：
true： 连接成功；
false：连接失败。