前言¶
概述
本文档介绍应用层相关协议,用于指导客户开发。
读者对象
本文档主要适用于以下工程师:
软件开发工程师
符号约定
在本文中可能出现下列标志,它们所代表的含义如下。
符号 |
说明 |
|---|---|
|
表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。 |
|
表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。 |
|
表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。 |
|
用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。 “须知”不涉及人身伤害。 |
|
对正文中重点信息的补充说明。 “说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。 |
修改记录
文档版本 |
发布日期 |
修改说明 |
|---|---|---|
01 |
2024-07-04 |
第一次正式版本发布。 |
概述¶
背景¶
星闪协议要求从机与主机侧交互时,从机和主机侧都搭配星闪芯片。多数场景下,主机侧的星闪芯片只作为桥片使用星闪的controller功能,星闪host部署在主SOC上。但在某些应用场景下,主机侧的星闪芯片需要使用芯片自带的星闪Host,不再作为桥片。为了实现主机SOC应用层与星闪芯片内host之间的交互,需要有对应的协议传输指令和数据。
需求¶
为支撑星闪芯片内host与主机SOC应用层之间进行消息交互,需要在应用层定义新的协议,简称SLE-Link协议。
SLE Frame格式定义¶
SLE-Link协议定义了新的SLE Frame格式,格式如下:
SLE Frame格式定义¶

注意: Service ID和Command ID使用0作为非法值
字段 |
长度 |
含义 |
|---|---|---|
Flag |
1Byte |
Flag为固定值,作为星闪消息数据域的识别符,1字节。 |
Version |
1Byte |
Version表示对应的软件版本信息,根据需要添加,1字节。 |
Total Frame |
1Byte |
表示总包数。 |
Frame Seq |
1Byte |
表示包序号。 |
Rsv |
1Byte |
保留字段,便于拓展。 |
Service ID |
1Byte |
每个报文所属的业务类型,比如:设备发现,连接管理,OTA服务等。 |
CommandID |
1Byte |
每个业务类型下的具体操作,比如:建立连接,断开连接、参数更新。 |
BodyLen |
2Byte |
指示后续body部分的数据长度。 |
Body |
Variable Byte |
实际数据,以TLV格式,可以存放多个TLV。 |
MIC |
2Byte |
Message Integrity Check,消息完整性校验,采用CRC算法。对前面所有数据生成校验结果。 |
Header¶
Flag固定值:取值为0x1F。
Version:表示对应的软件版本信息。
Total Frame:表示总包数,不分包,该字段为1;如果分包,则该字段≥2。
Frame Seq:如果不分包则置为0,如果需要分包则该字段为帧序号,从1开始依次添加。
Service ID¶
Service ID:占1字节,用于标识服务类型。取值0~255,每个Service ID固定从1开始编号。
Service ID定义如下表。
为了避免各个领域和产品型态的Service ID冲突,将Service ID进行统一划分:
Service ID |
Service Name |
Description |
|---|---|---|
0x01 |
Device Discovery Service |
设备发现。 |
0x02 |
Connection Management Service |
连接管理。 |
0x03 |
SSAP Client Service |
SSAP Client服务。 |
0x04 |
SSAP Server Service |
SSAP Server服务。 |
0x05 |
Factory Test Service |
产测模式。 |
0x06 |
Low Latency Service |
低延时模式。 |
Command ID¶
Command ID:占1字节,用于标识具体命令类型,每个Service ID对应的Command ID都从1开始,表明真实的逻辑行为,具体的Command ID说明在后续的服务接口定义中详细介绍。
TLV格式¶
TLVs封装消息中的具体信息。一个Payload的body下可以对应多个TLV。

Type:占用1个字节,表示消息类型,取值0~255。其中0x00,0xFF不使用,0x7F固定用作错误码。
Length:占用2个字节,表示后面value的长度,取值范围0~65535。当Length为0时,表明Value不存在。
Value:为具体的数据。
注:简化处理,不支持Type下再挂子节点。
通用错误码¶
通用错误码Type值为127,固定为1个字节。格式如下。

