common
common 提供 BS (Bluetooth Service) 设备管理通用功能,包括参数配置与获取、设备地址与设备 ID 的映射管理。
头文件清单
接口清单
| 接口名称 | 功能简述 |
|---|---|
| bs_config | 配置参数 |
| bs_acquire | 获取参数 |
| bs_alloc_device_id_by_addr | 通过地址分配device ID |
| bs_find_device_id_by_addr | 通过地址查找device ID |
| bs_get_addr_by_device_id | 通过device ID获取地址 |
Functions
bs_config
头文件清单
功能说明
- 配置参数,通过指定参数类型写入配置数据
- 入参type指定配置参数类型,param指向配置参数数据,len为参数长度
- 返回执行结果错误码
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| type | uint16_t | 配置参数类型 | - |
| param | void * | 配置参数数据指针 | 不为NULL |
| len | uint16_t | 参数长度 | - |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 配置参数成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
bs_acquire
头文件清单
功能说明
- 获取参数,通过指定参数类型读取配置数据
- 入参type指定获取参数类型,param为输出参数缓冲区,len为输出参数长度
- 返回执行结果错误码
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| type | uint16_t | 获取参数类型 | - |
出参
| 名称 | 数据类型 | 输出说明 |
|---|---|---|
| param | void * | 获取到的参数数据 |
| len | uint16_t * | 获取到的参数长度 |
返回值
- 返回类型:errcode_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| ERRCODE_BT_SUCCESS(0x00) | 执行成功 | 获取参数成功 |
| Other | 其他错误码,参考errcode_bt_t | 执行失败 |
bs_alloc_device_id_by_addr
头文件清单
功能说明
- 通过地址分配device ID,若无法分配则返回BS_CONNECTION_UPPER_LIMIT
- 入参protocol指定协议类型,type指定地址类型,addr为设备地址
- 返回分配的device ID
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| protocol | bs_protocol_type_t | 协议类型 | BS_PROTOCOL_BREDR(0) / BS_PROTOCOL_BLE(1) / BS_PROTOCOL_SLE(2) / BS_MODULE_SDM(3) |
| type | uint8_t | 地址类型 | - |
| addr | const uint8_t * | 设备地址指针 | 不为NULL |
返回值
- 返回类型:uint16_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 0 ~ BS_CONNECTION_UPPER_LIMIT-1 | 分配的device ID | 地址有效且连接数未达上限 |
| BS_CONNECTION_UPPER_LIMIT(4) | 无法分配device ID | 连接数已达上限 |
bs_find_device_id_by_addr
头文件清单
功能说明
- 通过地址查找device ID,若无法找到则返回BS_CONNECTION_UPPER_LIMIT
- 入参protocol指定协议类型,type指定地址类型,addr为设备地址
- 返回查找到的device ID
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| protocol | bs_protocol_type_t | 协议类型 | BS_PROTOCOL_BREDR(0) / BS_PROTOCOL_BLE(1) / BS_PROTOCOL_SLE(2) / BS_MODULE_SDM(3) |
| type | uint8_t | 地址类型 | - |
| addr | const uint8_t * | 设备地址指针 | 不为NULL |
返回值
- 返回类型:uint16_t
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 0 ~ BS_CONNECTION_UPPER_LIMIT-1 | 查找到的device ID | 地址有效且设备已存在 |
| BS_CONNECTION_UPPER_LIMIT(4) | 无法找到device ID | 设备不存在 |
bs_get_addr_by_device_id
头文件清单
功能说明
- 通过device ID获取设备地址,若device ID无效则返回NULL
- 入参dev_id为设备ID
- 返回设备地址结构体指针
入参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| dev_id | uint16_t | 设备ID | 0 ~ BS_CONNECTION_UPPER_LIMIT-1 |
返回值
- 返回类型:bs_addr_t *
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 非NULL指针 | 设备地址结构体指针 | device ID有效 |
| NULL | device ID无效 | device ID无效 |
Type definitions
errcode_t
使用说明
bs_config、bs_acquire接口的返回值类型。[SDK公共基础类型]
Enumerations
bs_protocol_type_t
typedef enum {
BS_PROTOCOL_BREDR,
BS_PROTOCOL_BLE,
BS_PROTOCOL_SLE,
BS_MODULE_SDM,
} bs_protocol_type_t;
| 枚举成员 | 取值 | 描述 |
|---|---|---|
| BS_PROTOCOL_BREDR | 0 | BR/EDR协议 |
| BS_PROTOCOL_BLE | 1 | BLE协议 |
| BS_PROTOCOL_SLE | 2 | SLE协议 |
| BS_MODULE_SDM | 3 | SDM模块 |
Structures
bs_addr_t
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| addr | uint8_t[BS_ADDR_LEN] | 设备地址,长度为6字节 |
| type | uint8_t | 地址类型 |