⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
11个帖子/ 0新
最后一篇
杰曼伯特
离线
最后一次露面:5个月3周前
加入: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.
离线
最后一次露面:13小时5分钟前
职员
加入:2018-02-08 11:03
嗨jameshiebert,

嗨jameshiebert,

最可能的原因有这种行为is due to the connection interval. Which are you configurations for the connection interval? If the connection interval is too big and you are not using latency, I would suggest you to have smaller connection interval and increase the latency. Please check the attached screenshots. When the slave have nothing to send the connection interval is around at 2200ms (2000ms latency + 200ms conn interval). But when the slave have something to send, in your case the disconnection message, the device will wake up and the connection interval will be around t 200ms.

谢谢,PM_DIALOG.

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

你好对话框,

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

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

杰曼伯特
离线
最后一次露面:5个月3周前
加入:2014-10-24 14:17
Is it possible that the delay

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

PM_DIALOG.
离线
最后一次露面:13小时5分钟前
职员
加入:2018-02-08 11:03
嗨jameshiebert,

嗨jameshiebert,

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

谢谢,PM_DIALOG.

杰曼伯特
离线
最后一次露面:5个月3周前
加入: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.
离线
最后一次露面:13小时5分钟前
职员
加入:2018-02-08 11:03
嗨jameshiebert,

嗨jameshiebert,

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

谢谢,PM_DIALOG.

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

PM_DIALOG,

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

杰曼伯特
离线
最后一次露面:5个月3周前
加入: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);

杰曼伯特
离线
最后一次露面:5个月3周前
加入: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.
离线
最后一次露面:13小时5分钟前
职员
加入:2018-02-08 11:03
嗨jameshiebert,

嗨jameshiebert,

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

谢谢,PM_DIALOG.