connection
SLE (Star Flash Low Energy) 连接管理模块提供星闪协议的设备发现、配对、连接、断连、自动回连、定向回连等连接管理能力,以及协议栈使能与参数配置功能。
头文件清单
#include "protocol/bt/host/include/sle/sle_service/ssf_connection.h"
#include "protocol/bt/host/include/sle/sle_service/ssf_device.h"
#include "protocol/bt/host/include/sle/sle_service/ssf_config.h"
#include "protocol/bt/host/include/sle/sle_service/ssf_config_stru.h"
#include "protocol/bt/host/include/sle/sle_service/ssf_acquire.h"
#include "protocol/bt/host/include/sle/sle_service/ssf_init.h"
接口清单
| 接口名称 | 功能简述 |
|---|---|
| bs_sle_register_device_callbacks | 注册SLE设备回调函数 |
| bs_sle_unregister_device_callbacks | 取消注册SLE设备回调函数 |
| bs_sle_remove_addr | 移除指定地址的SLE设备 |
| bs_sle_register_callbacks | 注册SLE连接管理回调函数 |
| bs_sle_unregister_callbacks | 取消注册SLE连接管理回调函数 |
| bs_sle_start_discovery | 启动SLE设备发现 |
| bs_sle_stop_discovery | 停止SLE设备发现 |
| bs_sle_start_pair | 发起SLE配对 |
| bs_sle_disconnect | 断开指定SLE连接 |
| bs_sle_disconnect_all | 断开所有SLE连接 |
| bs_sle_remove_pair | 移除指定设备的配对信息 |
| bs_sle_remove_all_pairs | 移除所有设备的配对信息 |
| bs_sle_start_auto_conn | 启动SLE自动回连 |
| bs_sle_stop_auto_conn | 停止SLE自动回连 |
| bs_sle_set_connect_param | 设置SLE连接参数 |
| bs_sle_read_remote_device_rssi | 读取远端设备RSSI值 |
| bs_sle_set_phy_param | 设置SLE PHY参数 |
| bs_sle_set_data_length | 设置SLE数据长度 |
| bs_sle_start_directed_reconnect | 启动SLE定向回连 |
| bs_sle_stop_directed_reconnect | 停止SLE定向回连 |
| bs_sle_set_ota_state | 设置SLE OTA状态 |
| bs_sle_acquire | 获取SLE指定类型数据 |
| bs_sle_config | 配置SLE参数 |
| bs_sle_get_config | 查询SLE配置参数 |
| bs_sle_config_template | 配置SLE模板类型 |
| bs_sle_register_stack_state_callbacks | 注册SLE协议栈状态回调函数 |
| bs_sle_enable | 使能SLE协议栈 |
| bs_sle_disable | 去使能SLE协议栈 |
Functions
bs_sle_register_device_callbacks
头文件清单
功能说明
- 注册SLE设备回调函数,用于接收对象分配和对象恢复上报
- 通过app_id标识不同应用的回调注册
- 注册后当SLE对象分配或恢复时,对应回调函数将被调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| app_id | uint32_t | 应用标识 | 0 ~ 4294967295 |
| cbks | bs_sle_device_callbacks_t * | 设备回调函数结构体指针 | 非NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 回调注册成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_unregister_device_callbacks
头文件清单
功能说明
- 取消注册SLE设备回调函数
- 通过app_id标识需要取消注册的应用
- 取消注册后该应用不再接收设备相关上报
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| app_id | uint32_t | 应用标识 | 0 ~ 4294967295 |
bs_sle_remove_addr
头文件清单
功能说明
- 移除指定地址的SLE设备
- 通过设备地址定位需要移除的设备
- 移除结果通过返回的错误码指示
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| addr | uint8_t * | 设备地址指针 | 非NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 设备移除成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_register_callbacks
头文件清单
功能说明
- 注册SLE连接管理回调函数,包括配对请求、连接状态、发现结果等回调
- 通过app_id标识不同应用的回调注册
- 注册后当SLE连接相关事件发生时,对应回调函数将被调用
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| app_id | uint32_t | 应用标识 | 0 ~ 4294967295 |
| cbks | bs_sle_callbacks_t * | 连接管理回调函数结构体指针 | 非NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 回调注册成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_unregister_callbacks
头文件清单
功能说明
- 取消注册SLE连接管理回调函数
- 通过app_id标识需要取消注册的应用
- 取消注册后该应用不再接收连接管理相关上报
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| app_id | uint32_t | 应用标识 | 0 ~ 4294967295 |
bs_sle_start_discovery
头文件清单
功能说明
- 启动SLE设备发现流程
- 根据指定类型以中心设备或外围设备角色进入发现态
- 发现结果通过注册的discovery_result_cb回调上报
前置条件
- 调用时序约束:需先调用bs_sle_enable()使能SLE协议栈
- 依赖关系:需先调用bs_sle_register_callbacks()注册发现结果回调
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| type | bs_sle_discovery_type_t | 发现模式类型 | SLE_DISCOVERY_CENTRAL(0) / SLE_DISCOVERY_PERIPHERAL(1) / SLE_DISCOVERY_PERIPHERAL_FORCE_SCAN(2) |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 发现流程启动成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_stop_discovery
头文件清单
功能说明
- 停止SLE设备发现流程
- 根据指定类型停止对应角色的发现态
- 停止后不再上报发现结果
前置条件
- 调用时序约束:需先调用bs_sle_start_discovery()启动设备发现
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| type | bs_sle_discovery_type_t | 发现模式类型 | SLE_DISCOVERY_CENTRAL(0) / SLE_DISCOVERY_PERIPHERAL(1) / SLE_DISCOVERY_PERIPHERAL_FORCE_SCAN(2) |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 发现流程停止成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_start_pair
头文件清单
功能说明
- 向指定地址的远端设备发起SLE配对请求
- 配对结果通过注册的pair_complete_cb回调上报
- 配对请求通过pair_request_cb回调接收,默认接收配对,不上报
- 连接与加密结果都通过connect_state_cbk回调函数上报,共两次上报(连接完成后、加密完成后)
前置条件
- 调用时序约束:需先调用bs_sle_enable()使能SLE协议栈
- 依赖关系:需先调用bs_sle_register_callbacks()注册配对相关回调
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| addr | const sle_addr_t * | 对端设备地址指针 | 非NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 配对请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_disconnect
头文件清单
功能说明
- 断开指定SLE对象的连接
- 断连结果通过注册的connect_state_cb回调上报
- 断连原因通过回调结果中的reason字段指示
前置条件
- 调用时序约束:需先建立SLE连接
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| obj | sle_obj_t | SLE对象标识 | 0 ~ 0xFFFFFFFE,SLE_INVALID_OBJ_ID为非法值 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 断连请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_disconnect_all
头文件清单
功能说明
- 断开所有已建立的SLE连接
- 断连结果通过注册的connect_state_cb回调逐一上报
- 适用于需要快速释放所有连接的场景
前置条件
- 调用时序约束:需先建立SLE连接
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 全部断连请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_remove_pair
头文件清单
功能说明
- 移除指定SLE对象的配对信息
- 移除结果通过注册的pair_remove_cb回调上报
- 移除后设备间不再维持配对关系
前置条件
- 调用时序约束:需先完成SLE配对流程
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| obj | sle_obj_t | SLE对象标识 | 0 ~ 0xFFFFFFFE,SLE_INVALID_OBJ_ID为非法值 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 移除配对请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_remove_all_pairs
头文件清单
功能说明
- 移除所有已配对设备的配对信息
- 移除结果通过注册的pair_remove_cb回调逐一上报
- 适用于需要清除全部配对记录的场景
前置条件
- 调用时序约束:需先完成SLE配对流程
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 全部移除配对请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_start_auto_conn
头文件清单
功能说明
- 启动SLE自动回连流程
- 自动回连状态通过注册的auto_conn_state_cb回调上报
- 启动后协议栈将自动尝试与已配对设备建立连接
前置条件
- 调用时序约束:需先调用bs_sle_enable()使能SLE协议栈
- 依赖关系:需存在已配对的设备信息
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 自动回连启动成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_stop_auto_conn
头文件清单
功能说明
- 停止SLE自动回连流程
- 停止后协议栈不再自动尝试与已配对设备建立连接
- 回连状态变化通过注册的auto_conn_state_cb回调上报
前置条件
- 调用时序约束:需先调用bs_sle_start_auto_conn()启动自动回连
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 自动回连停止成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_set_connect_param
头文件清单
功能说明
- 设置指定设备的SLE连接参数
- 通过mode_id引用预配置的连接参数模板
- 参数更新结果通过注册的conn_param_update_cbk回调上报
前置条件
- 依赖关系:需先通过bs_sle_config()配置预置连接参数
- 调用时序约束:需先建立SLE连接
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 设备ID | 0 ~ 0xFFFE,SLE_INVALID_DEVICE_ID为非法值 |
| mode_id | uint16_t | 预置参数模式ID | 预置连接参数档位值 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 设置连接参数请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_read_remote_device_rssi
头文件清单
功能说明
- 读取指定远端设备的RSSI值
- 读取结果通过注册的read_rssi_cbk回调上报
- RSSI值反映与远端设备的信号强度
前置条件
- 调用时序约束:需先建立SLE连接
- 依赖关系:需先注册包含read_rssi_cbk的回调函数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 设备ID | 0 ~ 0xFFFE,SLE_INVALID_DEVICE_ID为非法值 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 读取RSSI请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_set_phy_param
头文件清单
功能说明
- 设置指定设备的SLE PHY参数
- 通过mode_id引用预配置的PHY参数模板
- 设置结果通过注册的set_phy_cb回调上报
前置条件
- 依赖关系:需先通过bs_sle_config()配置预置PHY参数
- 调用时序约束:需先建立SLE连接
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 设备ID | 0 ~ 0xFFFE,SLE_INVALID_DEVICE_ID为非法值 |
| mode_id | uint16_t | 预置参数模式ID | 预置PHY参数档位值 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 设置PHY参数请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_set_data_length
头文件清单
功能说明
- 设置指定设备的SLE数据传输长度
- 指定发送载荷的最大字节数
- 设置结果通过注册的set_data_length_cb回调上报
前置条件
- 调用时序约束:需先建立SLE连接
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 设备ID | 0 ~ 0xFFFE,SLE_INVALID_DEVICE_ID为非法值 |
| tx_octets | uint16_t | 发送载荷最大字节数 | 协议规范约束范围 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 设置数据长度请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_start_directed_reconnect
头文件清单
功能说明
- 启动向指定地址的SLE定向回连
- 定向回连针对特定目标地址发起连接请求
- 连接结果通过注册的connect_state_cb回调上报
前置条件
- 调用时序约束:需先调用bs_sle_enable()使能SLE协议栈
- 依赖关系:需先注册包含connect_state_cb的回调函数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dest_addr | sle_addr_t * | 目标设备地址指针 | 非NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 定向回连请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_stop_directed_reconnect
头文件清单
功能说明
- 停止SLE定向回连流程
- 停止后不再向目标地址发起定向连接请求
- 适用于需要取消正在进行的定向回连的场景
前置条件
- 调用时序约束:需先调用bs_sle_start_directed_reconnect()启动定向回连
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 定向回连停止成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_set_ota_state
头文件清单
功能说明
- 设置指定SLE对象的OTA状态
- 用于通知协议栈当前OTA升级的状态变更
- OTA状态包括进入、离开和结束三种
前置条件
- 调用时序约束:需先建立SLE连接
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| obj | sle_obj_t | SLE对象标识 | 0 ~ 0xFFFFFFFE,SLE_INVALID_OBJ_ID为非法值 |
| ota_state | uint8_t | OTA状态 | BS_SLE_OTA_STATE_LEAVE(0) / BS_SLE_OTA_STATE_ENTER(1) / BS_SLE_OTA_STATE_END(2) |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | OTA状态设置成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_acquire
头文件清单
功能说明
- 获取SLE指定类型的数据
- 通过type指定需要获取的数据类型
- 获取的数据通过param输出,len指示数据长度
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| type | bs_sle_acquire_type_t | 获取数据类型 | SLE_ACQUIRE_COMMON_LOCAL_ADDR(1) / SLE_ACQUIRE_TYPE_MAX(2) |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| param | bs_sle_acquire_t * | 获取到的数据内容 |
| len | uint16_t * | 实际获取的数据长度 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 数据获取成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_config
头文件清单
功能说明
- 配置SLE指定类型的参数
- 通过type指定配置项类型,param提供配置数据
- 支持通用配置、广播配置、扫描配置、连接配置等多种配置类型
前置条件
- 调用时序约束:部分配置项需在bs_sle_enable()前配置完毕
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| type | uint16_t | 配置项类型 | bs_sle_config_type_t枚举值 |
| param | void * | 配置数据指针 | 根据type确定具体类型,非NULL |
| len | uint16_t | 配置数据长度 | 与param指向数据一致 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 配置设置成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_get_config
头文件清单
功能说明
- 查询SLE指定类型的配置参数
- 通过type指定查询的配置项类型,查询结果通过param输出
- len入参为缓冲区大小,出参为实际数据长度
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| type | uint16_t | 配置项类型 | bs_sle_config_type_t枚举值 |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| param | void * | 查询到的配置数据 |
| len | uint16_t * | 实际查询到的数据长度 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 配置查询成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_config_template
头文件清单
功能说明
- 配置SLE模板类型
- 通过type指定使用的模板类型(如耳机模板、手机模板)
- 模板配置将批量设置一组默认参数
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| type | uint16_t | 模板类型 | SLE_CONFIG_TEMPLATE_TYPE_HEADSET(0) / SLE_CONFIG_TEMPLATE_TYPE_PHONE(1) |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 模板配置成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_register_stack_state_callbacks
errcode_t bs_sle_register_stack_state_callbacks(uint32_t app_id, bs_sle_stack_state_callbacks_t * cbks)
头文件清单
功能说明
- 注册SLE协议栈状态回调函数
- 用于接收协议栈使能/去使能等状态变更通知
- 通过app_id标识不同应用的回调注册
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| app_id | uint32_t | 应用标识 | 0 ~ 4294967295 |
| cbks | bs_sle_stack_state_callbacks_t * | 协议栈状态回调函数结构体指针 | 非NULL |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 回调注册成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_enable
头文件清单
功能说明
- 使能SLE协议栈
- 使能后方可进行设备发现、配对、连接等操作
- 使能结果通过注册的stack_state_cbk回调上报
前置条件
- 调用时序约束:需先完成SLE相关配置
- 依赖关系:需先注册协议栈状态回调函数
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 协议栈使能请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
bs_sle_disable
头文件清单
功能说明
- 去使能SLE协议栈
- 去使能后将停止所有SLE操作(发现、连接等)
- 去使能结果通过注册的stack_state_cbk回调上报
前置条件
- 调用时序约束:需先调用bs_sle_enable()使能SLE协议栈
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_SLE_SUCCESS(0x00) | 执行成功 | 协议栈去使能请求发起成功 |
| Other | 其他错误码,参考errcode_sle_t | 执行失败 |
Type definitions
sle_obj_t
使用说明
作为bs_sle_disconnect、bs_sle_remove_pair、bs_sle_set_ota_state等接口的对象标识参数类型
Associations
bs_sle_acquire_t
| 成员名称 | 类型 | 描述 | 接口使用逻辑 |
|---|---|---|---|
| local_addr | sle_addr_t | 本地地址 | bs_sle_acquire出参载体 |
Enumerations
bs_sle_discovery_type_t
typedef enum {
SLE_DISCOVERY_CENTRAL,
SLE_DISCOVERY_PERIPHERAL,
SLE_DISCOVERY_PERIPHERAL_FORCE_SCAN,
} bs_sle_discovery_type_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_DISCOVERY_CENTRAL | 0 | 作为中央设备进入发现态 |
| SLE_DISCOVERY_PERIPHERAL | 1 | 作为外围设备进入发现态 |
| SLE_DISCOVERY_PERIPHERAL_FORCE_SCAN | 2 | 强制外围设备进入扫描状态 |
bs_sle_connect_state_t
typedef enum {
SLE_CONNECT_NONE,
SLE_CONNECT_CONNECTED,
SLE_CONNECT_DISCONNECTED,
} bs_sle_connect_state_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONNECT_NONE | 0 | 默认连接状态 |
| SLE_CONNECT_CONNECTED | 1 | 已连接状态 |
| SLE_CONNECT_DISCONNECTED | 2 | 断连状态 |
bs_sle_acb_connect_state_t
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_ACB_DISCONNECTED | 0 | ACB断连状态 |
| SLE_ACB_CONNECTED | 1 | ACB已连接状态 |
bs_sle_encrypt_state_t
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_ENCRYPT_NONE | 0 | 默认加密状态 |
| SLE_ENCRYPT_SUCCESS | 1 | 加密成功 |
| SLE_ENCRYPT_FAILED | 2 | 加密失败 |
bs_sle_pair_state_t
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_PAIR_REMOVE | 0 | 取消配对状态 |
| SLE_PAIR_COMPLETE | 1 | 已配对状态 |
bs_sle_common_state_t
typedef enum {
BS_SLE_COMMON_STATE_DISABLE = 0x0,
BS_SLE_COMMON_STATE_ENABLE = 0x1,
BS_SLE_COMMON_STATE_ENABLING = 0x2,
BS_SLE_COMMON_STATE_DISABLING = 0x3,
} bs_sle_common_state_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_COMMON_STATE_DISABLE | 0 | 未使能 |
| BS_SLE_COMMON_STATE_ENABLE | 1 | 已使能 |
| BS_SLE_COMMON_STATE_ENABLING | 2 | 使能中 |
| BS_SLE_COMMON_STATE_DISABLING | 3 | 去使能中 |
bs_sle_ota_state_t
typedef enum {
BS_SLE_OTA_STATE_LEAVE,
BS_SLE_OTA_STATE_ENTER,
BS_SLE_OTA_STATE_END,
} bs_sle_ota_state_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_OTA_STATE_LEAVE | 0 | OTA离开状态 |
| BS_SLE_OTA_STATE_ENTER | 1 | OTA进入状态 |
| BS_SLE_OTA_STATE_END | 2 | OTA结束状态 |
bs_sle_link_quality_t
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_LINK_QUALITY_PER | 64 | 报错频率 |
bs_sle_acquire_group_t
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_ACQUIRE_COMMON | 0 | 通用获取组 |
bs_sle_acquire_type_t
typedef enum {
SLE_ACQUIRE_COMMON_LOCAL_ADDR = 1,
SLE_ACQUIRE_TYPE_MAX = 2,
} bs_sle_acquire_type_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_ACQUIRE_COMMON_LOCAL_ADDR | 1 | 获取本地地址 |
| SLE_ACQUIRE_TYPE_MAX | 2 | 获取类型最大值 |
bs_sle_config_group_t
typedef enum {
SLE_CONFIG_COMMON = 0x0000 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
SLE_CONFIG_ADV = 0x0100 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
SLE_CONFIG_SCAN = 0x0200 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
SLE_CONFIG_AS = 0x0300 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
SLE_CONFIG_VOLUME = 0x0400 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
SLE_CONFIG_CALL = 0x0500 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
SLE_CONFIG_AUTO_CONN = 0x0600 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
SLE_CONFIG_CONN = 0x0700 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
SLE_CONFIG_PORT = 0x0800 | (BS_PROTOCOL_SLE << BS_PROTOCOL_CONFIG_SHIFT_BITS),
} bs_sle_config_group_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONFIG_COMMON | 0x0000 | (BS_PROTOCOL_SLE << 13) | 通用配置组 |
| SLE_CONFIG_ADV | 0x0100 | (BS_PROTOCOL_SLE << 13) | 广播配置组 |
| SLE_CONFIG_SCAN | 0x0200 | (BS_PROTOCOL_SLE << 13) | 扫描配置组 |
| SLE_CONFIG_AS | 0x0300 | (BS_PROTOCOL_SLE << 13) | 音频流配置组 |
| SLE_CONFIG_VOLUME | 0x0400 | (BS_PROTOCOL_SLE << 13) | 音量配置组 |
| SLE_CONFIG_CALL | 0x0500 | (BS_PROTOCOL_SLE << 13) | 通话配置组 |
| SLE_CONFIG_AUTO_CONN | 0x0600 | (BS_PROTOCOL_SLE << 13) | 自动回连配置组 |
| SLE_CONFIG_CONN | 0x0700 | (BS_PROTOCOL_SLE << 13) | 连接配置组 |
| SLE_CONFIG_PORT | 0x0800 | (BS_PROTOCOL_SLE << 13) | 端口配置组 |
bs_sle_config_type_t
typedef enum {
SLE_CONFIG_COMMON_ROLE = SLE_CONFIG_COMMON | 0x01,
SLE_CONFIG_COMMON_PEER_ADDR = SLE_CONFIG_COMMON | 0x02,
SLE_CONFIG_COMMON_SUB_ROLE = SLE_CONFIG_COMMON | 0x03,
SLE_CONFIG_COMMON_LOCAL_ADDR = SLE_CONFIG_COMMON | 0x04,
SLE_CONFIG_ADV_SHORT_NAME = SLE_CONFIG_ADV | 0x01,
SLE_CONFIG_ADV_FULL_NAME = SLE_CONFIG_ADV | 0x02,
SLE_CONFIG_ADV_VENDOR = SLE_CONFIG_ADV | 0x03,
SLE_CONFIG_ADV_APPEARANCE = SLE_CONFIG_ADV | 0x04,
SLE_CONFIG_ADV_PRESET_PARAM = SLE_CONFIG_ADV | 0x05,
SLE_CONFIG_ADV_DISCOVERING_SPEED = SLE_CONFIG_ADV | 0x06,
SLE_CONFIG_ADV_CDSM_KEY_ID = SLE_CONFIG_ADV | 0x07,
SLE_CONFIG_ADV_CDSM_SECRET_KEY = SLE_CONFIG_ADV | 0x08,
SLE_CONFIG_SCAN_FILTER_DUPLICATE = SLE_CONFIG_SCAN | 0x01,
SLE_CONFIG_SCAN_SEEK_FILTER_POLICY = SLE_CONFIG_SCAN | 0x02,
SLE_CONFIG_SCAN_SEEK_TYPE = SLE_CONFIG_SCAN | 0x03,
SLE_CONFIG_SCAN_SEEK_PRESET_PARAM = SLE_CONFIG_SCAN | 0x04,
SLE_CONFIG_SCAN_SEEK_SPEED = SLE_CONFIG_SCAN | 0x05,
SLE_CONFIG_SCAN_MAX_CACHE_RESULT = SLE_CONFIG_SCAN | 0x06,
SLE_CONFIG_AS_CODEC_CAPABILITY = SLE_CONFIG_AS | 0x01,
SLE_CONFIG_AS_LOCATION_BITMAP = SLE_CONFIG_AS | 0x02,
SLE_CONFIG_AS_CODEC_CAPABILITY_COUNT = SLE_CONFIG_AS | 0x03,
SLE_CONFIG_VOLUME_INITAL_CALL_VOLUME = SLE_CONFIG_VOLUME | 0x01,
SLE_CONFIG_VOLUME_INITAL_MEDIA_VOLUME = SLE_CONFIG_VOLUME | 0x02,
SLE_CONFIG_CALL_FEATURE_STATE = SLE_CONFIG_CALL | 0x01,
SLE_CONFIG_AUTO_CONN_BROADCAST_DURATION = SLE_CONFIG_AUTO_CONN | 0x01,
SLE_CONFIG_CONNECT_PRESET_PARAM = SLE_CONFIG_CONN | 0x01,
SLE_CONFIG_CONNECT_SET_DEFAULT_PARAM = SLE_CONFIG_CONN | 0x02,
SLE_CONFIG_CONNECT_PRESET_PHY = SLE_CONFIG_CONN | 0x03,
SLE_CONFIG_CONNECT_NOT_AUTO_PAIR = SLE_CONFIG_CONN | 0x04,
SLE_CONFIG_CONNECT_IS_WILLING_TO_DISCONNECT_ALL = SLE_CONFIG_CONN | 0x05,
SLE_CONFIG_CONNECT_ENABLE_PREEMPTION = SLE_CONFIG_CONN | 0x06,
SLE_CONFIG_PORT_MAX_PORT = SLE_CONFIG_PORT | 0x01,
SLE_CONFIG_PORT_MAX_CHANNEL = SLE_CONFIG_PORT | 0x02,
SLE_CONFIG_PORT_MAX_CHANNEL_PER_PORT = SLE_CONFIG_PORT | 0x03,
SLE_CONFIG_TYPE_MAX,
} bs_sle_config_type_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONFIG_COMMON_ROLE | SLE_CONFIG_COMMON | 0x01 | 角色配置 |
| SLE_CONFIG_COMMON_PEER_ADDR | SLE_CONFIG_COMMON | 0x02 | 对端地址配置 |
| SLE_CONFIG_COMMON_SUB_ROLE | SLE_CONFIG_COMMON | 0x03 | 子角色配置 |
| SLE_CONFIG_COMMON_LOCAL_ADDR | SLE_CONFIG_COMMON | 0x04 | 本地地址配置 |
| SLE_CONFIG_ADV_SHORT_NAME | SLE_CONFIG_ADV | 0x01 | 短名称配置 |
| SLE_CONFIG_ADV_FULL_NAME | SLE_CONFIG_ADV | 0x02 | 完整名称配置 |
| SLE_CONFIG_ADV_VENDOR | SLE_CONFIG_ADV | 0x03 | 厂商信息配置 |
| SLE_CONFIG_ADV_APPEARANCE | SLE_CONFIG_ADV | 0x04 | 外观配置 |
| SLE_CONFIG_ADV_PRESET_PARAM | SLE_CONFIG_ADV | 0x05 | 预置广播参数配置 |
| SLE_CONFIG_ADV_DISCOVERING_SPEED | SLE_CONFIG_ADV | 0x06 | 发现速度配置 |
| SLE_CONFIG_ADV_CDSM_KEY_ID | SLE_CONFIG_ADV | 0x07 | CDSM密钥ID配置 |
| SLE_CONFIG_ADV_CDSM_SECRET_KEY | SLE_CONFIG_ADV | 0x08 | CDSM密钥配置 |
| SLE_CONFIG_SCAN_FILTER_DUPLICATE | SLE_CONFIG_SCAN | 0x01 | 重复过滤配置 |
| SLE_CONFIG_SCAN_SEEK_FILTER_POLICY | SLE_CONFIG_SCAN | 0x02 | 扫描过滤策略配置 |
| SLE_CONFIG_SCAN_SEEK_TYPE | SLE_CONFIG_SCAN | 0x03 | 扫描类型配置 |
| SLE_CONFIG_SCAN_SEEK_PRESET_PARAM | SLE_CONFIG_SCAN | 0x04 | 预置扫描参数配置 |
| SLE_CONFIG_SCAN_SEEK_SPEED | SLE_CONFIG_SCAN | 0x05 | 扫描速度配置 |
| SLE_CONFIG_SCAN_MAX_CACHE_RESULT | SLE_CONFIG_SCAN | 0x06 | 最大缓存结果配置 |
| SLE_CONFIG_AS_CODEC_CAPABILITY | SLE_CONFIG_AS | 0x01 | 编解码能力配置 |
| SLE_CONFIG_AS_LOCATION_BITMAP | SLE_CONFIG_AS | 0x02 | 位置位图配置 |
| SLE_CONFIG_AS_CODEC_CAPABILITY_COUNT | SLE_CONFIG_AS | 0x03 | 编解码能力个数配置 |
| SLE_CONFIG_VOLUME_INITAL_CALL_VOLUME | SLE_CONFIG_VOLUME | 0x01 | 初始通话音量配置 |
| SLE_CONFIG_VOLUME_INITAL_MEDIA_VOLUME | SLE_CONFIG_VOLUME | 0x02 | 初始媒体音量配置 |
| SLE_CONFIG_CALL_FEATURE_STATE | SLE_CONFIG_CALL | 0x01 | 通话特性状态配置 |
| SLE_CONFIG_AUTO_CONN_BROADCAST_DURATION | SLE_CONFIG_AUTO_CONN | 0x01 | 自动回连广播时长配置 |
| SLE_CONFIG_CONNECT_PRESET_PARAM | SLE_CONFIG_CONN | 0x01 | 预置连接参数配置 |
| SLE_CONFIG_CONNECT_SET_DEFAULT_PARAM | SLE_CONFIG_CONN | 0x02 | 默认连接参数配置 |
| SLE_CONFIG_CONNECT_PRESET_PHY | SLE_CONFIG_CONN | 0x03 | 预置PHY配置 |
| SLE_CONFIG_CONNECT_NOT_AUTO_PAIR | SLE_CONFIG_CONN | 0x04 | 禁止自动配对配置 |
| SLE_CONFIG_CONNECT_IS_WILLING_TO_DISCONNECT_ALL | SLE_CONFIG_CONN | 0x05 | 是否愿意断开所有连接配置 |
| SLE_CONFIG_CONNECT_ENABLE_PREEMPTION | SLE_CONFIG_CONN | 0x06 | 使能抢占配置 |
| SLE_CONFIG_PORT_MAX_PORT | SLE_CONFIG_PORT | 0x01 | 最大端口数配置 |
| SLE_CONFIG_PORT_MAX_CHANNEL | SLE_CONFIG_PORT | 0x02 | 最大通道数配置 |
| SLE_CONFIG_PORT_MAX_CHANNEL_PER_PORT | SLE_CONFIG_PORT | 0x03 | 每端口最大通道数配置 |
| SLE_CONFIG_TYPE_MAX | SLE_CONFIG_PORT | 0x04 | 配置类型最大值 |
bs_sle_config_template_type_t
typedef enum {
SLE_CONFIG_TEMPLATE_TYPE_HEADSET,
SLE_CONFIG_TEMPLATE_TYPE_PHONE,
SLE_CONFIG_TEMPLATE_TYPE_MAX,
} bs_sle_config_template_type_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONFIG_TEMPLATE_TYPE_HEADSET | 0 | 耳机模板类型 |
| SLE_CONFIG_TEMPLATE_TYPE_PHONE | 1 | 手机模板类型 |
| SLE_CONFIG_TEMPLATE_TYPE_MAX | 2 | 模板类型最大值 |
bs_sle_preset_opr_type_t
typedef enum {
BS_SLE_PRESET_OPR_TYPE_ADD = 0,
BS_SLE_PRESET_OPR_TYPE_RMV = 1,
BS_SLE_PRESET_OPR_TYPE_QRY = 2,
BS_SLE_PRESET_OPR_TYPE_LST = 3,
} bs_sle_preset_opr_type_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_PRESET_OPR_TYPE_ADD | 0 | 增加预置参数 |
| BS_SLE_PRESET_OPR_TYPE_RMV | 1 | 删除预置参数 |
| BS_SLE_PRESET_OPR_TYPE_QRY | 2 | 查询预置参数 |
| BS_SLE_PRESET_OPR_TYPE_LST | 3 | 列出全部预置参数模式ID |
bs_sle_preset_seek_speed_mode_id_t
typedef enum {
BS_SLE_PRESET_SEEK_SPEED_FAST = 1,
BS_SLE_PRESET_SEEK_SPEED_MIDDLE = 2,
BS_SLE_PRESET_SEEK_SPEED_SLOW = 3,
} bs_sle_preset_seek_speed_mode_id_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_PRESET_SEEK_SPEED_FAST | 1 | 预置参数高速档位 |
| BS_SLE_PRESET_SEEK_SPEED_MIDDLE | 2 | 预置参数中速档位 |
| BS_SLE_PRESET_SEEK_SPEED_SLOW | 3 | 预置参数低速档位 |
bs_sle_seek_filter_t
typedef enum {
BS_SLE_SEEK_FILTER_ALLOW_ALL = 0x00,
BS_SLE_SEEK_FILTER_ALLOW_WLST = 0x01,
} bs_sle_seek_filter_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_SEEK_FILTER_ALLOW_ALL | 0 | 允许来自任何设备的发现数据包 |
| BS_SLE_SEEK_FILTER_ALLOW_WLST | 1 | 允许来自白名单设备的发现数据包 |
bs_sle_seek_phy_t
typedef enum {
BS_SLE_SEEK_PHY_1M = 0x1,
BS_SLE_SEEK_PHY_2M = 0x2,
BS_SLE_SEEK_PHY_4M = 0x4,
} bs_sle_seek_phy_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_SEEK_PHY_1M | 1 | 1M PHY |
| BS_SLE_SEEK_PHY_2M | 2 | 2M PHY |
| BS_SLE_SEEK_PHY_4M | 4 | 4M PHY |
bs_sle_seek_type_t
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_SEEK_PASSIVE | 0 | 被动扫描 |
| BS_SLE_SEEK_ACTIVE | 1 | 主动扫描 |
bs_sle_preset_adv_speed_mode_id_t
typedef enum {
BS_SLE_PRESET_ADV_SPEED_FAST = 1,
BS_SLE_PRESET_ADV_SPEED_MIDDLE = 2,
BS_SLE_PRESET_ADV_SPEED_SLOW = 3,
} bs_sle_preset_adv_speed_mode_id_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_PRESET_ADV_SPEED_FAST | 1 | 预置参数高速档位 |
| BS_SLE_PRESET_ADV_SPEED_MIDDLE | 2 | 预置参数中速档位 |
| BS_SLE_PRESET_ADV_SPEED_SLOW | 3 | 预置参数低速档位 |
bs_sle_announce_mode_t
typedef enum {
BS_SLE_ANNOUNCE_MODE_NONCONN_NONSCAN = 0x00,
BS_SLE_ANNOUNCE_MODE_CONNECTABLE_NONSCAN = 0x01,
BS_SLE_ANNOUNCE_MODE_NONCONN_SCANABLE = 0x02,
BS_SLE_ANNOUNCE_MODE_CONNECTABLE_SCANABLE = 0x03,
BS_SLE_ANNOUNCE_MODE_CONNECTABLE_NONSCAN_DIRECTED = 0x05,
BS_SLE_ANNOUNCE_MODE_CONNECTABLE_DIRECTED = 0x07,
BS_SLE_ANNOUNCE_MODE_CONNECTABLE_NONSCAN_IGNORE_WHITELIST = 0x09,
BS_SLE_ANNOUNCE_MODE_CONNECTABLE_IGNORE_WHITELIST = 0x0B,
BS_SLE_ANNOUNCE_MODE_CONNECTABLE_DIRECTED_IGNORE_WHITELIST = 0x0F,
} bs_sle_announce_mode_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_ANNOUNCE_MODE_NONCONN_NONSCAN | 0 | 不可连接不可扫描 |
| BS_SLE_ANNOUNCE_MODE_CONNECTABLE_NONSCAN | 1 | 可连接不可扫描 |
| BS_SLE_ANNOUNCE_MODE_NONCONN_SCANABLE | 2 | 不可连接可扫描 |
| BS_SLE_ANNOUNCE_MODE_CONNECTABLE_SCANABLE | 3 | 可连接可扫描 |
| BS_SLE_ANNOUNCE_MODE_CONNECTABLE_NONSCAN_DIRECTED | 5 | 可连接不可扫描定向 |
| BS_SLE_ANNOUNCE_MODE_CONNECTABLE_DIRECTED | 7 | 可连接可扫描定向 |
| BS_SLE_ANNOUNCE_MODE_CONNECTABLE_NONSCAN_IGNORE_WHITELIST | 9 | 可连接不可扫描忽略白名单 |
| BS_SLE_ANNOUNCE_MODE_CONNECTABLE_IGNORE_WHITELIST | 11 | 可连接可扫描忽略白名单 |
| BS_SLE_ANNOUNCE_MODE_CONNECTABLE_DIRECTED_IGNORE_WHITELIST | 15 | 可连接可扫描定向忽略白名单 |
bs_sle_announce_level_t
typedef enum {
BS_SLE_ANNOUNCE_LEVEL_NONE = 0,
BS_SLE_ANNOUNCE_LEVEL_NORMAL = 1,
BS_SLE_ANNOUNCE_LEVEL_PRIORITY = 2,
BS_SLE_ANNOUNCE_LEVEL_PAIRED = 3,
BS_SLE_ANNOUNCE_LEVEL_SPECIAL = 4,
} bs_sle_announce_level_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_ANNOUNCE_LEVEL_NONE | 0 | 不可见发现,预留 |
| BS_SLE_ANNOUNCE_LEVEL_NORMAL | 1 | 一般可发现 |
| BS_SLE_ANNOUNCE_LEVEL_PRIORITY | 2 | 优先可发现,预留 |
| BS_SLE_ANNOUNCE_LEVEL_PAIRED | 3 | 被曾配对过的设备发现,预留 |
| BS_SLE_ANNOUNCE_LEVEL_SPECIAL | 4 | 被指定设备发现 |
bs_sle_radio_frame_t
typedef enum {
BS_SLE_RADIO_FRAME_1 = 0,
BS_SLE_RADIO_FRAME_2 = 1,
BS_SLE_RADIO_FRAME_3_M0 = 2,
BS_SLE_RADIO_FRAME_3_M1 = 3,
BS_SLE_RADIO_FRAME_3_M2 = 4,
BS_SLE_RADIO_FRAME_3_M3 = 5,
BS_SLE_RADIO_FRAME_3_M4 = 6,
BS_SLE_RADIO_FRAME_3_M5 = 7,
BS_SLE_RADIO_FRAME_4_M0 = 8,
BS_SLE_RADIO_FRAME_4_M1 = 9,
BS_SLE_RADIO_FRAME_4_M2 = 10,
BS_SLE_RADIO_FRAME_4_M3 = 11,
BS_SLE_RADIO_FRAME_4_M4 = 12,
BS_SLE_RADIO_FRAME_4_M5 = 13,
BS_SLE_RADIO_FRAME_END = 14,
} bs_sle_radio_frame_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_RADIO_FRAME_1 | 0 | 无线帧类型1 |
| BS_SLE_RADIO_FRAME_2 | 1 | 无线帧类型2 |
| BS_SLE_RADIO_FRAME_3_M0 | 2 | 无线帧类型3,m序列0 |
| BS_SLE_RADIO_FRAME_3_M1 | 3 | 无线帧类型3,m序列1 |
| BS_SLE_RADIO_FRAME_3_M2 | 4 | 无线帧类型3,m序列2 |
| BS_SLE_RADIO_FRAME_3_M3 | 5 | 无线帧类型3,m序列3 |
| BS_SLE_RADIO_FRAME_3_M4 | 6 | 无线帧类型3,m序列4 |
| BS_SLE_RADIO_FRAME_3_M5 | 7 | 无线帧类型3,m序列5 |
| BS_SLE_RADIO_FRAME_4_M0 | 8 | 无线帧类型4,m序列0 |
| BS_SLE_RADIO_FRAME_4_M1 | 9 | 无线帧类型4,m序列1 |
| BS_SLE_RADIO_FRAME_4_M2 | 10 | 无线帧类型4,m序列2 |
| BS_SLE_RADIO_FRAME_4_M3 | 11 | 无线帧类型4,m序列3 |
| BS_SLE_RADIO_FRAME_4_M4 | 12 | 无线帧类型4,m序列4 |
| BS_SLE_RADIO_FRAME_4_M5 | 13 | 无线帧类型4,m序列5 |
| BS_SLE_RADIO_FRAME_END | 14 | 无线帧类型结束 |
bs_sle_phy_tx_rx_t
typedef enum {
BS_SLE_PHY_1M = 0,
BS_SLE_PHY_2M = 1,
BS_SLE_PHY_4M = 2,
BS_SLE_PHY_SUPPORT_NUM = 3,
} bs_sle_phy_tx_rx_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_PHY_1M | 0 | 1M PHY |
| BS_SLE_PHY_2M | 1 | 2M PHY |
| BS_SLE_PHY_4M | 2 | 4M PHY |
| BS_SLE_PHY_SUPPORT_NUM | 3 | PHY支持数量 |
bs_sle_phy_tx_rx_pilot_density_t
typedef enum {
BS_SLE_PHY_PILOT_DENSITY_4_TO_1 = 0,
BS_SLE_PHY_PILOT_DENSITY_8_TO_1 = 1,
BS_SLE_PHY_PILOT_DENSITY_16_TO_1 = 2,
BS_SLE_PHY_PILOT_DENSITY_NO = 3,
BS_SLE_PHY_PILOT_DENSITY_NUM = 4,
} bs_sle_phy_tx_rx_pilot_density_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_SLE_PHY_PILOT_DENSITY_4_TO_1 | 0 | 导频密度4:1 |
| BS_SLE_PHY_PILOT_DENSITY_8_TO_1 | 1 | 导频密度8:1 |
| BS_SLE_PHY_PILOT_DENSITY_16_TO_1 | 2 | 导频密度16:1 |
| BS_SLE_PHY_PILOT_DENSITY_NO | 3 | 无导频 |
| BS_SLE_PHY_PILOT_DENSITY_NUM | 4 | 导频密度数量 |
bs_sle_state_t
typedef enum {
SLE_STATE_ENABLED = 0,
SLE_STATE_DISABLED = 1,
SLE_STATE_PDL_CLEARED = 2,
} bs_sle_state_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_STATE_ENABLED | 0 | 协议栈已使能 |
| SLE_STATE_DISABLED | 1 | 协议栈已去使能 |
| SLE_STATE_PDL_CLEARED | 2 | PDL已清除 |
bs_sle_config_role_t
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONFIG_ROLE_CENTRAL | 1 | 中央角色 |
| SLE_CONFIG_ROLE_PERIPHERAL | 2 | 外围角色 |
bs_sle_config_sub_role_t
typedef enum {
SLE_CONFIG_SUB_ROLE_MASTER = 0,
SLE_CONFIG_SUB_ROLE_SLAVE = 1,
} bs_sle_config_sub_role_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONFIG_SUB_ROLE_MASTER | 0 | 主节点角色 |
| SLE_CONFIG_SUB_ROLE_SLAVE | 1 | 从节点角色 |
bs_sle_config_enable_t
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONFIG_DISABLE | 0 | 禁用 |
| SLE_CONFIG_ENABLE | 1 | 使能 |
bs_sle_config_appearence_t
typedef enum {
SLE_CONFIG_WEARABLE_AUDIO_DEVICE = 2048,
SLE_CONFIG_TWS_EARPHONE = 2049,
SLE_CONFIG_HEADSET_EARPHONE_MIC = 2050,
SLE_CONFIG_HEADSET_EARPHONE = 2051,
SLE_CONFIG_HEADSET_NECKBAND_EARPHONE = 2052,
SLE_CONFIG_ACTION_CAMERA = 16711681,
} bs_sle_config_appearence_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONFIG_WEARABLE_AUDIO_DEVICE | 2048 | 可穿戴音频设备 |
| SLE_CONFIG_TWS_EARPHONE | 2049 | TWS耳机 |
| SLE_CONFIG_HEADSET_EARPHONE_MIC | 2050 | 头戴式耳机带麦克风 |
| SLE_CONFIG_HEADSET_EARPHONE | 2051 | 头戴式耳机 |
| SLE_CONFIG_HEADSET_NECKBAND_EARPHONE | 2052 | 颈挂式耳机 |
| SLE_CONFIG_ACTION_CAMERA | 16711681 | 运动相机 |
bs_sle_config_feature_state_t
typedef enum {
SLE_CONFIG_FEATURE_INBAND_RING = 1,
SLE_CONFIG_FEATURE_STATE_RFU = 2,
} bs_sle_config_feature_state_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| SLE_CONFIG_FEATURE_INBAND_RING | 1 | 带内铃声特性 |
| SLE_CONFIG_FEATURE_STATE_RFU | 2 | 特性状态预留 |
Structures
bs_sle_seek_param_t
typedef struct bs_sle_seek_param {
uint8_t seek_filter_policy;
uint8_t seek_phy;
uint8_t seek_type;
uint16_t seek_interval;
uint16_t seek_window;
} bs_sle_seek_param_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| seek_filter_policy | uint8_t | 扫描过滤策略,参考bs_sle_seek_filter_t |
| seek_phy | uint8_t | 扫描PHY类型,参考bs_sle_seek_phy_t |
| seek_type | uint8_t | 扫描类型,参考bs_sle_seek_type_t |
| seek_interval | uint16_t | 扫描间隔,取值范围[0x0014, 0xFFFF],time = N * 0.125ms |
| seek_window | uint16_t | 扫描窗口,取值范围[0x0014, 0xFFFF],time = N * 0.125ms |
bs_sle_pair_info_t
typedef struct {
uint8_t link_key[BS_SLE_LINK_KEY_LEN];
uint8_t crypto_algo;
uint8_t key_deriv_algo;
uint8_t integr_chk_ind;
uint8_t is_bond;
} bs_sle_pair_info_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| link_key | uint8_t[16] | 链路密钥 |
| crypto_algo | uint8_t | 加密算法类型 |
| key_deriv_algo | uint8_t | 秘钥分发算法类型 |
| integr_chk_ind | uint8_t | 完整性校验指示 |
| is_bond | uint8_t | 配对绑定指示 |
bs_sle_device_name_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| len | uint8_t | 名称长度,包括结束符\0 |
| name | uint8_t * | 设备名称 |
bs_sle_manufacturer_specific_data_t
typedef struct {
uint16_t company_id;
uint8_t data_len;
uint8_t *data;
} bs_sle_manufacturer_specific_data_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| company_id | uint16_t | 厂商标识 |
| data_len | uint8_t | 厂商自定义数据长度 |
| data | uint8_t * | 厂商自定义数据 |
bs_sle_discovery_result_t
typedef struct {
uint8_t event;
int8_t rssi;
bs_sle_device_name_t full_name;
bs_sle_device_name_t short_name;
bs_sle_manufacturer_specific_data_t manu_specific_data;
} bs_sle_discovery_result_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| event | uint8_t | 设备发现事件类型 |
| rssi | int8_t | 信号强度 |
| full_name | bs_sle_device_name_t | 设备完整名称 |
| short_name | bs_sle_device_name_t | 设备缩写名称 |
| manu_specific_data | bs_sle_manufacturer_specific_data_t | 厂商自定义信息 |
bs_sle_connection_result_t
typedef struct {
uint16_t dev_id;
sle_addr_t addr;
uint8_t conn_state;
uint8_t encrypt_state;
uint32_t reason;
uint8_t local_role;
} bs_sle_connection_result_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| dev_id | uint16_t | 设备ID |
| addr | sle_addr_t | 设备地址 |
| conn_state | uint8_t | SLE连接状态,参考bs_sle_connect_state_t |
| encrypt_state | uint8_t | SLE加密状态,参考bs_sle_encrypt_state_t |
| reason | uint32_t | SLE断连原因 |
| local_role | uint8_t | 本地角色 |
bs_sle_conn_param_update_result_t
typedef struct {
uint16_t interval;
uint16_t latency;
uint16_t supervision;
} bs_sle_conn_param_update_result_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| interval | uint16_t | 链路调度间隔,单位slot |
| latency | uint16_t | 延迟周期,单位slot |
| supervision | uint16_t | 超时时间,单位10ms |
bs_sle_set_phy_t
typedef struct {
uint8_t tx_format;
uint8_t rx_format;
uint8_t tx_phy;
uint8_t rx_phy;
uint8_t tx_pilot_density;
uint8_t rx_pilot_density;
uint8_t g_feedback;
uint8_t t_feedback;
} bs_sle_set_phy_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| tx_format | uint8_t | 发送无线帧类型,参考bs_sle_radio_frame_t |
| rx_format | uint8_t | 接收无线帧类型,参考bs_sle_radio_frame_t |
| tx_phy | uint8_t | 发送PHY,参考bs_sle_phy_tx_rx_t |
| rx_phy | uint8_t | 接收PHY,参考bs_sle_phy_tx_rx_t |
| tx_pilot_density | uint8_t | 发送导频密度指示,参考bs_sle_phy_tx_rx_pilot_density_t |
| rx_pilot_density | uint8_t | 接收导频密度指示,参考bs_sle_phy_tx_rx_pilot_density_t |
| g_feedback | uint8_t | 先发链路反馈类型指示,取值范围0~63 |
| t_feedback | uint8_t | 后发链路反馈类型指示,取值范围0~7 |
bs_sle_data_len_change_result_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| max_rx_octets | uint16_t | 最大接收载荷字节数 |
| max_tx_octets | uint16_t | 最大发送载荷字节数 |
bs_sle_link_quality_report_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| bitmap | uint16_t | 位图,每一bit指示不同参数使能,参考bs_sle_link_quality_t |
| per | int8_t | 报错频率 |
bs_sle_device_callbacks_t
typedef struct {
bs_sle_obj_alloc_cbk obj_alloc_cbk;
bs_sle_obj_recover_cbk obj_recover_cbk;
} bs_sle_device_callbacks_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| obj_alloc_cbk | bs_sle_obj_alloc_cbk | 对象分配上报回调 |
| obj_recover_cbk | bs_sle_obj_recover_cbk | 对象恢复上报回调 |
bs_sle_callbacks_t
typedef struct {
bs_sle_pair_request_cbk pair_request_cb;
bs_sle_connect_state_cbk connect_state_cb;
bs_sle_connect_state_cbk member_connect_state_cb;
bs_sle_pair_complete_cbk pair_complete_cb;
bs_sle_pair_remove_cbk pair_remove_cb;
bs_sle_discovery_result_cbk discovery_result_cb;
bs_sle_discovery_state_cbk discovery_state_cb;
bs_sle_auto_conn_state_cbk auto_conn_state_cb;
bs_sle_read_rssi_cbk read_rssi_cbk;
bs_sle_conn_param_update_cbk conn_param_update_cbk;
bs_sle_set_phy_cbk set_phy_cb;
bs_sle_set_data_len_cbk set_data_length_cb;
bs_sle_quality_report_cbk link_quality_report_event_cb;
} bs_sle_callbacks_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| pair_request_cb | bs_sle_pair_request_cbk | 配对请求回调 |
| connect_state_cb | bs_sle_connect_state_cbk | 连接状态回调 |
| member_connect_state_cb | bs_sle_connect_state_cbk | 合作设备集内连接状态回调 |
| pair_complete_cb | bs_sle_pair_complete_cbk | 配对完成回调 |
| pair_remove_cb | bs_sle_pair_remove_cbk | 配对移除回调 |
| discovery_result_cb | bs_sle_discovery_result_cbk | 发现结果回调 |
| discovery_state_cb | bs_sle_discovery_state_cbk | 发现状态回调 |
| auto_conn_state_cb | bs_sle_auto_conn_state_cbk | 自动回连状态回调 |
| read_rssi_cbk | bs_sle_read_rssi_cbk | 读取RSSI回调 |
| conn_param_update_cbk | bs_sle_conn_param_update_cbk | 连接参数更新回调 |
| set_phy_cb | bs_sle_set_phy_cbk | 设置PHY回调 |
| set_data_length_cb | bs_sle_set_data_len_cbk | 设置数据长度回调 |
| link_quality_report_event_cb | bs_sle_quality_report_cbk | 链路质量上报回调 |
bs_sle_adv_param_t
typedef struct {
uint8_t announce_mode;
uint8_t announce_level;
uint32_t announce_interval_min;
uint32_t announce_interval_max;
uint8_t announce_channel_map;
int8_t announce_tx_power;
uint16_t conn_interval_min;
uint16_t conn_interval_max;
uint16_t conn_max_latency;
uint16_t conn_supervision_timeout;
} bs_sle_adv_param_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| announce_mode | uint8_t | 设备公开类型,参考bs_sle_announce_mode_t |
| announce_level | uint8_t | 发现等级,参考bs_sle_announce_level_t |
| announce_interval_min | uint32_t | 最小设备公开周期,0x000020~0xffffff,单位125us |
| announce_interval_max | uint32_t | 最大设备公开周期,0x000020~0xffffff,单位125us |
| announce_channel_map | uint8_t | 设备公开信道,bit0:ch77, bit1:ch78, bit2:ch79 |
| announce_tx_power | int8_t | 广播发射功率,单位dbm,取值范围[-127, 20],0x7F表示不设置 |
| conn_interval_min | uint16_t | 连接间隔最小取值,取值范围[0x001E,0x3E80] |
| conn_interval_max | uint16_t | 连接间隔最大取值,取值范围[0x001E,0x3E80] |
| conn_max_latency | uint16_t | 最大休眠连接间隔,取值范围[0x0000,0x01F3] |
| conn_supervision_timeout | uint16_t | 最大超时时间,取值范围[0x000A,0x0C80] |
bs_sle_conn_param_t
typedef struct {
uint16_t interval_min;
uint16_t interval_max;
uint16_t max_latency;
uint16_t supervision_timeout;
} bs_sle_conn_param_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| interval_min | uint16_t | 连接间隔最小取值,取值范围[0x001E,0x3E80] |
| interval_max | uint16_t | 连接间隔最大取值,取值范围[0x001E,0x3E80] |
| max_latency | uint16_t | 最大休眠连接间隔,取值范围[0x0000,0x01F3] |
| supervision_timeout | uint16_t | 最大超时时间,取值范围[0x000A,0x0C80] |
bs_sle_phy_param_t
typedef struct {
uint8_t tx_format;
uint8_t rx_format;
uint8_t tx_phy;
uint8_t rx_phy;
uint8_t tx_pilot_density;
uint8_t rx_pilot_density;
uint8_t g_feedback;
uint8_t t_feedback;
} bs_sle_phy_param_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| tx_format | uint8_t | 发送无线帧类型,参考bs_sle_radio_frame_t |
| rx_format | uint8_t | 接收无线帧类型,参考bs_sle_radio_frame_t |
| tx_phy | uint8_t | 发送PHY,参考bs_sle_phy_tx_rx_t |
| rx_phy | uint8_t | 接收PHY,参考bs_sle_phy_tx_rx_t |
| tx_pilot_density | uint8_t | 发送导频密度指示,参考bs_sle_phy_tx_rx_pilot_density_t |
| rx_pilot_density | uint8_t | 接收导频密度指示,参考bs_sle_phy_tx_rx_pilot_density_t |
| g_feedback | uint8_t | 先发链路反馈类型指示,取值范围0~63 |
| t_feedback | uint8_t | 后发链路反馈类型指示,取值范围0~7 |
bs_sle_stack_state_callbacks_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| stack_state_cbk | bs_sle_stack_state_cbk | 协议栈状态回调 |
bs_sle_config_localhost_name_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| name_len | uint8_t | 名称长度 |
| name | uint8_t | 名称 |
bs_sle_config_adv_vendor_info_t
typedef struct {
uint16_t vendor_id;
uint8_t data_len;
uint8_t data;
} bs_sle_config_adv_vendor_info_t;
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| vendor_id | uint16_t | 厂商ID |
| data_len | uint8_t | 厂商数据长度 |
| data | uint8_t | 厂商数据 |