原文链接:http://www.moonkin.net/2020/05/31/BLE-update-para/
CSDN无法转存图片,请到上面的网站查看。
Connection Parameter Update Procedure 是一个 GAP 的 Procedure,允许 Central 或者 Peripheral 在连接后是可以更新连接参数。一般原厂会提供相关 GAP 的 API, 例如我司的 API 就是
int inb_conn_param_update(int conidx, inb_conn_param_update_t *p_upd)
而GAP下面的layer如果实现,则是分为3种情况:
-
Central 要更新连接参数,但 Central 或 Peripheral 有一个不支持 Connection Parameters Request Procedure,则 Central 用 Link Layer 的 Connection Update procedure 来更新参数。Master 发送 LL_CONECTION_UPDATE_IND 来更新连接参数。
- Peripheral 要更新连接参数,但有两个连接的设备有一个不支持 Connection Parameters Request Procedure ,就需要用 L2CAP 的CONNECTION PARAMETER UPDATE REQUEST 命令,master 会发送 CONNECTION PARAMETER UPDATE RESPONSE 返回结果。如果更新成功,Slave 的 Host 会收到 Controller 的通知。
CONNECTION PARAMETER UPDATE REQUEST
CONNECTION PARAMETER UPDATE RESPONSE
- 如果 Central 和 Peripheral 都支持 Connection Parameters Request Procedure, 则用 Connection Parameters Request Procedure 来更新连接参数。下面分别是 Master 和 Slave 发起请求的过程:
参考文献:
Bluetooth Core Specification v 5.0