3
Livox SDK Communication Protocol Cn
Livox-SDK edited this page 2020-12-16 12:29:36 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

览沃SDK通信协议(Livox SDK Comunication Protocol)

文件发布历史
日期 版本 修改描述
2020/10/26 V1.3.0 1.增加对MId-70/Avia雷达的支持
2020/06/10 v1.2.0 1. 增加读/写配置参数指令
2019/10/22 v1.1.1 1.更新状态码,增加了时间同步状态码(Horizon: v06.05.00.00+, Mid-40/Mid-100: v03.07.00.00+)
2. 修改IMU数据推送频率
2019/9/25 v1.1.0 1. 增加对Tele-15/Horizon雷达的支持
2019/7/08 v1.0.6 1. 修正crc32错误
2. 增加系统状态码的描述
2019/5/17 v1.0.5 修改部分描述错误
2019/4/18 v1.0.4 1. 更新雷达状态码 (v03.05.00.00+)
2. 增加查询Hub插槽电源状态的指令 (v08.05.00.00+)
2019/4/17 v1.0.3 更新了Hub读取雷达外部参数的描述
2019/3/25 v1.0.2 更新3.2 时间戳描述
2019/2/25 v1.0.1 更新3.2 时间戳描述
2019/1/16 v1.0.0 初始发布

1 概述

1.1 数据类型

用户和雷达之间有两种通信方式,且这两种通信的数据协议格式是不相同的。不同点和相应功能如下:

  • 控制指令数据:配置和查询雷达的参数和状态信息。

  • 采样数据:采样数据由雷达产生,包括点云数据和IMU数据(Mid40/100/70不支持);

    目前,两种协议都被封装在UDP的数据段中,且协议数据为小端序。

1.2 模式和状态描述

用户可以切换这些雷达模式:

lidar_state

当用户设置雷达模式且雷达切换完成后,雷达将处于相应的状态。

State_transition

2 控制指令

2.1 帧格式

协议帧是控制指令的最小单元,格式如下:

字段 偏移(字节) 大小 (字节) Description
sof 0 1 起始字节,固定为 0xAA
version 1 1 协议版本, 当前为1
length 2 2 数据帧长度,最大值: 1400
cmd_type 4 1 命令类型:
0x00: CMD
0x01: ACK
0x02: MSG
seq_num 5 2 数据帧序列号
crc_16 7 2 包头校验码
data 9 n 数据域
crc_32 9+n 4 整个数据帧校验码

命令类型描述:

  • CMD (请求): ACK主动发送数据请求-需要返回相应的应答ACK;
  • ACK (响应): 响应 CMD 数据;
  • MSG (消息): 主动推送消息数据-不需要返回响应数据,

e.g.广播数据,当发生错误时推送消息;

CRC校验初始值:

crc16 初始值 crc32 初始值
0x4c49 0x564f580a

2.2 帧数据

2.2.1 数据段格式

协议帧中数据段格式如下:

字段 偏移 (字节) 大小 (字节)
cmd_set 0 1
cmd_id 1 1
cmd_data 2 随命令变化

2.2.2 CMD Set & CMD ID

共有三种指令集:

  • 通用指令集:包括Livox雷达和Hub在内的所有Livox设备均支持的通用指令集。
  • 雷达指令集:只有Livox雷达支持雷达指令集。
  • Hub指令集:只有Livox Hub支持的指令集
CMD Set CMD ID 功能
0x00 通用指令集 0x00 广播信息
0x01 网络握手确认指令
0x02 查询设备信息
0x03 心跳指令
0x04 开始/停止采样
0x05 更改点云坐标模式
0x06 断开连接指令
0x07 设备异常推送
0x08 设置静态/动态IP模式
0x09 读取设备的IP模式
0x0A 重启设备
0x0B 设置设备配置参数
0x0C 读取设备配置参数
0x01 雷达指令集 0x00 设置模式指令
0x01 设置雷达外部参数
0x02 读取雷达外部参数
0x03 开启/关闭抗雨雾功能
0x04 设置开启/关闭风扇
0x05 获取风扇开/关状态
0x06 设置点云回波模式
0x07 读取点云回波模式
0x08 设置IMU数据推送频率
0x09 读取IMU推送频率
0x0A 更新UTC同步时间
0x02 Hub指令集 0x00 查询已连接雷达设备
0x01 设置子雷达模式
0x02 开启/关闭指定端口的电源
0x03 设置雷达的外部参数
0x04 读取雷达的外部参数
0x05 读取子雷达状态信息
0x06 开启/关闭Hub外部参数实时计算
0x07 开启/关闭子雷达抗雨雾功能
0x08 查询Hub端口电源使能状态
0x09 设置开启/关闭雷达风扇
0x0A 读取雷达风扇开关状态
0x0B 设置雷达点云回波模式
0x0C 读取雷达点云回波模式
0x0D 设置雷达IMU数据推送频率
0x0E 获取雷达IMU数据推送频率

