蓝牙协议栈更新连接参数

     本人对蓝牙协议栈也算是个小白,以前都没有接触过蓝牙协议栈这块,来到现公司后还是接触,有些客户的蓝牙协议栈在遥控器向主机端发送连接参数更新请求后被拒绝,或者更新成功后发给遥控的又是另外一个数值,之前老大让我改了三个宏定义就可以,BTM_BLE_CONN_INT_MIN_DEF设成6,BTM_BLE_CONN_INT_MAX_DEF设成40,BTM_BLE_CONN_INT_MIN_LIMIT设成0x0006.之前一直不知道为什么这么改下就可以了。后面碰到一个问题,终于找到连接参数是怎么更新的,当然这里只是一部分。有大神看到可以帮忙补充。

        因为遥控器发给主机的的更新连接参数的packet是acl data,所以必定会在l2c_rcv_acl_data处理该patcket。该函数是专门处理ACL 类型的数据包的。根据解析出来的rcv_cid为L2CAP_BLE_SIGNALLING_CID,即可找到具体的处理函数l2cble_process_sig_cmd,在该函数中会去解析出packet包中的min_interval,max_interval,latency以及timeout。然后给t_l2c_linkcb这个结构中对应的值更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值