Error |
类别 |
描述 |
|---|---|---|
0x00 |
通用错误 |
成功。 |
0x01 |
未知error类型。 |
|
0x02 |
不支持该请求。 |
|
0x03 |
无权限。 |
|
0x04 |
系统忙。 |
|
0x05 |
请求格式错误。 |
|
0x06 |
参数错误。 |
|
0x07 |
申请内存失败。 |
|
0x08 |
响应超时。 |
MIC校验¶
发送端和接收端,都采用相同的算法进行校验证,接收到当检测到计算出来的MIC与发送端携带的MIC不同时,认为数据不合法,直接丢弃。
MIC采用CRC-16,算法名称:CRC-16/XMODEM,多项式poly:0x1021

Frame合法性原则¶
接收Frame Request¶
Device侧检查DATA内容,Header是0x1F,且对MIC前的所有字段做校验,得到的结果与MIC的2个字节相同,则认为是合法的SLE Frame消息。
接收Frame Response¶
Host侧检查DATA内容,Header是0x1F, 且对MIC前的所有字段做校验,得到的结果与MIC的2个字节相同,则认为是合法的SLE Frame消息。
服务接口定义¶
Device Discovery Service¶
使能SLE¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x01 |
使能SLE协议栈 |
TLV参数:
无
去使能SLE¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x02 |
去使能SLE协议栈 |
TLV参数:
无
设置本地设备地址¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x03 |
去使能SLE协议栈 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value 数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
获取本地设备地址¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x04 |
获取本地设备地址 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value 数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
设置本地设备名称¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x05 |
设置本地设备名称 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
name |
0x01 |
1 |
uint8 |
len |
0x02 |
1 |
uint8 |
获取本地设备名称¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x06 |
获取本地设备名称 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
name |
0x01 |
1 |
uint8 |
len |
0x02 |
1 |
uint8 |
设置设备公开数据¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x07 |
设置设备公开数据 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
announce_id |
0x01 |
1 |
uint8 |
announce_data_len |
0x02 |
2 |
uint16_t |
seek_rsp_data_len |
0x03 |
2 |
uint16_t |
announce_data |
0x04 |
1 |
uint8_t |
seek_rsp_data |
0x05 |
1 |
uint8_t |
设置设备公开参数¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x08 |
设置设备公开参数 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
announce_id |
0x01 |
1 |
uint8 |
announce_handle |
0x02 |
1 |
uint16 |
announce_mode |
0x03 |
1 |
uint16 |
announce_gt_role |
0x04 |
1 |
uint8 |
announce_level |
0x05 |
1 |
uint8 |
announce_interval_min |
0x06 |
4 |
uint32 |
announce_interval_max |
0x07 |
4 |
uint32 |
announce_channel_map |
0x08 |
1 |
uint8 |
announce_tx_power |
0x09 |
1 |
uint8 |
own_addr_type |
0x0A |
1 |
uint8 |
own_addr |
0x0B |
6 |
unsigned char |
peer_addr_type |
0x0C |
1 |
uint8 |
peer_addr |
0x0D |
6 |
unsigned char |
conn_interval_min |
0x0E |
2 |
uint16 |
conn_interval_max |
0x0F |
2 |
uint16 |
conn_max_latency |
0x10 |
2 |
uint16 |
conn_supervision_timeout |
0x11 |
2 |
uint16 |
开始设备公开¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x09 |
开始设备公开 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
announce_id |
0x01 |
1 |
uint8 |
结束设备公开¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x0A |
结束设备公开 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
announce_id |
0x01 |
1 |
uint8 |
设置设备扫描参数¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x0B |
设置设备扫描参数 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
own_addr_type |
0x01 |
1 |
uint8 |
filter_duplicates |
0x02 |
1 |
uint8 |
seek_filter_policy |
0x03 |
1 |
uint8 |
seek_phys |
0x04 |
1 |
uint8 |
seek_type |
0x05 |
3 |
uint8 |
seek_interval |
0x06 |
6 |
uint16 |
seek_window |
0x07 |
6 |
uint16 |
上报设备扫描结果¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x0C |
上报设备扫描结果 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
event_type |
0x01 |
1 |
uint8 |
addr_type |
0x02 |
1 |
uint8 |
addr |
0x03 |
6 |
unsigned char |
direct_addr_type |
0x04 |
1 |
uint8 |
direct_addr |
0x05 |
6 |
unsigned char |
rssi |
0x06 |
1 |
uint8 |
data_status |
0x07 |
1 |
uint8 |
data_lenth |
0x08 |
2 |
uint8 |
data |
0x09 |
n |
uint8 |
开始设备扫描¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x0D |
开始设备扫描 |
TLV 参数:
无
停止设备扫描¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x01 |
0x0E |
停止设备扫描 |
TLV 参数:
无
Connection Management Service¶
发送链接请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x01 |
发送链接请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
断开链接请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x02 |
断开链接请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
更新链接参数请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x03 |
更新链接参数请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
conn_id |
0x01 |
2 |
uint16 |
interval_min |
0x02 |
2 |
uint16 |
interval_max |
0x03 |
2 |
uint16 |
max_latency |
0x04 |
2 |
uint16 |
supervision_timeout |
0x05 |
2 |
uint16 |
发送配对请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x04 |
发送配对请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
删除配对¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x05 |
删除配对 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
删除所有配对¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x06 |
删除所有配对 |
TLV 参数:
无
获取配对设备数量¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x07 |
获取配对设备数量 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
number |
0x01 |
2 |
uint16 |
获取配对设备¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x08 |
获取配对设备 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
number |
0x03 |
2 |
uint16 |
获取配对状态¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x09 |
获取配对状态 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
state |
0x03 |
1 |
uint8 |
读取对端设备RSSI值¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x0A |
读取对端设备RSSI值 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
conn_id |
0x01 |
2 |
uint16 |
设置ACB链路参数¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x0B |
设置ACB链路参数 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
conn_id |
0x01 |
2 |
uint16 |
evt_int |
0x02 |
2 |
uint16 |
evt_num |
0x03 |
1 |
uint8 |
设置PHY参数¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x0C |
设置PHY参数 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
conn_hdl |
0x01 |
2 |
uint16 |
tx_format |
0x02 |
1 |
uint16 |
rx_format |
0x03 |
1 |
uint8 |
tx_phy |
0x04 |
1 |
uint8 |
rx_phy |
0x05 |
1 |
uint8 |
tx_pilot_density |
0x06 |
1 |
uint8 |
rx_pilot_density |
0x07 |
1 |
uint8 |
g_feedback |
0x08 |
1 |
uint8 |
t_feedback |
0x09 |
1 |
uint8 |
设置最大功率¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x0D |
设置最大功率 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
ble_pwr |
0x01 |
1 |
uint8 |
sle_pwr |
0x02 |
1 |
uint8 |
发送链接管理能力查询请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x0E |
发送链接管理能力查询请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
conn_id |
0x01 |
1 |
uint16 |
relay_capability |
0x02 |
1bit |
uint32 |
trans_mode |
0x03 |
1bit |
uint32 |
measurement_capability |
0x04 |
1bit |
uint32 |
access_slb |
0x05 |
1bit |
uint32 |
access_sle |
0x06 |
1bit |
uint32 |
mtu |
0x07 |
1bit |
uint32 |
mps |
0x08 |
1bit |
uint32 |
reserve |
0x09 |
25bit |
uint32 |
断开所有链接¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x0F |
断开所有链接 |
TLV 参数:
空
获取绑定设备¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x010 |
获取绑定设备 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
type |
0x01 |
1 |
uint8 |
addr |
0x02 |
6 |
usigned char |
number |
0x03 |
2 |
uint16 |
设置调制与编码策略¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x11 |
设置MCS |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
conn_id |
0x01 |
2 |
uint16 |
mcs |
0x02 |
1 |
uint8 |
设置最大payload字节数¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x12 |
设置最大payload |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
conn_id |
0x01 |
2 |
uint16 |
tx_octets |
0x02 |
2 |
uint16 |
发送连接状态查询请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x02 |
0x13 |
发送连接状态查询请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value 数据类型 |
|---|---|---|---|
conn_status |
0x01 |
1 |
uint8 |
SSAP Client Service¶
注册SSAP客户端¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x01 |
注册SSAP客户端 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
len |
0x01 |
1 |
uint8 |
uuid |
0x02 |
16 |
uint8 |
client_id |
0x03 |
1 |
uint8 |
注销SSAP客户端¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x02 |
注销SSAP客户端 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
client_id |
0x01 |
1 |
uint8 |
查找服务、特征、描述符¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x03 |
查找服务、特征、描述符 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
client_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
type |
0x03 |
1 |
uint8 |
start_hdl |
0x04 |
2 |
uint16 |
end_hdl |
0x05 |
2 |
uint16 |
len |
0x06 |
1 |
uint8 |
uuid |
0x07 |
16 |
uint8 |
reserve |
0x08 |
1 |
uint8 |
发起按照UUID读取请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x04 |
发起按照UUID读取请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
client_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
type |
0x03 |
1 |
uint8 |
start_hdl |
0x04 |
2 |
uint16 |
end_hdl |
0x05 |
2 |
uint16 |
len |
0x06 |
1 |
uint8 |
uuid |
0x07 |
16 |
uint8 |
发起按照句柄读取请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x05 |
发起按照句柄读取请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
client_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
handle |
0x03 |
2 |
uint16 |
type |
0x04 |
1 |
uint8 |
发起写请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x06 |
发起写请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
client_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
handle |
0x03 |
2 |
uint16 |
type |
0x04 |
1 |
uint8 |
data_len |
0x05 |
2 |
uint16 |
data |
0x06 |
1 |
uint8 |
发起写命令¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x07 |
发起写命令 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
client_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
handle |
0x03 |
2 |
uint16 |
type |
0x04 |
1 |
uint8 |
data_len |
0x05 |
2 |
uint16 |
data |
0x06 |
1 |
uint8 |
发送交换info请求¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x08 |
发送交换info请求 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
client_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
mtu_size |
0x03 |
4 |
uint32 |
version |
0x04 |
2 |
uint16 |
SSAP Server Service¶
注册SSAP服务端¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x01 |
注册SSAP服务端 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
len |
0x01 |
1 |
uint8 |
uuid |
0x02 |
16 |
uint8 |
server_id |
0x03 |
1 |
uint8 |
注销SSAP服务端¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x02 |
注销SSAP服务端 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
异步添加SSAP服务¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x03 |
异步添加SSAP服务 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
len |
0x02 |
1 |
uint8 |
uuid |
0x03 |
16 |
uint8 |
is_primary |
0x04 |
1 |
bool |
异步添加SSAP属性¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x04 |
异步添加SSAP属性 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
service_handle |
0x02 |
2 |
uint16 |
len |
0x02 |
1 |
uint8 |
uuid |
0x03 |
16 |
uint8 |
permissions |
0x04 |
2 |
uint16 |
operate_indication |
0x05 |
4 |
uint32 |
value_len |
0x06 |
2 |
uint16 |
value |
0x07 |
1 |
uint8 |
异步添加SSAP描述¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x05 |
异步添加SSAP描述 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
service_handle |
0x02 |
2 |
uint16 |
property_handle |
0x03 |
2 |
uint16 |
len |
0x02 |
1 |
uint8 |
uuid |
0x03 |
16 |
uint8 |
permissions |
0x04 |
2 |
uint16 |
operate_indication |
0x05 |
4 |
uint32 |
type |
0x06 |
1 |
uint8 |
value_len |
0x07 |
2 |
uint16 |
value |
0x08 |
1 |
uint8 |
同步添加SSAP服务¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x06 |
同步添加SSAP服务 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
len |
0x02 |
1 |
uint8 |
uuid |
0x03 |
16 |
uint8 |
is_primary |
0x04 |
1 |
bool |
handle |
0x05 |
2 |
uint16 |
同步添加SSAP属性¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x07 |
同步添加SSAP属性 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
service_handle |
0x02 |
2 |
uint16 |
len |
0x02 |
1 |
uint8 |
uuid |
0x03 |
16 |
uint8 |
permissions |
0x04 |
2 |
uint16 |
operate_indication |
0x05 |
4 |
uint32 |
value_len |
0x06 |
2 |
uint16 |
value |
0x07 |
1 |
uint8 |
handle |
0x05 |
2 |
uint16 |
同步添加SSAP描述¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x08 |
同步添加SSAP描述 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
service_handle |
0x02 |
2 |
uint16 |
property_handle |
0x03 |
2 |
uint16 |
len |
0x02 |
1 |
uint8 |
uuid |
0x03 |
16 |
uint8 |
permissions |
0x04 |
2 |
uint16 |
operate_indication |
0x05 |
4 |
uint32 |
type |
0x06 |
1 |
uint8 |
value_len |
0x07 |
2 |
uint16 |
value |
0x08 |
1 |
uint8 |
开始SSAP服务¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x09 |
开始SSAP服务 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
service_handle |
0x02 |
2 |
uint16 |
删除所有SSAP服务¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x0A |
删除所有SSAP服务 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
发送SSAP响应¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x0B |
发送SSAP响应 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
request_id |
0x03 |
2 |
uint16 |
status |
0x04 |
1 |
uint8 |
value_len |
0x05 |
2 |
uint16 |
value |
0x06 |
1 |
uint8 |
发送通知或指示¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x0C |
发送通知或指示 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
handle |
0x03 |
2 |
uint16 |
type |
0x04 |
1 |
uint8 |
value_len |
0x05 |
2 |
uint16 |
value |
0x06 |
1 |
uint8 |
通过UUID发送通知或指示¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x0D |
通过UUID发送通知或指示 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
conn_id |
0x02 |
2 |
uint16 |
len |
0x03 |
1 |
uint8 |
uuid |
0x04 |
16 |
uint8 |
start_handle |
0x05 |
2 |
uint16 |
end_handle |
0x06 |
2 |
uint16 |
type |
0x07 |
1 |
uint8 |
value_len |
0x08 |
2 |
uint16 |
value |
0x09 |
1 |
uint8 |
设置服务端info¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x0E |
设置服务端info |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
server_id |
0x01 |
1 |
uint8 |
mtu_size |
0x02 |
4 |
uint32 |
version |
0x03 |
2 |
uint16 |
Factory Test Service¶
打开射频发送¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x01 |
打开射频发送 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
tx_freq |
0x01 |
1 |
uint8 |
tx_power |
0x02 |
1 |
uint8 |
test_data_len |
0x03 |
2 |
uint16 |
pk_payload_type |
0x04 |
1 |
uint8 |
tx_phy |
0x05 |
1 |
uint8 |
tx_format |
0x06 |
1 |
uint8 |
tx_rate |
0x07 |
1 |
uint8 |
tx_pilot_ratio |
0x08 |
1 |
uint8 |
tx_polar_r |
0x09 |
1 |
uint8 |
tx_interval |
0x0A |
2 |
uint16 |
打开射频接收¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x02 |
打开射频接收 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
rx_freq |
0x01 |
1 |
uint8 |
rx_phy |
0x02 |
1 |
uint8 |
rx_format |
0x03 |
1 |
uint8 |
rx_pilot_ratio |
0x04 |
1 |
uint8 |
rx_interval |
0x05 |
2 |
uint16 |
关闭射频收发¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x03 |
关闭射频收发 |
TLV 参数:
无
重置射频收发¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x04 |
重置射频收发 |
TLV 参数:
无
设置RSSI阈值¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x03 |
0x05 |
设置RSSI阈值 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
rssi_sheld |
0x01 |
1 |
uint8 |
Low Latency Service¶
低延时鼠标侧使能¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x01 |
低延时鼠标侧使能 |
TLV 参数:
无
低延时Dongle侧使能¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x02 |
低延时Dongle侧使能 |
TLV 参数:
无
低延时参数设置¶
Service ID |
Comand ID |
Description |
|---|---|---|
0x04 |
0x03 |
低延时参数设置 |
TLV 参数:
字段名称 |
Type(bit0~bit6) |
Length Size(Oct) |
Value数据类型 |
|---|---|---|---|
conn_id |
0x01 |
2 |
uint16 |
enable |
0x02 |
1 |
uint8 |
rate |
0x03 |
1 |
uint8 |
交互流程示例¶
以SSAP交互流程为例,流程图如图1所示。
图 1 交互流程图





