Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »


以下内容为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

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

  • No labels