⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
11个帖子/ 0新
最后一篇
杰曼伯特
离线
最后一次露面:11个月1周前
加入:2014-10-24 14:17
断开延迟

考虑一个方案,主机和从站协商20秒的主管超时。如果通过观察RWBE.C中的这些事件的序列,检测到检测到5秒的链路不活动(在SUPERISOR TIMEOUT之前)有5秒的链路不活动,则可以在显式断开代码来显式断开连接。

/ *最后的BLE活动。用于应用程序与BLE Activity的同步* /
typedef枚举
{
ble_evt_slp,
ble_evt_cscnt,
ble_evt_rx,
ble_evt_tx,
ble_evt_finetgtim,
ble_evt_end,

last_ble_evt;

该链接在T = 0处被打破,并使用调试器断点我观察到从代码正确地启动通过内核消息GAPC_DISConnect经过的T = 5秒的断开连接。

但是,我也用调试器观察的是,在T = 10周围之前,确认断开连接完成的GAPC_DISCONNECT_IND不会发生。通过数据包嗅探器,我也看到广告直到t = 10后直到恢复。它看起来好像是在适当时间命令GAPC_DISCONNECT时延迟实际断开连接。在我们的情况下,如果上述条件发生,则断开连接很重要。

谢谢,

设备:
PM_DIALOG.
离线
最后一次露面:4天12小时前
职员
加入:2018-02-08 11:03
嗨jameshiebert,

嗨jameshiebert,

出现此行为的最可能原因是连接间隔。连接间隔的配置有哪些?如果连接间隔太大,并且您没有使用延迟,我建议您使用较小的连接间隔并增加延迟。请检查附加的屏幕截图。当从机无需发送时,连接间隔约为2200ms(2000ms延迟+200ms连接间隔)。但是当从机有东西要发送时,在您的情况下,断开消息会唤醒设备,连接间隔大约为t 200ms。

谢谢,PM_DIALOG.

杰曼伯特
离线
最后一次露面:11个月1周前
加入:2014-10-24 14:17
你好对话框,

你好对话框,

谢谢(你的)信息。在我们的场景中,CI非常短,11.25ms,从延迟为0。

您是否在长期监督超时期间尝试了实验,而主人则不再将空闲数据包传输到奴隶?

杰曼伯特
离线
最后一次露面:11个月1周前
加入:2014-10-24 14:17
是否有可能延迟

是否有可能发生延迟,因为从站不能将Disconnect命令传输为主和从属奴隶不再交换空闲?

PM_DIALOG.
离线
最后一次露面:4天12小时前
职员
加入:2018-02-08 11:03
嗨jameshiebert,

嗨jameshiebert,

不,我从未尝试过这个实验。你能澄清一下吗?哪些配置您正在使用的?

谢谢,PM_DIALOG.

杰曼伯特
离线
最后一次露面:11个月1周前
加入:2014-10-24 14:17
尝试这个:

尝试这个:

1.建立与11.25ms CI和20S ST(Master和Slave)的连接。
2.从连接开始,从站设置一个定时器5(或更多)秒。
3.在计时器经过之前,从主机断开天线
4.当计时器到期时,从站发送Gapc_disconnect_cmd。

什么时候是奴隶应用程序收到的gapc_disconnected_ind?

我们希望立即发生这种情况,但它似乎似乎它被延迟显着。

PM_DIALOG.
离线
最后一次露面:4天12小时前
职员
加入:2018-02-08 11:03
嗨jameshiebert,

嗨jameshiebert,

发送GAPC_DISCONNECT_CMD命令时,响应是一个GAPC_DISCONNECT_IND事件在连接完成时触发,并且在操作完成后,您将获得GAPC_CMP_EVT事件。GAPC_DISCONNECT_IND事件将被发送到应用程序任务,以便通知链接已断开连接。接收此消息还意味着与链接相关的任务实例是清理的,并且在建立新连接之前,不能使用相应的任务实例。您是否意味着当您从对等外围设备断开主机的连接时,您就不会获得GapC_Disconnect_ind?

谢谢,PM_DIALOG.

杰曼伯特
离线
最后一次露面:11个月1周前
加入:2014-10-24 14:17
PM_DIALOG,

PM_DIALOG,

我们确实得到了gapc_disconnect_ind,但不是立即。在指示到来之前似乎需要几秒钟。它几乎好像系统正试图将空气中的断开指示发送回主控,而是因为没有收到主帧,因此在放弃和断开连接之前它会延迟一下?

杰曼伯特
离线
最后一次露面:11个月1周前
加入:2014-10-24 14:17
对话,

对话,

我与您的工程经理之一和他的建议相符,发送以下消息而不是GapC_Disconnect解析了延迟问题。

ke_msg_send_basic(llc_le_link_sup_to,ke_build_id(task_llc,gapc_get_conhdl(conn_idx)),task_none);

杰曼伯特
离线
最后一次露面:11个月1周前
加入:2014-10-24 14:17
对话,

对话,

我与您的工程经理之一和他的建议相符,发送以下消息而不是GapC_Disconnect解析了延迟问题。

ke_msg_send_basic(llc_le_link_sup_to,ke_build_id(task_llc,gapc_get_conhdl(conn_idx)),task_none);

PM_DIALOG.
离线
最后一次露面:4天12小时前
职员
加入:2018-02-08 11:03
嗨jameshiebert,

嗨jameshiebert,

很高兴你识上你的问题,谢谢你的迹象。

谢谢,PM_DIALOG.