tkl_bluetooth | 蓝牙驱动
API 描述
tkl_ble_stack_init
OPERATE_RET tkl_ble_stack_init(uint8_t role);
-
功能描述:
初始化 ble 协议栈
-
参数:
输入/输出 参数名 描述 [in] role ble 角色配置 名字 定义 备注 TKL_BLE_ROLE_SERVER BLE 服务器 TKL_BLE_ROLE_CLIENT BLE 客户端 -
返回值:
- OPRT_OK : 成功
- Others :失败
tkl_ble_stack_deinit
OPERATE_RET tkl_ble_stack_deinit(uint8_t role);
-
功能描述:
去初始化 ble 协议栈
-
参数:
输入/输出 参数名 描述 [in] role ble 角色,如下所示 名字 定义 备注 TKL_BLE_ROLE_SERVER BLE 服务器 TKL_BLE_ROLE_CLIENT BLE 客户端 -
返回值:
- OPRT_OK : 成功
- Others :失败
tkl_ble_gap_callback_register
OPERATE_RET tkl_ble_gap_callback_register(const TKL_BLE_GAP_EVT_FUNC_CB gap_evt);
-
功能描述:
注册 gap 回调函数
-
参数:
输入/输出 参数名 描述 [in] gap_evt 注册 gap 回调函数,如下定义 typedef void(*TKL_BLE_GAP_EVT_FUNC_CB)(TKL_BLE_GAP_PARAMS_EVT_T *p_event);
TKL_BLE_GAP_PARAMS_EVT_T
typedef struct {
TKL_BLE_GAP_EVT_TYPE_E type; /**< Gap Event */
uint16_t conn_handle; /**< Connection Handle */
int result; /**< Will Refer to HOST STACK Error Code */
union {
TKL_BLE_GAP_CONNECT_EVT_T connect; /**< Receive connect callback, This value can be used with TKL_BLE_EVT_PERIPHERAL_CONNECT and TKL_BLE_EVT_CENTRAL_CONNECT_DISCOVERY*/
TKL_BLE_GAP_DISCONNECT_EVT_T disconnect; /**< Receive disconnect callback*/
TKL_BLE_GAP_ADV_REPORT_T adv_report; /**< Receive Adv and Respond report*/
TKL_BLE_GAP_CONN_PARAMS_T conn_param; /**< We will update connect parameters.This value can be used with TKL_BLE_EVT_CONN_PARAM_REQ and TKL_BLE_EVT_CONN_PARAM_UPDATE*/
char link_rssi; /**< Peer device RSSI value */
}gap_event;
} TKL_BLE_GAP_PARAMS_EVT_T; -
返回值:
- OPRT_OK : 成功
- Others :失败
tkl_ble_gatt_callback_register
OPERATE_RET tkl_ble_gatt_callback_register(const TKL_BLE_GATT_EVT_FUNC_CB gatt_evt);
-
功能描述:
注册GATT回调函数
-
参数:
输入/输出 参数名 描述 [in] gatt_evt GATT 回调函数 typedef void(*TKL_BLE_GATT_EVT_FUNC_CB)(TKL_BLE_GATT_PARAMS_EVT_T *p_event);
TKL_BLE_GATT_PARAMS_EVT_T
gatt事件定义如下:
typedef struct {
TKL_BLE_GATT_EVT_TYPE_E type; /**< Gatt Event */
uint16_t conn_handle; /**< Connection Handle */
int result; /**< Will Refer to HOST STACK Error Code */
union {
uint16_t exchange_mtu; /**< This value can be used with TKL_BLE_GATT_EVT_MTU_REQUEST and TKL_BLE_GATT_EVT_MTU_RSP*/
TKL_BLE_GATT_SVC_DISC_TYPE_T svc_disc; /**< Discovery All Service */
TKL_BLE_GATT_CHAR_DISC_TYPE_T char_disc; /**< Discovery Specific Characteristic */
TKL_BLE_GATT_DESC_DISC_TYPE_T desc_disc; /**< Discovery Specific Descriptors*/
TKL_BLE_NOTIFY_RESULT_EVT_T notify_result; /**< This value can be used with TKL_BLE_GATT_EVT_NOTIFY_TX*/
TKL_BLE_DATA_REPORT_T write_report; /**< This value can be used with TKL_BLE_GATT_EVT_WRITE_REQ*/
TKL_BLE_DATA_REPORT_T data_report; /**< This value can be used with TKL_BLE_GATT_EVT_NOTIFY_INDICATE_RX*/
TKL_BLE_DATA_REPORT_T data_read; /**< After we do read attr in central mode, we will get the callback*/
TKL_BLE_SUBSCRBE_EVT_T subscribe; /**< ccc callback event, used with TKL_BLE_GATT_EVT_SUBSCRIBE*/
TKL_BLE_READ_CHAR_EVT_T char_read; /**< read char event, used with TKL_BLE_GATT_EVT_READ_CHAR_VALUE*/
} gatt_event;
} TKL_BLE_GATT_PARAMS_EVT_T; -
返回值:
- OPRT_OK : 成功
- Others :失败
tkl_ble_gap_addr_set
OPERATE_RET tkl_ble_gap_addr_set(TKL_BLE_GAP_ADDR_T const *p_peer_addr);
-
功能描述:
设置Ble mac地址
-
参数:
输入/输出 参数名 描述 [in] p_peer_addr mac 地址,可选 public/random -
返回值:
- OPRT_OK : 成功
- Others :失败
-
备注
一般模组经过生产已带有 mac 地址,无需配置。
tkl_ble_gap_address_get
OPERATE_RET tkl_ble_gap_address_get(TKL_BLE_GAP_ADDR_T *p_peer_addr);
-
功能描述:
读取Ble设备mac地址
-
参数:
输入/输出 参数名 描述 [out] p_peer_addr 设备mac地址 -
返回值:
- OPRT_OK : 成功
- Others :失败
-
备注
很少使用
tkl_ble_gap_adv_start
OPERATE_RET tkl_ble_gap_adv_start(TKL_BLE_GAP_ADV_PARAMS_T const *p_adv_params);
-
功能描述:
开启ble广播
-
参数:
输入/输出 参数名 描述 [in] p_adv_params 广播参数,如下所示 TKL_BLE_GAP_ADV_PARAMS_T
typedef struct {
uint8_t adv_type; /**< Adv Type. Refer to TKL_BLE_GAP_ADV_TYPE_CONN_SCANNABLE_UNDIRECTED etc.*/
TKL_BLE_GAP_ADDR_T direct_addr; /**< For Directed Advertising, you can fill in direct address */
uint16_t adv_interval_min; /**< Range: 0x0020 to 0x4000 Time = N * 0.625 msec Time Range: 20 ms to 10.24 sec */
uint16_t adv_interval_max; /**< Range: 0x0020 to 0x4000 Time = N * 0.625 msec Time Range: 20 ms to 10.24 sec */
uint8_t adv_channel_map; /**< Advertising Channel Map, 0x01 = adv channel index 37, 0x02 = adv channel index 38,
0x04 = adv channel index 39. Default Value: 0x07*/
} TKL_BLE_GAP_ADV_PARAMS_T; -
返回值:
- OPRT_OK : 成功
- Others :失败
tkl_ble_gap_adv_stop
OPERATE_RET tkl_ble_gap_adv_stop(void);
-
功能描述:
关闭ble广播
-
参数:
无
-
返回值:
- OPRT_OK : 成功
- Others :失败
tkl_ble_gap_adv_rsp_data_set
OPERATE_RET tkl_ble_gap_adv_rsp_data_set(TKL_BLE_DATA_T const *p_adv, TKL_BLE_DATA_T const *p_scan_rsp);
-
功能描述:
设置广播数据
-
参数:
输入/输出 参数名 描述 [in] p_adv