跳转至

ble

BLE (Bluetooth Low Energy) 提供蓝牙低功耗协议栈的基础连接管理功能,包括协议栈使能/关闭、设备发现、配对、自动连接、断连、连接参数设置、PHY参数设置、数据长度设置、RSSI读取、配对设备查询以及事件回调注册与注销。

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_acquire.h"
#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"
#include "protocol/bt/host/include/bs_service/bs_ble_service_config.h"

接口清单

接口名称 功能简述
bs_ble_acquire 获取BLE本地地址等资源信息
bs_ble_enable 使能BLE协议栈
bs_ble_disable 关闭BLE协议栈
bs_ble_start_discovery 启动BLE设备发现
bs_ble_stop_discovery 停止BLE设备发现
bs_ble_start_pair 启动与指定设备的BLE配对
bs_ble_stop_pair 停止BLE配对
bs_ble_start_auto_conn 启动BLE自动连接
bs_ble_stop_auto_conn 停止BLE自动连接
bs_ble_disconnect 断开指定BLE设备连接
bs_ble_disconnect_all 断开所有BLE设备连接
bs_ble_remove_pair 移除指定设备的配对信息
bs_ble_remove_all_pair 移除所有设备的配对信息
bs_ble_register_callbacks 注册BLE事件回调函数
bs_ble_unregister_callbacks 注销BLE事件回调函数
bs_ble_acl_switch_register_callback 注册BLE ACL链路切换状态回调
bs_ble_set_connect_param 设置BLE连接参数
bs_ble_set_phy_param 设置BLE PHY参数
bs_ble_set_data_length 设置BLE数据长度
bs_ble_read_remote_device_rssi 读取远端BLE设备RSSI
bs_ble_set_pair_request_result 设置BLE配对请求确认结果
bs_ble_get_paired_dev_infos 查询已配对设备信息列表
bs_ble_dev_manager_register_callbacks 注册BLE设备管理回调函数
bs_ble_dev_manager_unregister_callbacks 注销BLE设备管理回调函数

Functions

bs_ble_acquire

errcode_t bs_ble_acquire(bs_ble_acquire_type_t type, bs_ble_acquire_t *param, uint16_t *len)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_acquire.h"

功能说明

  • 根据指定类型获取BLE相关资源信息
  • 支持获取本地BLE地址等资源
  • 通过输出参数返回获取的资源数据及长度

入参

名称 参数类型 详细说明 约束取值范围
type bs_ble_acquire_type_t 获取资源类型 BLE_ACQUIRE_LOCAL_ADDR(8192)

出参

名称 数据类型 输出说明
param bs_ble_acquire_t * 返回获取的资源数据
len uint16_t * 返回资源数据长度

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 资源获取成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_enable

errcode_t bs_ble_enable(void)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 使能BLE协议栈
  • 启动BLE底层服务
  • 使能后可进行BLE扫描、广播、连接等操作

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 BLE使能成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_disable

errcode_t bs_ble_disable(void)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 关闭BLE协议栈
  • 停止BLE底层服务
  • 关闭后无法进行BLE相关操作

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 BLE关闭成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_start_discovery

errcode_t bs_ble_start_discovery(uint8_t type)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 启动BLE设备发现(扫描/广播)
  • 按指定发现类型发起扫描或广播
  • 结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
type uint8_t 发现类型 BLE_DISCOVERY_CENTRAL(0) / BLE_DISCOVERY_PERIPHERAL(1)

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 设备发现启动成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_stop_discovery

errcode_t bs_ble_stop_discovery(uint8_t type)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 停止BLE设备发现(扫描/广播)
  • 按指定发现类型停止扫描或广播
  • 停止后不再上报扫描结果

入参

名称 参数类型 详细说明 约束取值范围
type uint8_t 发现类型 BLE_DISCOVERY_CENTRAL(0) / BLE_DISCOVERY_PERIPHERAL(1)

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 设备发现停止成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_start_pair

