什么是bapc_param_updated_ind在ble_app_peripheral中?

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
马哈居
离线
最后一次露面:2年前一周前
加入:2018-01-29 01:08
什么是bapc_param_updated_ind在ble_app_peripheral中?

你好
我正在使用ble_app_peripheral作为我的应用程序的基础
我已经对基本BLE_APP_PERITERALAL示例代码进行了许多其他更改,但我认为它们与此特定问题无关

在智能手机和DA14580开发板之间连接后,董事会停止BLE广告
大约10秒后,我注意到alpc_param_updated_ind消息始终生成

这条消息是什么,为什么生成?我想它意味着gapc_param_updated指示?是否在某些时候生成了这款均值填充_param_update_cmd或gapc_param_update_req_ind类型消息吗?

究竟是什么在BLE_APP_PERITELAL示例代码中制作此消息,它做了什么,以及如何安全地阻止它生成?

设备:
PM_DIALOG.
离线
最后一次露面:9小时24分钟前
职员
加入:2018-02-08 11:03
嗨马哈茹,

嗨马哈茹,

当对Revierawave的GAP接口规范更新的参数更新了连接的参数时,GAPC_PARAM_UPDATED_IND事件触发。GAPC_PARAM_UPDATE_CMD是连接参数更新命令,GAPC_PARAM_UPDATE_REQ_IND是更新连接参数指示的请求。当连接请求的从站到更新连接参数时,在主设备上触发GAPC_PARAM_UPDATE_REQ_IND消息事件。外围设备将从主站中检查连接参数,如果不接受连接的当前参数,它将发送更新(这在连接回调中发生)。如果连接参数不可接受,主机将拒绝更新,并且将发生回调app_on_update_params_rejected,但如果主服务器接受app_on_update_params_complete会发生。如果主站接受参数,则在更新参数后,只要将参数发送到应用程序。

谢谢pm_dialog.

马哈居
离线
最后一次露面:2年前一周前
加入:2018-01-29 01:08
那是一种简单的方式

那么在DA14580代码中,防止这种简单的方法是防止这种情况发生的简单方法?我假设任何导致GAPC_PARAM_UPDATED_IND发生的东西,是BLE_APP_PERITITAL示例代码的一部分。这部分可以安全删除吗?或者你的意思是这样发生因为一些update命令从主站(智能手机应用程序)进入?我应该防止主设备(智能手机应用程序)发送连接参数更新命令吗?我明白这是如何正确的?如果是这种情况,是否可以使BLE_APP_PERITED应用程序忽略智能手机应用程序的连接参数更新命令?

PM_DIALOG.
离线
最后一次露面:9小时24分钟前
职员
加入:2018-02-08 11:03
嗨马哈茹,

嗨马哈茹,
是的,您可以在代码中安全地进行此修改。连接参数由param_update_request_timer_cb()回调函数更新。您可以在user_app_connection()中发表以下代码块,其中调用param_update_request_timer_cb()回调以便在计时器经过时调用。

if((param-> con_interval (param-> con_interval> user_connection_param_conf.intv_max)||
(param-> con_latency!= user_connection_param_conf.latency)||
(param-> sup_to!= user_connection_param_conf.time_out))
{
//连接参数不是我们预期的
app_param_update_request_timer_used = app_easy_timer(app_param_update_request_to,param_update_request_timer_cb);
}

根据蓝牙核心规范,更新连接参数命令只能由Master更新。虽然,从站可以提出一些连接参数,然后主站决定接受它们。

谢谢pm_dialog.