con_interval >= user_connection_param_conf.intv_min) && (msg_param->con_interval con_latency == user_connection_param_conf.latency) && (msg_param->sup_to == user_connection_param_conf.time_out)) { // my code app_easy_gap_disconnect(app_env[0].conidx); // Send disconnect command } } break; But the variables msg_param->con_interval , msg_param->con_latency , msg_param->sup_to have always the same value. My second idea was to catch the following message GAPC_PARAM_UPDATE_CFM // Master confirm or not that parameters proposed by slave are accepted or not But without success. Maybe it is the wrong place to catch this message in the "user_catch_rest_hndl()" or Android did not send this message. The third and last idea is to read the actual connection parameters direct, but where are they ? Thanks in advance with best regards Siegmar"> da14580“gapc_param_updated_ind”|对话 - 雷电竞下载app,雷电竞官网登录,雷竞技安卓下载 跳到主要内容

da14580“gapc_param_updated_ind”

DA14580.

6个月前

da14580“gapc_param_updated_ind”

张贴了omesa.0分 7回复
0旋转

你好,
起初,我祝愿最后一个新的一年。
我有以下问题:
我的应用是超低功率传感器。当我的adroid应用程序连接到设备时,我必须尽可能快地更改连接参数以节省能量,因为我获得了每10秒的新数据。
在特殊的测量程序中,我将获得每1个新数据。
因此,我必须不时更改连接参数。
这是预期的。
但在我的da14580代码中,我想确定,新的连接参数由主站(adroid应用程序)除外。如果连接参数不对,则我必须断开通信。

我的项目基于“BLE_APP_SLEEPMODE项目”

所以我的第一个想法是在“user_catch_rest_hndl()”中捕获以下消息。

案例gapc_param_updated_ind:
{
//将void指针投入相应的消息结构
struct gapc_param_updated_ind const * msg_param =(struct gapc_param_updated_ind const *)(param);

//检查更新的CONN PARAMS是否填充到PREFERED ONE
if((msg_param-> con_interval> = user_connection_param_conf.intv_min)&&
(msg_param-> con_interval <= user_connection_param_conf.intv_max)&&
(msg_param-> con_latency == user_connection_param_conf.latency)&&
(msg_param-> sup_to == user_connection_param_conf.time_out))
{
//我的代码app_easy_gap_disconnect(app_env [0] .conidx);//发送disconnect命令
}
} 休息;

但是变量msg_param-> con_interval,msg_param-> con_latency,msg_param-> sup_to始终是相同的值。

我的第二个想法是捕获以下消息GAPC_PARAM_UPDATE_CFM // MASTER确认或者从未接受从设备提出的参数
但没有成功。

也许它是在“user_catch_rest_hndl()”中捕获此消息的错误位置,或者android没有发送此消息。

第三个和最后一个想法是直接阅读实际连接参数,但它们在哪里?

提前致谢

最诚挚的问候
Siegmar.

6个月前

PM_DIALOG.

嗨omesa,

一旦更新了连接参数,就会触发GAPC_PARAM_UPDATED_IND事件。如果主设备(移动电话)接受参数,则只要参数更新,应将GAPC_PARAM_UPDATED_IND发送到应用程序。如果检查SDK示例,您将看到GapC_Param_updated_ind捕获user_catch_rest_hndl()。您应该能够通过在App_process_catch_rest_cb()中捕获GapC_Param_updated_ind来获取更新参数指示,但再次这表示连接参数已由主设备更改。在将新参数应用于连接之前,无法捕获邮件。您能否添加一个休息点来检查您是否可以收到此消息?如果是,则参数已更新。请使用SS Toolbox的电源分析器使用此功能。

如果您正在启动新的设计/项目,我们将强烈建议首先以DA14531或DA14585 / 586产品和我们最新的SDK6.0.14开始,因为它更加提高。雷电竞官网登录我们有很多代码示例和改进的文档,还有软件路线图支持。DA14580产品系列和SDK5没有软件路线图支持。

谢谢,PM_DIALOG.

6个月前

omesa. 0分

你好,

感谢您的快速回复。

起初它不是一个新的设计。它正在工作,也许在6个月内,我将把软件移植到新硬件。

但知道我有问题。

当然,我知道如何设置一个断点;-)

但是变量msg_param-> con_interval,msg_param-> con_latency,msg_param-> sup_to始终是相同的值。

msg_param-> con_interval = msg_param-> con_latency !!

为您的信息,我使用DA14580芯片工作超过2年。

如果你给我正确的方向,那将是很好的。

干杯

Siegmar.

6个月前

PM_DIALOG.

嗨omesa,

谢谢你的澄清。我的意思是,只是为了检查它到这一点的断点。在连接参数请求之后,您是否能看到连接间隔已更新?

根据Bluetooth LE规范,间隙外围设备向间隙中心发送连接参数更新请求时,间隙中央将决定是否可以接受或拒绝请求。

如果被拒绝,将触发app_on_update_params_rejected(默认为null)。因此,您可以删除NULL并实现您的应用程序代码。请按照其他用户回调的实现。

如果被接受,则可以使用app_on_update_params_complete回调来执行此操作。请参阅user_callback_config中的user_app_callbacks()。

例如 :

.app_on_update_params_rejected = user_app_on_update_params_被拒绝,.app_on_update_params_complete = user_app_on_update_params_complete,

在user_xxxx.h文件中(例如user_periph.h)

void user_app_on_update_params_拒绝(void);void user_app_on_update_params_complete(void);

在user_xxxx.c文件中(例如user_periph.c)

void user_app_on_update_params_被拒绝(void){...。......void user_app_on_update_params_complete(void){...。......}

如前所述,应在更新连接的参数时触发GAPC_PARAM_UPDATED_IND事件。您是否需要阅读新的连接参数?

谢谢,PM_DIALOG.

6个月前

omesa. 0分

非常感谢您的回复和给我一个方向。

“如前所述,应在更新连接的参数时触发GAPC_PARAM_UPDATED_IND事件。您是否需要阅读新的连接参数?”

我想确定,连接参数是正确的。也许我可以从Android主人测试它,但奴隶可以自己控制它。

我今天会开始调查。

干杯

Siegmar.

6个月前

PM_DIALOG.

嗨Siegmar,

如果主主接受或拒绝更新参数请求,您可以使用建议的回调。

谢谢,PM_DIALOG.

接受答案!

6个月前

omesa. 0分

你好,

非常感谢,让我正确的方向。它是预期的。当主站的连接参数不为人时,我可以使用app_easy_gap_disconnect断开回调函数void user_app_on_update_params_拒绝(void)的连接(app_env [0] .conidx);

所以我的问题消失了,谢谢

最诚挚的问候

Siegmar.

接受答案!

6个月前

PM_DIALOG.

嗨Siegmar,

很高兴你有工作。如果您有任何后续问题,请提出一个新的论坛帖子。

谢谢,PM_DIALOG.