2.3 SDK 连接

在通信的过程中,雷达或中心板被定义为从设备,接收点云数据的电脑被被定义为主设备。

主设备与从设备通信的流程如下:

1.当从设备上电后,将会从65000端口向局域网中的55000端口广播设备信息数据。

2.接收到广播数据后,主设备向65000端口发送数据请求,请求数据中包含源端口。

3.从设备接收到连接请求后向这个源端口回复ACK数据。

4.当用户接收到ACK数据,握手完成。可以开始发送心跳维持连接,并进行命令和数据的传输。

注意:如果心跳超时,Livox雷达/Hub将会重新回到广播状态。

流程图:

connection_flow_chart

3 采样数据包协议

3.1 包格式

雷达输出点云数据格式:

字段 偏移量(字节) 大小 (字节) 详细描述
version 0 1 包协议版本:当前为5
slot_id 1 1 雷达安装的端口号:
如果雷达直接与电脑连接,不经过中心板,默认为1;
如果雷达连接中心板,中心板与PC连接,端口号为中心板端口号,范围1~9;
LiDAR_id 2 1 雷达ID:
1: Mid-100 左/ Mid-40 / Tele-15 / Horizon/Mid-70
2: Mid-100 中
3: Mid-100 右
connection_flow_chart
reserved 3 1
status_code 4 4 雷达状态指示信息,详见 3.4
timestamp_type 8 1 时间戳类型,详见 [3.2](#3.2 时间戳)
data_type 9 1 数据类型,详见 [3.3](#3.3 点云/IMU数据 )
timestamp 10 8 纳秒或者UTC格式时间戳,详见 3.2
data 18 -- 数据信息,详见 [3.3](#3.3 点云/IMU数据 )

3.2 时间戳

雷达系统支持三种同步方式:

  • PTP: IEEE 1588v2.0 PTP 网络协议同步.
  • GPS:为了实现GPS同步,雷达/Hub需要同时接收PPS和UTC时间戳。对于Horizon/Tele-15/Mid-70/Avia,雷达单元可以通过以太网在控制指令中获得UTC时间戳。Livox Hub可以通过RS485串口在$GPRMC信息中获得UTC时间戳。
  • PPS: 脉冲同步(只有雷达支持).

同步优先级: PTP > GPS > PPS,当系统中有多个同步源存在时,选择最高优先级的同步模式 。当最高优先级同步源离线时,同步类型将会持续而不会回退到低优先级, 并且状态码中的time_sync_status 将会被设置为4(最高优先级同步标志异常.

每个数据包中包含着指明数据包中第一个点云时间的时间戳。数据包中每个点的时间间隔是相等的。

以Mid-40为例,采用频率为100KHz,因此每个点云的的时间间隔为10us.

点云数 时间戳
1 T1
2 T1 + 10 us
3 T1 + 20 us
... ...
100 T1 + 990us

时间戳类型:

时间戳类型 同步源类型 数据格式 说明
0 No sync source无同步源 uint64_t Unit单位: ns
1 PTP uint64_t Unit单位: ns
2 保留
3 GPS UTC UTC
4 PPS int64_t 单位: ns, 只有雷达支持

时间戳类型 0

当系统中没有同步信号时,时间戳表明系统上电时间。

时间戳类型 1

IEEE 1588v2.0 PTP network protocol synchronization网络协议同步 1588 网络同步模式具有最高优先级.

时间戳类型 3

时间戳类型3表明雷达/Hub利用GPS实现同步. 对于雷达单元, RS485电平中的PPS和SDK控制指令中的UTC时间时间戳均需要(详见 [**更新UTC同步时间 **](#0x0A 更新UTC同步时间) ) . 时序图如下: sequence_diagram

对于Hub,需要RS485中的PPS和$GPRMC信息。时序图如下:

sequence_diagram

$GPRMC 信息的样例如下: $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

123519 修改后为12:35:19 UTC
A 状态A=可用或者 V=空.
4807.038 当前纬度
N N 北/S 南
01131.000 当前精度
E E 东/W 西
022.4 航速
084.4 真实方位角
230394 日期, 1994年3月23日
003.1 磁偏角
W W 西/E 东
*6A 校验数据, 以 *开始

点云数据包中UTC时间戳格式为:

字节0 字节1 字节 2 字节 3 字节4 ~ 7
小时 小时内偏差, 单位: us

时间戳 4

PPS 同步源使用RS485电平信号. 时序图如下. PPS的上升沿将会把时间戳复位为0,所以点云数据的时间戳表明了点云采样和PPS上升沿的间隔。在IMU数据包中,由于补偿延迟,时间偏移可能为负。 RS485_sequence_digram

3.3 点云/IMU数据

在每个数据包中有N个采样值。N的大小取决于数据类型。采样数据可以是以下数据格式之一。

数据类型:

数据类型 采样类型 回波模式 坐标系模式 N 数据频率 支持设备
0 点云数据 单回波模式 直角坐标系 100 100,000 点/s Mid-40
1 点云数据 单回波模式 球坐标系 100 100,000 点/s Mid-40
2 点云数据 单回波模式 直角坐标系 96 Horizon/Tele-15/Avia
240,000 点/s
Mid-70:
100,000 points/s
Horizon
Tele-15
Mid-70
Avia
3 点云数据 单回波模式 球坐标系 96 Horizon/Tele-15/Avia
240,000 点/s
Mid-70
100,000 points/s
Horizon
Tele-15
Mid-70
Avia
4 点云数据 双回波模式 直角坐标系 48 Horizon/Tele-15/Avia
480,000 点/s
Mid-70
200,000 points/s
Horizon
Tele-15
Mid-70
Avia
5 点云数据 双回波模式 球坐标系 48 Horizon/Tele-15/Avia
480,000 点/s
Mid-70
200,000 points/s
Horizon
Tele-15
Mid-70
Avia
6 IMU 数据 --- --- 1 见 [IMU 数据推送频率 ](#0x08 设置IMU数据推送频率) Horizon
Tele-15
Avia
7 点云数据 三回波模式 直角坐标系 30 Avia
720,000 points/s
Avia
8 点云数据 三回波模式 球坐标系 30 Avia
720,000 points/s
Avia

数据类型 0

单回波直角坐标数据格式:

字段 偏移(字节) 数据类型 描述
x 0 int32_t X 轴, 单位: mm
y 4 int32_t Y 轴, 单位: mm
z 8 int32_t Z 轴, 单位: mm
反射率 12 uint8_t 反射率

数据类型 1

单回波球坐标数据格式:

字段 偏移(byte) 数据类型 描述
深度 0 uint32_t 深度, 单位: mm
天顶角 4 uint16_t 天顶角[0, 18000], Unit: 0.01 度
方位角 6 uint16_t 方位角[0, 36000], Unit: 0.01 度
反射率 8 uint8_t 反射率

数据类型 2

单回波直角坐标数据格式:

字段 偏移(字节) 数据类型 描述
x 0 int32_t X 轴, 单位: mm
y 4 int32_t Y 轴, 单位: mm
z 8 int32_t Z 轴, 单位: mm
反射率 12 uint8_t 反射率
标签 13 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})

数据类型 3

单回波球坐标数据格式:

字段 偏移(字节) 数据类型 描述
深度 0 uint32_t 深度, 单位: mm
天顶角 4 uint16_t 天顶角[0, 18000], Unit: 0.01 度
方位角 6 uint16_t 方位角[0, 36000], Unit: 0.01 度
反射率 8 uint8_t 反射率
标签 9 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info)

数据类型4

双回波直角坐标数据格式:

字段 偏移(字节) 数据类型 描述
x1 0 int32_t X 轴, 单位: mm
y1 4 int32_t Y 轴, 单位: mm
z1 8 int32_t Z 轴, 单位: mm
反射率1 12 uint8_t 反射率
标签1 13 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info)
x2 14 int32_t X 轴, 单位: mm
y2 18 int32_t Y 轴, 单位: mm
z2 22 int32_t Z 轴, 单位: mm
反射率2 26 uint8_t 反射率
标签2 27 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})

数据类型 5

双回波球坐标数据格式:

字段 偏移(字节) 数据类型 描述
天顶角 4 uint16_t 天顶角[0, 18000], Unit: 0.01 度
方位角 6 uint16_t 方位角[0, 36000], Unit: 0.01 度
深度1 4 uint32_t 深度, 单位: mm
反射率1 8 uint8_t 反射率
标签1 9 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})
深度2 10 uint32_t 深度, 单位: mm
反射率2 14 uint8_t 反射率
标签2 15 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})