errcode_t bs_ble_start_pair(const bs_addr_t *addr)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 启动与指定远端设备的BLE配对流程
  • 根据目标设备地址发起配对请求
  • 配对结果通过注册的回调函数上报
  • 连接与加密结果都通过connect_state_cbk回调函数上报,共两次上报(连接完成后、加密完成后)

入参

名称 参数类型 详细说明 约束取值范围
addr const bs_addr_t * 目标设备地址 非NULL

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 配对请求发起成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_stop_pair

errcode_t bs_ble_stop_pair(void)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 停止BLE配对流程
  • 终止正在进行的配对操作
  • 停止后不再接受新的配对请求

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 停止配对成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_start_auto_conn

errcode_t bs_ble_start_auto_conn(void)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 启动BLE自动连接功能
  • 根据已配置的白名单和重连参数自动发起连接
  • 连接结果通过注册的回调函数上报

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 自动连接启动成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_stop_auto_conn

errcode_t bs_ble_stop_auto_conn(void)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 停止BLE自动连接功能
  • 终止自动连接流程
  • 停止后不再自动发起连接请求

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 自动连接停止成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_disconnect

errcode_t bs_ble_disconnect(uint16_t dev_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 断开与指定BLE设备的连接
  • 根据设备ID发起断连请求
  • 断连结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 设备ID 有效连接设备ID

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 断连请求发起成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_disconnect_all

errcode_t bs_ble_disconnect_all(void)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 断开所有BLE设备的连接
  • 批量断开当前已连接的所有设备
  • 断连结果通过注册的回调函数逐个上报

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 全部断连请求发起成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_remove_pair

errcode_t bs_ble_remove_pair(uint16_t dev_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 移除指定设备的配对信息
  • 根据设备ID删除对应的配对绑定数据
  • 移除结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 设备ID 已配对设备ID

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 移除配对信息成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_remove_all_pair

errcode_t bs_ble_remove_all_pair(uint16_t *removed_num)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 移除所有设备的配对信息
  • 批量删除全部配对绑定数据
  • 通过输出参数返回实际移除的配对设备数量

出参

名称 数据类型 输出说明
removed_num uint16_t * 返回实际移除的配对设备数量

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 全部配对信息移除成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_register_callbacks

errcode_t bs_ble_register_callbacks(uint8_t app_id, const bs_ble_callbacks_t *cbks)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 注册BLE事件回调函数集合
  • 指定应用ID绑定回调函数结构体
  • 注册后可接收BLE连接、配对、扫描等事件通知

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 有效应用ID
cbks const bs_ble_callbacks_t * 回调函数结构体指针 非NULL

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_unregister_callbacks

errcode_t bs_ble_unregister_callbacks(uint8_t app_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 注销已注册的BLE事件回调函数
  • 根据应用ID解除回调绑定
  • 注销后不再接收对应应用的BLE事件通知

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 已注册的应用ID

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调注销成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_acl_switch_register_callback

errcode_t bs_ble_acl_switch_register_callback(uint8_t app_id, const bs_ble_acl_switch_state_cbk cbks)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 注册BLE ACL链路切换状态回调函数
  • 指定应用ID绑定ACL切换回调
  • 注册后可接收ACL链路切换状态变更通知

前置条件

  • 调用时序约束:必须在打开BLE链路切换开关后调用

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 有效应用ID
cbks const bs_ble_acl_switch_state_cbk ACL切换状态回调函数 非NULL

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_set_connect_param

errcode_t bs_ble_set_connect_param(uint16_t dev_id, uint16_t mode_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 设置指定设备的BLE连接参数
  • 根据预设模式ID应用对应的连接参数配置
  • 参数更新结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 设备ID 有效连接设备ID
mode_id uint16_t 预设连接参数模式ID 有效预设模式ID

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 连接参数设置请求发起成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_set_phy_param

errcode_t bs_ble_set_phy_param(uint16_t dev_id, uint16_t mode_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 设置指定设备的BLE PHY参数
  • 根据预设模式ID应用对应的PHY参数配置
  • 参数更新结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 设备ID 有效连接设备ID
mode_id uint16_t 预设PHY参数模式ID 有效预设模式ID

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 PHY参数设置请求发起成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_set_data_length

errcode_t bs_ble_set_data_length(bs_ble_set_data_length_t *param)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 设置BLE数据长度
  • 配置指定设备的数据包传输长度参数
  • 设置结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
param bs_ble_set_data_length_t * 数据长度设置参数 非NULL

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 数据长度设置请求发起成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_read_remote_device_rssi

errcode_t bs_ble_read_remote_device_rssi(uint16_t dev_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 读取远端BLE设备的RSSI值
  • 根据设备ID发起RSSI读取请求
  • RSSI读取结果通过注册的回调函数上报

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 设备ID 有效连接设备ID

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 RSSI读取请求发起成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_set_pair_request_result

errcode_t bs_ble_set_pair_request_result(uint16_t dev_id, uint8_t user_confirm)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 设置BLE配对请求确认结果
  • 根据设备ID指定需要确认的配对请求
  • 确认结果支持同意或拒绝配对请求,取值参考bs_ble_pair_request_state_t

入参

名称 参数类型 详细说明 约束取值范围
dev_id uint16_t 设备ID 有效连接设备ID
user_confirm uint8_t 配对请求确认结果 BS_BLE_PAIR_REQUEST_CONFIRM_REJECT(0) / BS_BLE_PAIR_REQUEST_CONFIRM_ACCEPT(1)

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 配对请求结果设置成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_get_paired_dev_infos

errcode_t bs_ble_get_paired_dev_infos(bs_ble_paired_dev_info *paired_infos, const uint16_t paired_infos_len, uint16_t *queried_num)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 查询已配对设备信息列表
  • 将已配对设备的ID和地址信息写入输出缓冲区
  • 通过输出参数返回实际查询到的配对设备数量

入参

名称 参数类型 详细说明 约束取值范围
paired_infos_len const uint16_t 输出缓冲区可容纳的设备数量 1 ~ 65535

出参

名称 数据类型 输出说明
paired_infos bs_ble_paired_dev_info * 返回已配对设备的ID和地址信息
queried_num uint16_t * 返回实际查询到的配对设备数量

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 查询配对设备信息成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_dev_manager_register_callbacks

errcode_t bs_ble_dev_manager_register_callbacks(uint8_t app_id, const bs_ble_dev_manager_callbacks_t *cbks)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 注册BLE设备管理回调函数
  • 指定应用ID绑定设备管理回调结构体
  • 注册后可接收BLE开机状态等设备管理事件通知

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 有效应用ID
cbks const bs_ble_dev_manager_callbacks_t * 设备管理回调结构体指针 非NULL

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调注册成功
Other 其他错误码,参考errcode_bt_t 执行失败

bs_ble_dev_manager_unregister_callbacks

errcode_t bs_ble_dev_manager_unregister_callbacks(uint8_t app_id)

头文件清单

#include "protocol/bt/host/include/bs_service/bs_ble_service_api.h"

功能说明

  • 注销已注册的BLE设备管理回调函数
  • 根据应用ID解除设备管理回调绑定
  • 注销后不再接收对应应用的设备管理事件通知

入参

名称 参数类型 详细说明 约束取值范围
app_id uint8_t 应用ID 已注册的应用ID

返回值

返回值 文字含义 触发场景
ERRCODE_BT_SUCCESS(0x00) 执行成功 回调注销成功
Other 其他错误码,参考errcode_bt_t 执行失败

Type definitions

errcode_t

typedef unsigned int errcode_t;

使用说明

本模块所有对外接口的返回值类型 [SDK公共基础类型]

bs_ble_acquire_type_t

typedef enum {
    BLE_ACQUIRE_LOCAL_ADDR = 8192,
} bs_ble_acquire_type_t;

使用说明

bs_ble_acquire接口的type入参类型

bs_ble_acquire_t

typedef union {
    bs_addr_t local_addr;
} bs_ble_acquire_t;

使用说明

bs_ble_acquire接口的param出参载体

bs_ble_set_data_length_t

typedef struct {
    uint16_t dev_id;
    uint16_t maxtxoctets;
    uint16_t maxtxtime;
} bs_ble_set_data_length_t;

使用说明

bs_ble_set_data_length接口的param入参类型

bs_ble_paired_dev_info

typedef struct {
    uint16_t dev_id;
    bs_addr_t addr;
} bs_ble_paired_dev_info;

使用说明

bs_ble_get_paired_dev_infos接口的paired_infos出参载体

bs_ble_callbacks_t

typedef struct {
    bs_ble_stack_state_cbk stack_state_cbk;
    bs_ble_connect_state_cbk connect_state_cbk;
    bs_ble_pair_complete_cbk pair_complete_cbk;
    bs_ble_discover_result_cbk discover_result_cbk;
    bs_ble_pair_remove_cbk pair_remove_cbk;
    bs_ble_read_rssi_cbk read_rssi_cbk;
    bs_ble_advertising_state_cbk adv_state_cbk;
    bs_ble_connect_param_update_cbk conn_param_update_cbk;
    bs_ble_set_data_len_cbk set_data_length_cbk;
} bs_ble_callbacks_t;

使用说明

bs_ble_register_callbacks接口的cbks入参类型

bs_ble_dev_manager_callbacks_t

typedef struct {
    bs_ble_power_on_cbk power_on_cbk;
} bs_ble_dev_manager_callbacks_t;

使用说明

bs_ble_dev_manager_register_callbacks接口的cbks入参类型

bs_ble_discovery_result_t

typedef struct {
    bs_addr_t addr;
    uint8_t name[BLE_SVC_ADV_DEV_NAME_LEN];
    int8_t tx_power;
    int8_t rssi;
    uint8_t event_type;
} bs_ble_discovery_result_t;

使用说明

bs_ble_discover_result_cbk回调的参数类型

bs_ble_conn_param_update_result_t

typedef struct {
    uint16_t interval;
    uint16_t latency;
    uint16_t timeout;
} bs_ble_conn_param_update_result_t;

使用说明

bs_ble_connect_param_update_cbk回调的参数类型

bs_ble_pair_info_report_t

typedef struct {
    uint8_t ltk[BLE_SVC_SMP_LTK_LEN];
    uint8_t rmt_irk[BLE_SVC_SMP_IRK_LEN];
} bs_ble_pair_info_report_t;

使用说明

bs_ble_pair_complete_cbk回调的参数类型

bs_ble_connection_result_t

typedef struct {
    uint16_t dev_id;
    bs_addr_t addr;
    uint8_t conn_state;
    uint8_t encrypt_state;
    uint32_t reason;
    uint8_t local_role;
} bs_ble_connection_result_t;

使用说明

bs_ble_connect_state_cbk回调的参数类型

Enumerations

bs_ble_acquire_type_t

typedef enum {
    BLE_ACQUIRE_LOCAL_ADDR = 8192,
} bs_ble_acquire_type_t;
枚举成员 取值 描述
BLE_ACQUIRE_LOCAL_ADDR 8192 获取本地BLE地址

bs_ble_discovery_type_t

typedef enum {
    BLE_DISCOVERY_CENTRAL = 0,
    BLE_DISCOVERY_PERIPHERAL = 1,
} bs_ble_discovery_type_t;
枚举成员 取值 描述
BLE_DISCOVERY_CENTRAL 0 中心设备发现
BLE_DISCOVERY_PERIPHERAL 1 外围设备发现

bs_ble_state_t

typedef enum {
    BLE_STATE_ENABLED = 0,
    BLE_STATE_DISABLED = 1,
} bs_ble_state_t;
枚举成员 取值 描述
BLE_STATE_ENABLED 0 BLE已使能
BLE_STATE_DISABLED 1 BLE已关闭

bs_ble_conn_state_t

typedef enum {
    BLE_CONNECT_CONNECTED = 0,
    BLE_CONNECT_DISCONNECTED = 1,
} bs_ble_conn_state_t;
枚举成员 取值 描述
BLE_CONNECT_CONNECTED 0 已连接
BLE_CONNECT_DISCONNECTED 1 已断连

bs_ble_encrypt_state_t

typedef enum {
    BLE_ENCRYPT_NONE = 0,
    BLE_ENCRYPT_SUCCESS = 1,
    BLE_ENCRYPT_FAILED = 2,
} bs_ble_encrypt_state_t;
枚举成员 取值 描述
BLE_ENCRYPT_NONE 0 未加密
BLE_ENCRYPT_SUCCESS 1 加密成功
BLE_ENCRYPT_FAILED 2 加密失败

bs_ble_local_role_t

typedef enum {
    BLE_SVC_LOCAL_CENTRAL = 0,
    BLE_SVC_LOCAL_PERIPHERAL = 1,
} bs_ble_local_role_t;
枚举成员 取值 描述
BLE_SVC_LOCAL_CENTRAL 0 本地角色为中心设备
BLE_SVC_LOCAL_PERIPHERAL 1 本地角色为外围设备

bs_ble_acl_switch_state_t

typedef enum {
    BS_BLE_ACL_SWITCHING = 0,
    BS_BLE_ACL_SWITCH_SUCC = 1,
    BS_BLE_ACL_SWITCH_FAIL = 2,
} bs_ble_acl_switch_state_t;
枚举成员 取值 描述
BS_BLE_ACL_SWITCHING 0 ACL链路切换中
BS_BLE_ACL_SWITCH_SUCC 1 ACL链路切换成功
BS_BLE_ACL_SWITCH_FAIL 2 ACL链路切换失败

bs_ble_power_on_status_t

typedef enum {
    BS_BLE_POWER_ON_UNKNOWN = 0,
    BS_BLE_POWER_ON_SUCCESS = 1,
    BS_BLE_POWER_ON_FAILED = 2,
} bs_ble_power_on_status_t;
枚举成员 取值 描述
BS_BLE_POWER_ON_UNKNOWN 0 开机状态未知
BS_BLE_POWER_ON_SUCCESS 1 开机成功
BS_BLE_POWER_ON_FAILED 2 开机失败

bs_ble_pair_request_state_t

typedef enum {
    BS_BLE_PAIR_REQUEST_CONFIRM_REJECT = 0x00,
    BS_BLE_PAIR_REQUEST_CONFIRM_ACCEPT = 0x01,
} bs_ble_pair_request_state_t;
枚举成员 取值 描述
BS_BLE_PAIR_REQUEST_CONFIRM_REJECT 0 拒绝配对请求
BS_BLE_PAIR_REQUEST_CONFIRM_ACCEPT 1 同意配对请求

Structures

bs_ble_set_data_length_t

typedef struct {
    uint16_t dev_id;
    uint16_t maxtxoctets;
    uint16_t maxtxtime;
} bs_ble_set_data_length_t;

成员说明

成员名称 数据类型 描述
dev_id uint16_t 设备ID
maxtxoctets uint16_t 最大发送字节数
maxtxtime uint16_t 最大发送时间

bs_ble_paired_dev_info

typedef struct {
    uint16_t dev_id;
    bs_addr_t addr;
} bs_ble_paired_dev_info;

成员说明

成员名称 数据类型 描述
dev_id uint16_t 设备ID
addr bs_addr_t 设备地址

bs_ble_callbacks_t

typedef struct {
    bs_ble_stack_state_cbk stack_state_cbk;
    bs_ble_connect_state_cbk connect_state_cbk;
    bs_ble_pair_complete_cbk pair_complete_cbk;
    bs_ble_discover_result_cbk discover_result_cbk;
    bs_ble_pair_remove_cbk pair_remove_cbk;
    bs_ble_read_rssi_cbk read_rssi_cbk;
    bs_ble_advertising_state_cbk adv_state_cbk;
    bs_ble_connect_param_update_cbk conn_param_update_cbk;
    bs_ble_set_data_len_cbk set_data_length_cbk;
} bs_ble_callbacks_t;

成员说明

成员名称 数据类型 描述
stack_state_cbk bs_ble_stack_state_cbk 协议栈状态变更回调
connect_state_cbk bs_ble_connect_state_cbk 连接状态变更回调
pair_complete_cbk bs_ble_pair_complete_cbk 配对完成回调
discover_result_cbk bs_ble_discover_result_cbk 设备发现结果回调
pair_remove_cbk bs_ble_pair_remove_cbk 配对移除回调
read_rssi_cbk bs_ble_read_rssi_cbk RSSI读取结果回调
adv_state_cbk bs_ble_advertising_state_cbk 广播状态变更回调
conn_param_update_cbk bs_ble_connect_param_update_cbk 连接参数更新回调
set_data_length_cbk bs_ble_set_data_len_cbk 数据长度设置结果回调

bs_ble_dev_manager_callbacks_t

typedef struct {
    bs_ble_power_on_cbk power_on_cbk;
} bs_ble_dev_manager_callbacks_t;

成员说明

成员名称 数据类型 描述
power_on_cbk bs_ble_power_on_cbk 开机状态回调

bs_ble_connection_result_t

typedef struct {
    uint16_t dev_id;
    bs_addr_t addr;
    uint8_t conn_state;
    uint8_t encrypt_state;
    uint32_t reason;
    uint8_t local_role;
} bs_ble_connection_result_t;

成员说明

成员名称 数据类型 描述
dev_id uint16_t 设备ID
addr bs_addr_t 设备地址
conn_state uint8_t 连接状态
encrypt_state uint8_t 加密状态
reason uint32_t 断连原因
local_role uint8_t 本地角色

bs_ble_discovery_result_t

typedef struct {
    bs_addr_t addr;
    uint8_t name[BLE_SVC_ADV_DEV_NAME_LEN];
    int8_t tx_power;
    int8_t rssi;
    uint8_t event_type;
} bs_ble_discovery_result_t;

成员说明

成员名称 数据类型 描述
addr bs_addr_t 设备地址
name uint8_t[] 设备名称
tx_power int8_t 发射功率
rssi int8_t 信号强度
event_type uint8_t 事件类型

bs_ble_conn_param_update_result_t

typedef struct {
    uint16_t interval;
    uint16_t latency;
    uint16_t timeout;
} bs_ble_conn_param_update_result_t;

成员说明

成员名称 数据类型 描述
interval uint16_t 连接间隔
latency uint16_t 从设备延迟
timeout uint16_t 监督超时

bs_ble_pair_info_report_t

typedef struct {
    uint8_t ltk[BLE_SVC_SMP_LTK_LEN];
    uint8_t rmt_irk[BLE_SVC_SMP_IRK_LEN];
} bs_ble_pair_info_report_t;

成员说明

成员名称 数据类型 描述
ltk uint8_t[] 长期密钥
rmt_irk uint8_t[] 远端IRK

Macros

BLE_DEVICE_NAME_LEN

#define BLE_DEVICE_NAME_LEN                          32

BS_BLE_MAX_PRE_SET_CONN_PARAM_NUM

#define BS_BLE_MAX_PRE_SET_CONN_PARAM_NUM            5

BS_BLE_MAX_PRE_SET_PHY_PARAM_NUM

#define BS_BLE_MAX_PRE_SET_PHY_PARAM_NUM             3

BS_BLE_MAX_PRE_SET_SCAN_PARAM_NUM

#define BS_BLE_MAX_PRE_SET_SCAN_PARAM_NUM            3

BS_BLE_MAX_PRE_SET_ADV_PARAM_NUM

#define BS_BLE_MAX_PRE_SET_ADV_PARAM_NUM             3

BLE_SVC_SMP_LTK_LEN

#define BLE_SVC_SMP_LTK_LEN                          16

BLE_SVC_SMP_IRK_LEN

#define BLE_SVC_SMP_IRK_LEN                          16

BLE_SVC_ADV_DEV_NAME_LEN

#define BLE_SVC_ADV_DEV_NAME_LEN                     32