亲爱的对话团队,
谢谢您的支持。
We have custom board made from 14683. Application is based on ble_peripheral project. While one task reads the data from sensors, other task sends data to the mobile app, once connected.
We have 2 sensors, RTC, flash, 3 LEDs, vibrator connected to the board.
我们的应用程序将在系统init期间处于活动模式。我们想将板带到Hibernate模式,按下按钮5秒钟。我们观察到该董事会在某种程度下进入Hibernate模式,但并非总是如此。
我们还观察到始终调用按钮中断,柜台被告知按钮按5秒钟,但是一些过程从电路板上阻止到休眠模式。
你能帮助我们解决这个问题吗?
此致
Malli
设备:
嗨powersquare,
谢谢你的问题。我正在研究你的问题,我会尽快回复你。
你能告诉我你的问题是否与这个问题有关吗?
https://support.dialog-seminile.com/forums/post/dialog-smartbond-bluetooth-low-energy-%2%80%93-software/button-press-5-sec-wakeup-sleep-mode.
谢谢,PM_DIALOG.
是的。
嗨powersquare,
对不起,但我在这张票和附加的票之间很困惑。在附加的票证中,您已提到您无法在唤醒时获得回调函数。根据这次票证,您的问题是您无法将设备放在休眠模式中。要将设备放在休眠模式下,您应该使用PM_SET_SLEEP_MODE(PM_MODE_HIBERNATION)。请注意,休眠模式是用于将最终产品运送到市场的特殊模式,而无需排出电池。这是用于运输和存储最终产品的内容,我不建议您为开发或调试范围建议休眠。如果您有活动或任何其他待定中断,系统将无法进入休眠状态。那么,你能告诉我你跟随你追随的程序吗?你是否停止了BLE活动,传感器阅读等?
谢谢,PM_DIALOG.
亲爱的对话团队,
谢谢您的支持。
我们正试图找出代码的哪一部分,这导致了这个问题。
我们将所有代码放入注释(#if 0)中,并开始使用PCB测试按钮问题。
Please find the attached main.c.pdf file for your reference.
在此文件中,我们将代码输入注释(行号569至584,605至649,行号588,595)。我们还向评论提供了划线586,590,591和593)。
通过这种裸露的最小代码,我们观察到的按钮在PCB中工作正常。
然后我们开始逐一删除评论。删除了行号586,590,591和593中的注释,下面是代码:
-------------------------------------------------------------------------------------
ad_nvms_init();
// nvms_var = ad_nvms_open(nvms_generic_part);
nvms_binvar = ad_nvms_open(nvms_bin_part);
OS_ASSERT(nvms_Binvar);
printf("flash bin part success\r\n");
----------------------------------------------------------------------------------------
With this code, button doesn't work properly. In the above lines, we initialized the flash and opened the bin partition. Its printing message "flash bin part success".
我们没有ad_nvms_close之类的api () api来close partition, before putting the PCB into hibernation mode.
请注意,PCB配有电池。
你能帮助我们解决这个问题吗?如果上面的代码适用于按钮,那么我们将开始在我们的代码中删除评论以进一步测试。
请告诉我们任何澄清。
此致
Malli
嗨powersquare,
请您附上main.c文件吗?我无法在附件中看到它。
谢谢,PM_DIALOG.
亲爱的对话团队,
您可以分享您的电子邮件,我会将源代码发送给您。
此致
Malli
嗨powersquare,
你可以在这里上传一些代码片段吗?如果您将系统放入休眠状态时,请确认您是否可以确保停止BLE活动并与传感器进行交互?在进入Hibernate之前,您需要完全停止BLE活动。您有定制董事会,或者您正在使用我们的任何DKS?
谢谢,PM_DIALOG.
亲爱的对话团队,
we use custom board made from 14683.
您是否有任何代码片段或示例项目来停止BLE活动。目前我们使用BLE停止广告API来停止广告。我们是否需要在BLE中停止任何其他东西。
我们使用PM将睡眠模式设置为Hibernation API以将系统放到休眠模式。
您可以帮助我们,如何找到哪个进程阻止系统转到Hibernate模式。
此致
Malli
嗨米莉,
我们将为您提供支持您的私人支持渠道。
谢谢,PM_DIALOG.