以下内容为ControlBus 协议下slamware支持功能命令及响应总结,pdf版请点击这里下载。ControlBus详尽内容请参阅ControlBus 通讯接口协议手册

Table 1 Request CMD Table

u8

u8

 u8

u8[]

 u8

 

Flag

Length

CMD

Payload[n]

Checksum

Control Bus Packet

0x10

Length[7:0]

CMD

Data

checksum

----Standard Frame

0x50

Length[15:0]

CMD

Data

checksum

----Long Frame


CMD

NAME

DESCRIPTION

PAYLOAD[n]

0x00

SYNC

强制同步帧。用于实现通讯信道同步

随机填充数据,任意长度

0x01

ECHO

ECHO 帧,用于测试 Slave 通讯状况

任意值

0xF8

CTRL_BUS

Control Bus协议扩展,扩展请求命令由Payload中第一个字节决定(命令参见Table 4).

Control Bus协议数据包,参见Table 4

0x02 – 0x0F

Reserved

保留

NA

Table 2 Response CMD Table

u8

u8

 u8

u8[]

 u8

 

Flag

Length

Response

Payload[n]

Checksum

Control Bus Packet

0x10

Length[7:0]

Resp

Data

checksum

----Standard Frame

0x50

Length[15:0]

Resp

Data

checksum

----Long Frame


Response

NAME

DESCRIPTION

PAYLOAD[n]

0x00

SYNC

强制同步帧应答包

完整复制收到的请求帧

0x01

ECHO

ECHO 帧应答包

完整复制收到的请求帧

0x02

OK

<OK>当前请求正确执行或系统无异常

请求所需数据。

0x03

ERROR

<Error>请求执行错误(错误码参见Table 3)

错误码,详见Table 3

0xFF

INVALID

<Invalid>数据包接收不完整或者结构错误

其他

Reserved

保留

NA

Table 3 Error Code Table

Error

DESCRIPTION

0x10

Slave 协议栈信道没有完成同步

0x20

请求命令包长度超过了当前 Slave 协议栈缓冲区承受范围

0x40

请求命令包校验和不匹配

0x8000

请求命令包中的 CMD 字段不被 Slave 支持

0x8001

请求命令在执行中遇到格式类错误,例如请求参数不符合规范

0x8002

请求命令在执行中遇到操作类错误,例如执行过程遇到问题而无法继续

Table 4 Control Bus Request Table

u8

u8

 u8

u8

u8[]

 u8

 

Flag

Length

CMD

Request

Data[n]

Checksum

Control Bus Packet:

0x10

Length[7:0]

0xF8

CTRL_BUS_CMD

Data

checksum

----Standard Frame

0x50

Length[15:0]

0xF8

CTRL_BUS_CMD

Data

checksum

----Long Frame


Request

NAME

DESCRIPTION

Data[n]

0x10 *

CONNECT_BASE

请求连接外部系统

协议版本号(u8)

0x20 *

GET_BASE_CONF

请求获得外部系统的参数

0x21

GET_BASE_CONF_ADV

请求获得外部系统的参数(扩展)。SLAMWARE 先尝试该指令,若返回错误码0x8000,则再调用 0x20

0x30 *

GET_BASE_STATUS

请求获取外部系统的电池电量,充电状态

0x31 *

GET_BASE_MOTOR_DATA

请求外部系统返回轮组运行距离累计值

0x32 *

GET_BASE_SENSOR_DATA

请求外部系统返回距离传感器的数据

0x33 *

GET_BASE_BUMPER_DATA

请求外部系统返回触碰传感器的数据

0x34 *

GET_CHARGER_DATA

请求外部系统返回自动回充的数据

自动回充的数据类型(u8)

0x35

GET_AUXILIARY_ANCHOR

请求辅助定位传感器数据

0x40 *

SET_BASE_MOTOR

请求外部系统控制轮组运动

运动速度(s32[4])

0x41 *

SET_V_AND_GET_DEADRECKON

请求外部系统设置速度变量并获取上一个周期的Deadreckon数据。

X轴向速度量(s32)     

Y轴向速度量(s32)    角速度量(s32)

0x50 *

POLL_BASE_CMD

查询外部系统是否有命令发送。外部系统只能在SLAMWARE Core发送外部系统控制命令查询请求的后才可以发送控制命令。外部系统的命令代码,只能是SLAMWARE Core支持的命令代码。(外部命令参见Table 5)。

0x5F *

POLL_BASE_ANS_CMD

回应外部系统命令请求

0x60 *

SEND_EVENT

通知外部系统 SLAMWARE CORE事件.(事件码参见Table 6)

系统事件编号(u8)详见Table 6

0x90 *

HEALTH_MGMT

获取外部系统健康状况

0x01

*外部系统必须响应


Table 5 Control Bus External CMD Table

u8

u8

 u8

u8

u8[]

 u8

 

Flag

Length

Response

CMD

Data[n]

Checksum

Control Bus Packet:

0x10

Length[7:0]

0x02

CTRL_BUS_CMD

Data

checksum

----Standard Frame

0x50

Length[15:0]

0x02

CTRL_BUS_CMD

Data

checksum

----Long Frame


CMD

NAME

DESCRIPTION

Data[n]

0x51

GET_INFO

获取SLAMWARE CORE系统信息,包含软硬件版本,网络配置。

0x52

RESET_WIFI

重置SLAMWARE CORE无线网络

0x53

FW_UPGRADING

更新SLAMWARE CORE固件

0x80

START_SWEEP

开始清扫(仅针对扫地机版本)

0x81

STOP_SWEEP

结束清扫(仅针对扫地机版本)

0x82

SPOT_SWEEP

定点清扫(仅针对扫地机版本)

0x90

GET_HEALTH

获取健康状况

0xA0

MOVE_FORWARD

向前

0xA1

MOVE_BACKWARD

向后

0xA2

TURN_LEFT

向左

0xA3

TURN_RIGHT

向右

0xAF

CANCEL_ACTION

取消上一步操作

0xB0

GET_AUXILIARY_ANCHOR

获取辅助定位传感器

Table 6 Slamcore System Event Table

CMD

NAME

DESCRIPTION

0x61

LIDAR_CONN_FAIL

LIDAR连接失败

0x62

LIDAR_RAMPUP_FAIL

LIDAR启动失败

0x63

SYSTEM_UP_OK

系统启动成功

0x64

FIRMWARE_UPDATE

系统固件升级

0x65

CORE_DISCONNECT

系统断开连接

0x66

FIRMWARE_UPDATE_OK

固件升级成功

0x80

START_SWEEP

通知外部系统清扫开始(仅针对扫地机版本)

0x81

END_SWEEP

通知外部系统清扫结束(仅针对扫地机版本)