数据类型6

IMU数据格式:

字段 偏移(字节) 数据类型 描述
gyro_x 0 float 单位: rad/s
gyro_y 4 float 单位: rad/s
gyro_z 8 float 单位: rad/s
acc_x 12 float 单位: g
acc_y 16 float 单位: g
acc_z 20 float 单位: g

数据类型7

三回波直角坐标数据格式:

字段 偏移(字节) 数据类型 描述
x1 0 int32_t X 轴, 单位: mm
y1 4 int32_t Y 轴, 单位: mm
z1 8 int32_t Z 轴, 单位: mm
反射率1 12 uint8_t 反射率
标签1 13 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info)
x2 14 int32_t X 轴, 单位: mm
y2 18 int32_t Y 轴, 单位: mm
z2 22 int32_t Z 轴, 单位: mm
反射率2 26 uint8_t 反射率
标签2 27 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})
x3 28 int32_t X 轴, 单位: mm
y3 32 int32_t Y 轴, 单位: mm
z3 36 int32_t Z 轴, 单位: mm
反射率3 40 uint8_t 反射率
标签3 41 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})

数据类型 8

三回波球坐标数据格式:

字段 偏移(字节) 数据类型 描述
天顶角 0 uint16_t 天顶角[0, 18000], Unit: 0.01 度
方位角 2 uint16_t 方位角[0, 36000], Unit: 0.01 度
深度1 4 uint32_t 深度1, 单位: mm
反射率1 8 uint8_t 反射率1
标签1 9 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})
深度2 10 uint32_t 深度, 单位: mm
反射率2 14 uint8_t 反射率2
标签2 15 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})
深度3 16 uint32_t 深度3, 单位: mm
反射率3 20 uint8_t 反射率3
标签3 21 uint8_t 详见 [标签信息](#3.4 标签信息 {#tag_info})

3.4 标签信息

描述
7:6 保留
5:4 回波数:
00: 回波0
01: 回波1
02: 回波2
03: 回波3
3:2 基于强度的点属性:
00: 正常点
01: 回波能量噪点置信度高
02: 回波能量噪点置信度中
03: 保留位
1:0 基于空间位置的点属性:
0: 正常点
1: 空间噪点置信度高
2: 空间噪点置信度中
3: 空间噪点置信度低

详见Livox Horizon/Tele-15/Mid70/Avia用户手册。

3.5 状态码

3.5.1雷达状态码

雷达状态码由32bits组成,相应的bit含义如下:

数据 描述
Bit0:1 temp_status 0: 温度正常
1: 偏高或偏低
2: 极高或极低
Bit2:3 volt_status 内部模组电压状态
0: 电压正常
1:电压偏高
2: 电压极高
Bit4:5 motor_status 0: 电机正常
1: 电机警告
2: 电机错误,无法工作
Bit6:7 dirty_warn 0: 无脏污和遮挡
1: 有脏污和遮挡
Bit8 firmware_status 0: 固件正常
1: 固件出错,需要升级
Bit9 pps_status 0: 无PPS信号
1: PPS信号正常
Bit10 device_status 0: 正常
1: 设备寿命警告
Bit11 fan_status 0: 风扇正常
1: 风扇警告(异常或用户设置停止)
支持设备:
Mid-40/03.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+
Bit12 self_heating 0: 低温自加热关闭
1: 低温自加热开启
支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+
Bit13 ptp_status 0:无1588信号
1: 1588信号正常
Bit14:16 time_sync_status 0: 未开始时间同步
1: 使用PTP 1588同步
2: 使用GPS同步
3: 使用PPS同步
4: 系统时间同步异常(最高优先级信号异常)
Bit17:29 RSVD
Bit30:31 system_status 0: 正常
1: 警告
以下任何情况之一均会触发警告:
1.1 temp_status 为 1;
1.2 volt_status 为1;
1.3 motor_status 为1;
1.4 dirty_warn 为1;
1.5 device_status 为1;
1.6 fan_status 为1;
2:错误
雷达将会停机并进入错误状态
以下任何情况之一均会触发错误:
2.1 temp_status 为 2;
2.2 volt_status 为2;
2.3 motor_status 为 2;
2.4 firmware_status 为1;

3.5.2 Hub 状态码

Hub状态码由32bits组成,相应的bit含义如下:

数据 描述
Bit0:1 sync_status 0: 未开始时间同步
1: 使用PTP1588同步
2: 使用GPS同步
3: 系统时间同步异常(最高优先级信号异常)
Bit2:3 temp_status 0: 温度正常
1: 偏高或偏低
2: 极高或极低
Bit4 LiDAR_status 0: 子雷达正常
1: 子雷达状态异常
Bit5 LiDAR_link_status 0: 雷达连接正常
1: 雷达连接异常
Bit6 firmware_status 0: 雷达固件正常
1: 雷达固件出错,需要升级
Bit7:29 RSVD
Bit30:31 system_status 0: 正常
1:警告
以下任何状况都会触发警告:
1.1 temp_status 为 1;
2: 错误
以下任何状况都会触发错误:
2.1 temp_status 为2;
2.2 LiDAR_status 为1;
2.3 firmware_status 为1;

4 配置参数

4.1 描述

配置参数表的设计是为了更方便的配置livox的设备。参数表存储在设备非易失性介质中,所以设备断电重启以后不会丢失。

每个配置参数都有一个唯一的键值,以下是当前支持的参数:

关键字 名称 支持设备 键值长度 键值类型 键值描述
0x00 保留 -- 无效关键字
0x01 高灵敏度功能 Tele-15/07.09.0000+
Avia/11.06.0000+
1 uint8_t 0:高灵敏度功能关闭
1:高灵敏度功能开启(默认)
0x02 重复/非重复扫描模式 Avia/11.06.0000+ 1 uint8_t 0:非重复扫描模式(默认)
1:重复扫描模式
0x03 slot id配置 Mid-70/10.03.0000+
Avia/11.06.0000+
1 uint8_t 修改雷达slot id,范围1-9,默认为1
  • 写配置参数详见 [写配置参数](#0x0B 写设备参数);
  • 读配置参数详见 [读配置参数](#0x0C 读配置参数) ;

5 控制指令详情

5.1 通用命令集

0x00 广播消息

消息

消息 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用命令: 0x00
cmd_id 1 uint8_t 指令ID: 0x00
broadcast_code 2 uint8_t[16] 设备广播码,以'\0'结束的字符串
每个设备的广播码特有.
dev_type 18 uint8_t 设备类型:
0: Livox Hub
1: Mid-40
2: Tele-15
3: Horizon
6: Mid-70
7:Avia
reserved 19 uint16_t 保留

0x01 网络握手确认指令

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x01
user_ip 2 uint8_t[4] 主机IP地址
样例: AA.BB.CC.DD
user_ip[0] = AA
user_ip[1] = BB
user_ip[2] = CC
user_ip[3] = DD
data_port 6 uint16_t 主机点云数据UDP目的端口
cmd_port 8 uint16_t 主机控制指令UDP目的端口
imu_port 10 uint16_t 主机控制IMU UDP目的端口,
支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x01
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

0x02 设备信息查询

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x02

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x02
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
version 3 uint8_t[4] 固件版本:
样例: AA.BB.CC.DD
版本号组成[0] = AA
版本号组成[1] = BB
版本号组成[2] = CC
版本号组成[3] = DD

0x03 心跳数据

主机端需要以1Hz频率发送请求数据,以维持与设备的正常通信。

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x03

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x03
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
work_state 3 uint8_t 雷达状态:
0x00: 初始化
0x01: 正常
0x02: 低功耗
0x03: 待机
0x04: 异常
Hub 状态:
0x00: 初始化
0x01: 正常
0x04: 异常
feature_msg 4 uint8_t 雷达特有信息:
Bit0: 抗雨雾功能状态
0x00: 关闭
0x01: 开启
Bit1 ~ Bit7: 保留
Hub保留
ack_msg 5 uint32_t ACK 信息:
与工作状态有关:
工作状态为 0x00: 初始化百分比
工作状态为其他r: 状态码

0x04 开始/停止采样

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x04
sample_ctrl 2 uint8_t 0x00: 停止采样
0x01: 开始采样

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x04
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

0x05 更改点云坐标系模式

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x05
coordinate_type 2 uint8_t 0x00: 直角坐标系
0x01: 球坐标系

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x05
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

注意: 该指令只会在RAM中起效,重启后系统坐标系会复位为直角坐标系.

0x06 断开连接

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x06

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x06
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

0x07 推送异常状态信息

信息

在设备发生异常后,立刻以10Hz频率发送异常信息。

MSG 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x07
status_code 2 uint32_t 状态码

0x08 配置静态/动态IP

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x08
ip_mode 2 uint8_t 0x00: 动态IP
0x01: 静态IP
ip_addr 3 uint8_t[4] 详见: IP地址信息
net_mask 7 uint8_t[4] IPV4 子网掩码
ip_mode 为0x01(静态IP)IP掩码有效
例如: AA.BB.CC.DD
net_mask[0]: AA
net_mask[1]: BB
net_mask[2]: CC
net_mask[3]: DD

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+
gw_addr 11 uint8_t[4] IPV4 网关
ip_mode 为0x01(静态IP)IP网关有效
例如: AA.BB.CC.DD
gw_addr[0]: AA
gw_addr[1]: BB
gw_addr[2]: CC
gw_addr[3]: DD

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+

IP地址信息:

设备信息/固件版本 IP地址信息
Livox Hub
Mid-40
IPV4 地址
ip_mode 为0x01(静态IP)IP地址有效
ip_addr[0]: 192
ip_addr[1]: 168
ip_addr[2]: 1
ip_addr[3]: 具体范围如下
广播码最后一位内容:
1: 11 ~ 80
2: 81 ~ 150
3: 151 ~ 220
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+
IPV4 地址
ip_mode 为0x01(静态IP)IP地址有效
ip_addr[0]:1 ~ 126 && 128 ~ 223
ip_addr[1]: 0 ~ 255
ip_addr[2]: 0 ~ 255
ip_addr[3]: 0 ~ 255

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x08
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

注意: 关于IP详情, 见:IP_address.

0x09 获取设备IP信息

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x09

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x09
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
ip_mode 3 uint8_t 0x00: 动态IP
0x01: 静态 IP
ip_addr 4 uint8_t[4] 设备IPV4 地址
样例: AA.BB.CC.DD
user_ip[0] = AA
user_ip[1] = BB
user_ip[2] = CC
user_ip[3] = DD
net_mask 8 uint8_t[4] 设备IPV4 子网掩码
例如: AA.BB.CC.DD
user_netmask[0] = AA
user_netmask[1] = BB
user_netmask[2] = CC
user_netmask[3] = DD
支持设备:
Livox Hub/08.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
gw 12 uint8_t[4] 设备IPV4 网关
例如: AA.BB.CC.DD
user_gw[0] = AA
user_gw[1] = BB
user_gw[2] = CC
user_gw[3] = DD
支持设备:
Livox Hub/08.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+

0x0A 重启设备

支持设备/固件版本:
Livox Hub/08.07.0000+
Mid-40/03.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x0A
timeout 2 uint16_t 重启设备延迟时间

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x0A
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

0x0B 写设备参数

支持设备/固件版本:
Livox Hub/08.09.0000+
Horizon/06.11.0000+
Tele-15/07.09.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x0B
param_list 2 -- 以键-值对的形式配置参数,详见下表

在“参数表”中,每个配置参数具有以下格式:

配置参数表格式

字段 偏移(字节) 数据类型 描述
0 uint16_t
长度 2 uint16_t 数值长度
数值 4 -- 不同键值具有不同的数值,详见 [配置参数](#4 配置参数)

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x0B
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败, 写参数发生错误
error_key 3 uint16_t 第一个错误配置参数的键值
error_code 5 uint8_t 见下表

“错误码”的含义:

配置参数错误码

错误码 描述
0 无错误
1 不支持该键
2 执行失败
3 该键无法写入
4 错误值
5 值长度错误
6 读取参数长度限制
7 参数长度不匹配

0x0C 读配置参数

支持设备/固件版本:
Livox Hub/08.09.0000+
Horizon/06.11.0000+
Tele-15/07.09.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x0C
param_num 2 uint8_t 参数数量
key_list 3 -- 读取参数键值表

在'key_list'中, 每个键有以下格式:

字段 偏移(字节) 数据类型 描述
0 uint16_t

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 通用指令: 0x00
cmd_id 1 uint8_t 指令ID: 0x0C
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败, 读取参数发生错误
error_key 3 uint16_t 第一个错误参数键值
error_code 5 uint8_t 详见 配置参数错误码
param_list 6 -- 以键-值对的形式配置参数,详见 配置参数表格式

5.2 雷达指令集

0x00 模式切换指令

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x00
LiDAR_mode 2 uint8_t 雷达模式:
用户可以设置如下模式:
0x01: 正常工作模式
0x02:低功耗模式
0x03: 待机模式

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x00
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
0x02: 正在切换

0x01 写入雷达外部参数

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x01
roll 2 float32 横滚角, 单位: 度
pitch 6 float32 俯仰角,单位: 度
yaw 10 float32 航向角, 单位: 度
x 14 int32_t X 平移, 单位: mm
y 18 int32_t Y 平移, 单位: mm
z 22 int32_t Z 平移, 单位: mm

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x01
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

0x02 读取雷达外部参数

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x02

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x02
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
roll 3 float32 横滚角, 单位: 度
pitch 7 float32 俯仰角,单位: 度
yaw 11 float32 航向角, 单位: 度
x 15 int32_t X 平移, 单位: mm
y 19 int32_t Y 平移, 单位: mm
z 23 int32_t Z 平移, 单位: mm

0x03 开启/关闭抗雨雾功能

支持设备:
Mid-40

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x03
state 2 uint8_t 开启/关闭抗雨雾功能:
0x00: 关闭
0x01: 开启

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x03
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

0x04 开启/关闭风扇

支持设备:
Mid-40/03.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x04
state 2 uint8_t 开启/关闭风扇:
0x00: 关闭
0x01: 开启

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x04
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
此配置会保存到flash

0x05 读取风扇开/关状态

支持设备:
Mid-40/03.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x05

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x05
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
state 3 uint8_t 风扇开/关状态:
0x00: 关闭
0x01: 开启

0x06 设置雷达回波模式

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x06
mode 2 uint8_t 回波模式:
0x00: Single Return First
0x01: Single Return Strongest
0x02: Dual Return
0x03: Triple Return

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x06
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
此配置保存在flash中

0x07 获取雷达回波模式

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x07

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x07
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
mode 3 uint8_t 回波模式:
0x00: Single Return First
0x01: Single Return Strongest
0x02: Dual Return
0x03: Triple Return

0x08 设置IMU数据推送频率

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+
Avia/11.06.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x08
frequency 2 uint8_t IMU数据推送频率:
0x00: 0Hz(关闭IMU数据推送)
0x01: 200Hz

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x08
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
该配置存储在flash中.

0x09 获取IMU数据推送频率

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+
Avia/11.06.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x09

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x09
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
frequency 3 uint8_t IMU数据推送频率:
0x00: 0Hz(关闭IMU数据推送)
0x01: 200Hz

0x0A 更新UTC同步时间

支持设备:
Mid-40/03.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+
Mid-70/10.03.0000+
Avia/11.06.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x0A
year 2 uint8_t UTC 年:
0 代表2000 年
255 代表2255 年
month 3 uint8_t UTC 月: 范围为 1-12
day 4 uint8_t UTC 日: 范围为 1-31
hour 5 uint8_t UTC 时: 范围为 0-23
microsecond 6 uint32_t 1 小时内偏移值,单位:us
应答
ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t 雷达指令: 0x01
cmd_id 1 uint8_t 指令ID: 0x0A
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

5.3 Hub 指令集

0x00 查询已连接雷达设备信息

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x00

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x00
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 已经连接到Hub的雷达数量范围: 0 ~ 27
info_list 4 -- 已连接雷达设备信息表

在‘info_list’中,每个雷达设备信息具有以下格式:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码
dev_type 16 uint8_t 设备类型:
1: Mid-40
2: Tele-15
3: Horizon
version 17 uint8_t[4] LiDAR 固件版本
样例: AA.BB.CC.DD
version[0] = AA
version[1] = BB
version[2] = CC
version[3] = DD
slot_id 21 uin8_t 安装雷达的端口号
LiDAR_id 22 uint8_t 雷达 ID:
1: Mid-100 左/ Mid-40 / Tele-15 / Horizon/Mid-70
2: Mid-100 中
3: Mid-100 右

0x01 设置雷达模式

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x01
count 2 uint8_t 设置雷达数量范围: 1 ~ 27
config_list 3 -- 雷达模式配置表

config_list’中, 每个雷达模式配置信息具有以下格式:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码
LiDAR_mode 16 uint8_t 雷达模式:
用户可以配置如下模式:
0x01: 正常模式
0x02: 低功耗模式
0x03: 待机模式

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x01
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
0x02: Switching
count 3 uint8_t 雷达设置数量范围: 1 ~ 27
return_list 4 -- 返回信息表

return_list’中, 每次返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
broadcast_code 1 uint8_t[16] 雷达广播码

0x02 开启/关闭指定端口的电源

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x02
slot_id 2 uint8_t 端口ID范围: 1 ~ 9
power_ctrl 3 uint8_t 电源控制:
0x00: 关闭
0x01: 开启

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x02
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

0x03 写雷达外部参数

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x03
count 2 uint8_t 设置雷达数量范围: 1 ~ 27
param_list 3 -- 雷达参数配置表

param_list’, 每个雷达参数配置格式如下:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码
roll 16 float 横滚角, 单位: 度
pitch 20 float 俯仰角, 单位: 度
yaw 24 float 航向角, 单位: 度
x 28 int32_t X 平移, 单位: mm
y 32 int32_t Y 平移, 单位: mm
z 36 int32_t Z 平移, 单位: mm

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x03
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 设置雷达数量范围: 1 ~ 27
return_list 4 -- 返回信息表

return_list’中, 每个返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
broadcast_code 1 uint8_t[16] 雷达广播码

0x04 读取雷达外部参数

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x04

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x04
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 设置雷达数量范围: 1 ~ 27
param_list 4 -- 雷达参数表

param_list’, 每个雷达参数配置格式如下:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
broadcast_code 1 uint8_t[16] 雷达广播码
roll 17 float 横滚角, 单位: 度
pitch 21 float 横滚角, 单位: 度
yaw 25 float 横滚角, 单位: 度
x 29 int32_t X 平移, 单位: mm
y 33 int32_t Y 平移, 单位: mm
z 37 int32_t Z 平移, 单位: mm

0x05 查询雷达状态信息

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x05

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x05
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 连接Hub雷达数量范围: 0 ~ 27
info_list 4 -- 雷达状态表

在 ‘info_list’中, 每个雷达状态信息具有以下格式:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码
work_state 16 uint8_t 雷达状态:
0x00: 初始化
0x01: 正常
0x02: 低功耗
0x03: 待机
0x04: 错误
feature_msg 17 uint8_t 雷达模式信息:
Bit0: 抗雨雾开关
0x00:关闭
0x01: 开启
Bit1 ~ Bit7: 保留位
ack_msg 18 uint32_t ACK 消息:
与‘work_state’相关:
work_state 为 0x00: 初始化
work_state 为其它: 状态码

0x06 开启/关闭Hub外参实时计算

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x06
state 2 uint8_t 开启/关闭Hub外参实时计算:
0:关闭
1: 开启

注意: Hub利用存储在每个雷达的外部参数进行坐标转换。坐标系先旋转然后平移。旋转以欧拉角进行,旋转轴的顺序依次为X-Y-Z.

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x06
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败

0x07 开启/关闭雷达抗雨雾功能

支持设备:
Mid-40

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x07
count 2 uint8_t 配置雷达数量范围: 1 ~ 27
config_list 3 -- 雷达配置信息表

config_list’中, 每个雷达的参数信息具有以下格式:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码
cmd_data 1 uint8_t 0: 关闭
1: 开启

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x07
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 设置雷达数量范围: 1 ~ 27
return_list 4 -- 返回信息表

return_list’中, 每个返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
0x02: 设备不支持
broadcast_code 1 uint8_t[16] 雷达广播码

0x08 查询中心板端口电源状态

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x08

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x08
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
slot_power_state 3 uint16_t 端口电源状态:
0x00: 关闭
0x01: 开启
bit0:端口1
bit1: 端口2
...
bit8: 端口9

0x09 设置雷达风扇开启/关闭

支持设备:
Mid-40/03.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x09
count 2 uint8_t 设置雷达数量发范围: 1 ~ 27
config_list 3 -- 雷达风扇配置表

config_list’, 每个雷达风扇配置信息具有以下格式:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码
state 1 uint8_t 开启/关闭风扇:
0: 关闭
1: 开启

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x09
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 雷达配置数量范围: 1 ~ 27
return_list 4 -- 返回信息列表

return_list’中, 每个返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
0x02: 设备不支持
broadcast_code 1 uint8_t[16] 雷达广播码

注意: 此指令保存在雷达flash,掉电不会丢失

0x0A 获取雷达开/关风扇状态

支持设备:
Mid-40/03.07.0000+
Horizon/06.04.0000+
Tele-15/07.03.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0A
count 2 uint8_t 雷达配置数量范围: 1 ~ 27
config_list 3 -- 雷达风扇配置信息表

config_list’中,每个雷达风扇配置信息格式如下:

字段 偏移(字节) 数据类型 描述n
broadcast_code 0 uint8_t[16] 雷达广播码

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0A
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 雷达设置数量范围: 1 ~ 27
return_list 4 -- 返回信息列表

return_list’中, 每个返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
0x02: 设备不支持
broadcast_code 1 uint8_t[16] 雷达广播码
state 17 uint8_t 风扇开/关状态:
0: 关闭
1: 开启

0x0B 设置雷达回波模式

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0B
count 2 uint8_t 雷达设置数量范围: 1 ~ 27
config_list 3 -- 雷达回波模式配置列表

I在 config_list’中, 每个雷达回波模式配置信息具有以下格式:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码
mode 1 uint8_t 回波模式:
0x00: Single Return First
0x01: Single Return Strongest
0x02: Dual Return

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0B
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 雷达设置数量范围: 1 ~ 27
return_list 4 -- 返回信息列表

return_list’中, 每个返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
0x02: 设备不支持
broadcast_code 1 uint8_t[16] 雷达广播码
雷达广播码
此配置保存在flash中

0x0C 获取雷达回波模式信息

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0C
count 2 uint8_t 雷达设置数量范围: 1 ~ 27
config_list 3 -- 雷达回波模式配置表

config_list’中, 每个雷达回波模式配置信息具有以下格式:

字段 偏移(字节) 数据类型 描述n
broadcast_code 0 uint8_t[16] 雷达广播码

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0C
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 雷达设置数量范围: 1 ~ 27
return_list 4 -- 返回信息列表

return_list’中, 每个返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
0x02: 数据不支持
broadcast_code 1 uint8_t[16] 雷达广播码
mode 17 uint8_t 回波模式:
0x00: Single Return First
0x01: Single Return Strongest
0x02: Dual Return

0x0D 设置雷达IMU数据推送频率

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+

请求

CMD名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0D
count 2 uint8_t 雷达设置数量范围: 1 ~ 27
config_list 3 -- 雷达IMU配置信息表

config_list’中, 每个雷达IMU频率配置信息具有以下格式:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码
frequency 1 uint8_t IMU 数据推送频率:
0x00: 0Hz(关闭IMU数据推送)
0x01: 200Hz

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0D
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 雷达设置数量范围: 1 ~ 27
return_list 4 -- 返回信息列表

return_list’中, 每个返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
0x02: Device not support
broadcast_code 1 uint8_t[16] 雷达广播码
此配置保存在flash中

0x0E 获取雷达IMU推送频率信息

支持设备:
Horizon/06.04.0000+
Tele-15/07.03.0000+

请求

CMD 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x0C
count 2 uint8_t 雷达设置数量范围: 1 ~ 27
config_list 3 -- 雷达IMU推送频率信息表

config_list’中, 每个雷达IMU频率配置信息具有以下格式:

字段 偏移(字节) 数据类型 描述
broadcast_code 0 uint8_t[16] 雷达广播码

应答

ACK 名称 偏移(字节) 数据类型 描述
data cmd_set 0 uint8_t Hub指令: 0x02
cmd_id 1 uint8_t 指令ID: 0x07
ret_code 2 uint8_t 返回码:
0x00: 成功
0x01: 失败
count 3 uint8_t 雷达设置数量范围: 1 ~ 27
return_list 4 -- 返回信息列表

return_list’中, 每个返回信息具有以下格式:

字段 偏移(字节) 数据类型 描述
ret_code 0 uint8_t LiDAR 返回码:
0x00: 成功
0x01: 失败
0x02:设备不支持
broadcast_code 1 uint8_t[16] 雷达广播码
frequency 17 uint8_t IMU 数据推送频率:
0x00: 0Hz(关闭IMU数据推送)
0x01: 200Hz