如果连接到移动设备,DA14583不会转到深度睡眠模式

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
10个帖子/ 0新
最后一篇
Karanshah28
离线
最后一次露面:1年4个月前
加入:2018-07-14 11:10
如果连接到移动设备,DA14583不会转到深度睡眠模式

嗨对话框,

我们正在在DA14583开发申请。我们指的是dialog_all_in_one应用程序。

在这个适用性中,我们希望实现功能: -

如果任何自定义特征都没有写入到30秒,那么

一世。断开设备

II。转到睡眠模式。

请提供实现这一目标的步骤。

我们通过在连接时创建计时器来尝试了这一点,在每个写入特征和超时调用“app_easy_gap_disconnect”API上修改它。但问题是,设备再次启动广告。

在进一步的调试中,我们发现Disconnetion例程“user_app_disconnect”调用“user_app_adv_start”API。从“user_app_disconnect”中评论“user_app_adv_start”API,导致连续设备重新启动。

1.我们希望完全解释关于在断开断开时发生的情况(从远程设备或DA14583发起)

2.为什么在断开连接后有必要启动广告。

3.请在Dialog_All_in_one应用程序中提供修改,以实现上述功能。

问候,

Karan.

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

嗨Karanshah28,

当DA14580与对等设备连接时,触发USER_APP_CONNECTION()回调函数。因此,在连接时,可以设置计时器(app_easy_timer()),如果到期,则会触发调用呼叫函数,以便调用app_easy_gap_disconnect(),这是断开连接的适当值。当对等设备写入特征时,您将获得一个Custs1_Val_Write_ind消息,将在User_catch_rest_hndl中处理。因此,如果您编写特征的值,您将拥有Top取消计时器正在执行app_easy_timer_cancel()API。如果在30秒内没有写入特性,则在我之前提到的情况下,外围设备将使用app_easy_gap_disconnect()API发送Gapc_disconnect消息。断开连接后,将触发USER_APP_DISCONNECT(),您必须将芯片放入睡眠模式。当设备断开连接时,无需重新启动广告,这些是根据您的应用要求。

谢谢,PM_DIALOG.

Karanshah28
离线
最后一次露面:1年4个月前
加入:2018-07-14 11:10
嗨对话框,

嗨对话框,

您能否建议我们在Dialog_All_in_one应用程序中的代码更改,使得在断开连接之后,广告不会自动启动?

虽然我们在ALL_IN_ONE_APP中尝试时,它在断开连接后宣传,而在连接到移动设备时不会进入睡眠模式。

问候,卡兰

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

嗨Karanshah28,

正如我在我之前的帖子中提到的那样,当DA14580与对等设备断开连接时,将触发USER_APP_DISCONNECT()。如果检查上述函数的源代码,则会看到执行user_app_adv_start()。请休闲点澄清它并在调试模式下运行代码。如果断点不在user_app_adv_start()的调用中击中,请检查哪个值具有状态变量。此外,当设备通告时,它将在广告间隔之间进入深度睡眠模式。ARCH_SET_DEEP_SLEEP()在USER_APP_ADV_START()中调用。通常,芯片在广告或连接间隔之间进入睡眠模式。您能否澄清这个问题“它在断开连接后宣传并在连接到移动设备时不进入睡眠模式”?

谢谢,PM_DIALOG.

Karanshah28
离线
最后一次露面:1年4个月前
加入:2018-07-14 11:10
亲爱的支持团队,

亲爱的支持团队,

您是正确的,我们还检查了触发设备user_app_disconnect()的断开,并启动广告。
这是根据代码的,这是工作。
当广告定时器到期时,它进入睡眠模式。这是按代码工作。

我们想要实现的是,
当设备断开与移动设备的连接时,它不应该启动广告并立即进入睡眠模式。
所以我们评论了代码user_app_adv_start()来自user_app_disoonnect(),但是使用该更改系统从某些情况下崩溃。

所以,你能否建议user_app_disconnect()函数的适当更改,以便广告不会启动,并且在断开连接后立即进入deep_sleep模式?

提前致谢,
问候,
Karan.

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

嗨Karanshah28,

为了将设备放入深度休眠模式,在user_app_disconnect()中,您应该替换aser_app_add_start()与Arch_set_extended_sleep()。如果您想用按钮醒来,您也应该启用按钮。如果您发现任何答案有用,请将其标记为“已接受”。

谢谢,PM_DIALOG.

Karanshah28
离线
最后一次露面:1年4个月前
加入:2018-07-14 11:10
嗨对话小组,

嗨对话小组,

我们尝试了用user_app_disconnect()中的Arch_set_extendend_sleep()替换user_app_adv_start()所要求的更改。此外,我们也使唤醒按下按钮。我们的系统开始崩溃。

我们在BLE_ALL_I_ONE_APP中尝试了同样的尝试,似乎它进入睡眠模式,但在按钮按下它没有。FYI,我们在BLE_ALL_IN_ONE_APP中添加了按钮按逻辑睡眠后醒来。

您能否在BLE_ALL_IN_ONE_APP中向我们提供样本,以使其在按钮上工作,或者建议我们可能缺少的内容?

欣赏帮助。

谢谢,Karan.

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

嗨Karanshah28,

请您在调试模式下运行代码,并澄清它崩溃的地方?是由于WDOG到期或NMI,或者你得到任何断言?BLE_APP_ALL_IN没有任何修改的SDK的一个示例是它正常工作?

谢谢,PM_DIALOG.

Karanshah28
离线
最后一次露面:1年4个月前
加入:2018-07-14 11:10
嗨对话小组,

嗨对话小组,

我们现在无法调试代码,因为我们已达到Keil i.e 32kb中的代码评估限制。

但是,没有任何修改的SDK的BLE_APP_ALL_IN_ONE示例将电路板带到睡眠模式。但它不会再次宣传按钮。

我们想在下一个按钮按下宣传。因此,我们将修改了代码,因为我在前一个线程中解释。但它什么都不做。

谢谢你,卡兰

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

嗨Karanshah28,

  • 我们现在无法调试代码,因为我们已达到Keil i.e 32kb中的代码评估限制。

如果您想在Keil的代码超过32KB,您应该购买Keil IDE的完整版本

  • 但是,没有任何修改的SDK的BLE_APP_ALL_IN_ONE示例将电路板带到睡眠模式。

由于您没有完整版的Keil,您是如何构建项目的?使用Keil的有限版本,您是否能够正确地构建“全部”项目?

  • 但它不会再次宣传按钮。

您如何知道设备进入睡眠模式?功耗多少钱?该设备启动广告,当Stoops广告进入睡眠模式时?您能否检查是否已烧掉SPI闪光灯,因此设备靴子在那里形成ang进入睡眠模式?

  • 我们想在下一个按钮按下宣传。因此,我们将修改了代码,因为我在前一个线程中解释。但它什么都不做。

BLE_APP_SLEEPMODE实现此功能,因此您应该按照我在此示例中证明您的步骤进行操作。

谢谢,PM_DIALOG.