【沁恒蓝牙开发】从机主动更新连接参数

文章目录

1、连接参数组成

常见连接参由以下几个参数组成:

连接参数应该在合理范围内,不然会给主机拒绝连接参数的更新请求, 安卓最小是7.5ms,IO大于等于15ms(具体参考苹果的开发文档)

目前IOS最新的连接参数范围如下:

2、设置从机最大、最小连接间隔

在Peripheral_Init中,可以看到下文,代码的操作码分别代表 GAPROLE_MIN_CONN_INTERVAL(最小连接间隔) 和 GAPROLE_MAX_CONN_INTERVAL(最大连接间隔)。

设置从机最大、最小连接间隔后,在协商的时候供主机决定使用哪一个连接间隔。

连接参数 1代表1.25ms,假如填6,就是 6x1.25=7.5ms

c 复制代码
//设置最小连接间隔
GAPRole_SetParameter(GAPROLE_MIN_CONN_INTERVAL, sizeof(uint16_t), &desired_min_interval);


//设置最大连接间隔
GAPRole_SetParameter(GAPROLE_MAX_CONN_INTERVAL, sizeof(uint16_t), &desired_max_interval);

3、主动更新连接参数

主动更新连接参数的API如下:

c 复制代码
// Minimum connection interval (units of 1.25ms, 6=7.5ms)
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL    6

// Maximum connection interval (units of 1.25ms, 100=125ms)
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL    100

// Slave latency to use parameter update
#define DEFAULT_DESIRED_SLAVE_LATENCY        0

// Supervision timeout value (units of 10ms, 100=1s)
#define DEFAULT_DESIRED_CONN_TIMEOUT         100


GAPRole_PeripheralConnParamUpdateReq(peripheralConnList.connHandle,
                                     DEFAULT_DESIRED_MIN_CONN_INTERVAL,
                                     DEFAULT_DESIRED_MAX_CONN_INTERVAL,
                                     DEFAULT_DESIRED_SLAVE_LATENCY,
                                     DEFAULT_DESIRED_CONN_TIMEOUT,
                                     Peripheral_TaskID);

注意:不可在刚刚连接时立刻调用,立刻协商大概率协商失败 ,因为刚刚连接的时候会有大量数据交互(如主机查从机的服务等),建议同从机例程一样使用TMOS延时调用,如下:

协商回调 与 对应的log

相关推荐
吴建旭 智宅焕9 小时前
智能家居品牌方交付承诺的系统架构:从标准装调到全案交付的调试能力设计
系统架构·智能家居
吴建旭 智宅焕11 小时前
智能家居品牌方交付组织的系统架构设计:从人力调度到交付确定性基础设施
系统架构·智能家居
吴建旭 智宅焕1 天前
智能家居B端销服分离架构设计:交付确定性与全国交付基础设施
智能家居
吴建旭 智宅焕1 天前
AI搜索时代的智能家居交付知识架构:官网作为可信一手信息源与全国交付基础设施
人工智能·架构·智能家居
吴建旭 智宅焕1 天前
智能家居方案设计的系统化锁定方法:从非标需求到标准化交付依据 【摘要】
智能家居
吴建旭 智宅焕1 天前
AI时代智能家居交付知识资产架构:非业务内容作为可信信息源的系统设计
人工智能·架构·智能家居
吴建旭 智宅焕1 天前
智能家居全国交付知识标准化架构:从隐性盲区到可复用标准资料卡
架构·智能家居
Chery11401 天前
nRF54LC10A芯片详解:超小尺寸低功耗多协议SoC,适用于蓝牙追踪器与Matter智能家居
智能家居
智鸟科技GemeOpen开发者智能设备2 天前
智能插座二次开发如何接入Home Assistant,从零开始完整工程实现(Python+React)
开发语言·python·物联网·react.js·智能家居
似夜晓星辰2 天前
用 Laya 决策模型(JEV 的开源实现)做一个智能家居决策 Demo
开源·智能家居