什么是GAPC\u PARAM\u UPDATED\u IND in ble\u app\u peripheral?

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
4个职位/0个新职位
最后一篇文章
马哈朱
离线
最后一次见到:2年3个月前
已加入:2018-01-29 01:08
什么是GAPC\u PARAM\u UPDATED\u IND in ble\u app\u peripheral?

你好
我正在使用ble\u app\u外设作为我的应用程序的基础
我对基本ble\u app\u外围示例代码做了很多其他更改,但我认为这些更改与这个特定问题无关

智能手机与DA14580开发板连接后,开发板停止播放广告
在大约10秒钟之后,我注意到GAPC\u PARAM\u UPDATED\u IND消息总是生成的

这条消息是什么?为什么会产生?我想这意味着GAPCïu PARAMïu更新了指示?这是否意味着在某个时刻生成了GAPC_PARAM_UPDATE_CMD或GAPC_PARAM_UPDATE_REQ_IND type消息?

在ble\u app\u外围示例代码中究竟是什么生成了此消息,它做了什么,如何安全地阻止生成此消息?

设备:
PM\U对话框
离线
最后一次见到:9小时3分钟前
工作人员
已加入:2018-02-08 11:03
你好mahaju,

你好mahaju,

GAPC_PARAM_UPDATED_IND事件在更新连接参数时触发,与RevieraWave的GAP接口规范有关。GAPC_PARAM_UPDATE_CMD是连接参数更新命令,GAPC_PARAM_UPDATE_REQ_IND是更新连接参数指示的请求。当连接的从设备请求更新连接参数时,会在主设备上触发GAPC \u PARAM \u UPDATE \u REQ \u IND消息事件。外围设备将检查主设备的连接参数,如果不接受连接的当前参数,它将发送更新(这发生在连接回调中)。如果连接参数不可接受,主机将拒绝更新,回调app\u on\u update\u params\u rejected将发生,但如果主机接受app\u on\u update\u params\u complete将发生。如果主机接受这些参数,参数一更新,GAPC\u PARAM\u UPDATED\u IND就会发送到应用程序。

谢谢你的对话

马哈朱
离线
最后一次见到:2年3个月前
已加入:2018-01-29 01:08
那么,一个简单的方法是什么

那么,在DA14580代码中,防止这种情况发生的简单方法是什么呢?我假设任何导致GAPC\u PARAM\u UPDATED\u IND发生的事情都是ble\u app\u外围示例代码的一部分。这个零件能安全地拆下吗?或者你的意思是,这是因为一些更新命令来自主(智能手机应用程序)?我应该阻止主机(智能手机应用程序)发送连接参数更新命令吗?我知道这是怎么正确工作的吗?如果是这种情况,是否可以使ble\u app\u外围应用程序忽略来自智能手机应用程序的连接参数更新命令?

PM\U对话框
离线
最后一次见到:9小时3分钟前
工作人员
已加入:2018-02-08 11:03
你好mahaju,

你好mahaju,
是的,您可以在代码中安全地执行此修改。连接参数由param\u update\u request\u timer\u cb()回调函数更新。您可以在user\u app\u connection()中注释掉以下代码块,其中调用param\u update\u request\u timer\u cb()回调,以便在计时器过期时调用。

if((param->con\u interval(param->con_interval>user_connection_param_conf.intv_max)||
(参数->控制延迟!=用户连接参数配置延迟)||
(参数->辅助对象!=用户连接参数配置超时)
{
//连接参数不是我们期望的
app\ param\ u update\ u request\ u timer\ u used=app\ u easy\ u timer(app\ param\ u update\ u request\ u TO,param\ u update\ u request\ u timer\ u cb);
}

根据蓝牙核心规范,更新连接参数命令只能由主控更新。虽然从机可以提出一些连接参数,但是主机决定是否接受这些参数。

谢谢你的对话