嗨,我们有精确的硬件(PCB)作为邻近参考设计,我可以刻录接近智能标签固件并能够与其进行通信。我的设置很好。我使用SmartTags Android应用程序来测试它。我正在尝试修改固件并与应用程序连接。最初它有效,但在一段时间后它会睡觉,它永远不会在Android应用程序中显示。请让我们知道解决方案。即使是示例固件,也没有修改代码也会看到此行为。无论如何都可以重新配置或避免睡眠模式..etc。帮助需要,谢谢。
设备:
嗨,我们有精确的硬件(PCB)作为邻近参考设计,我可以刻录接近智能标签固件并能够与其进行通信。我的设置很好。我使用SmartTags Android应用程序来测试它。我正在尝试修改固件并与应用程序连接。最初它有效,但在一段时间后它会睡觉,它永远不会在Android应用程序中显示。请让我们知道解决方案。即使是示例固件,也没有修改代码也会看到此行为。无论如何都可以重新配置或避免睡眠模式..etc。帮助需要,谢谢。
嗨madhusf,
默认情况下距离演示将停止乱发广告tising and goes to deep sleep after a period of advertising untill a button is pressed. This is not an issue but a setup to save power.
您不必完全禁用睡眠,只需删除广告上的TIMOUT设置。
转到user_config.h.
set .adv_scenario = def_add_forever,
under user_default_hnd_conf
并看看它是否适用于您想要的
嗨qinjiny,谢谢你的回复。我检查了代码。
This setting was already there in the user_config.h per below. Please let me know if any other settings missing. Also, please let me know in which code this button functionality is taken care.
------------------------------------
.....
static const struct default_handlers_configuration user_default_hnd_conf = {
//配置默认处理程序使用的通告操作
//Possible values:
// - def_adv_forever
// - DEF_ADV_WITH_TIMEOUT
。adv_scenario = def_add_forever,
//Configure the advertise period in case of DEF_ADV_WITH_TIMEOUT.
//It is measured in timer units (10ms). Use MS_TO_TIMERUNITS macro to convert
//from milliseconds (ms) to timer units.
.Advertise_Period = MS_TO_TIMERUNITS(10000),
//配置默认处理程序的安全开始操作
//如果启用了安全性(cfg_app_security)
.security_request_scenario = def_sec_req_on_connect.
};
..
------------------------------
嗨madhusf,
The external wakeup mechanism is being set in theapp_advertise_complete()callback in user_proxr.c file. However, if the scenario is set to DEF_ADV_FOREVER, then the system should not reach this point. If this system still goes to sleep and never wakes up, then there is some other potential issue. Please try the following steps to isloate the issues in hardware/ software.
1. Try and run a clean out of box prox_reporter project on a Dev Kit with the Adv scenario set to FOREVER. If you don't see any issues, then run this same image on your Custom hardware and see if that works fine. If there are issues here, then the problem might be in the Custom hardware.
2. Also, program a Dev Kit with the image that you are using now that is causing this sleep issue. Using Power Profiler tool in SmartSnippets Toolbox, check the readings when it is in the permanent sleep stage. The reading can provide some insight into understading if the system is in complete sleep or if there is a crash.
3.您还可以从Keil MDK调试此程序,并查看它是否达到任何断点或看门狗重置等,这将确认崩溃。
Please let us know what are your observations in these test.,
此外,您在默认项目中取出的所有更改是什么。这可能会提供有关导致此问题可能的一些信息。
Best,
lc_dialog.
嗨lc_dialog,谢谢你的回复。我尝试过了下面的回复。
1. Try and run a clean out of box prox_reporter project on a Dev Kit with the Adv scenario set to FOREVER. If you don't see any issues, then run this same image on your Custom hardware and see if that works fine. If there are issues here, then the problem might be in the Custom hardware.
Ans: Yes, no issues found and its working. Actually, the app was locking in the background the bluetooth sessions/objects. so, had to restart or kill the app to scan again and connect.
2. Also, program a Dev Kit with the image that you are using now that is causing this sleep issue. Using Power Profiler tool in SmartSnippets Toolbox, check the readings when it is in the permanent sleep stage. The reading can provide some insight into understading if the system is in complete sleep or if there is a crash.
Ans: I am not sure how to use power profiler, but used it : always its showing the same current , no variations. Please suggest the settings.
3.您还可以从Keil MDK调试此程序,并查看它是否达到任何断点或看门狗重置等,这将确认崩溃。
ANS:没尝试过,我猜现在的睡眠问题是解决的。
问题:但是,我需要知道我们如何从没有任何GPIO触发的情况下唤醒睡眠或深睡眠?请建议。随着基于象限测量的电流电源绘制,显示了该接近项目的约600UA电流使用情况。请帮助我们降低功率和最佳值。
Thank you,
MadhuSF
Hi MadhuSF,
您是否跟踪了如何解决问题。请在此帖子上发布,以便其他用户也可以利用它。
关于你的问题。
You wakeup from Extended sleep by just configuring the Sleep mode to extended sleep. It will configure a timer internally and wakeup at intervals to execute any BLE events or any user defined events (that you need to add at specific callback points to process any data). If you are not doing any data processing in your application, then your sleep current should be much lesser than what you are experiencing now. I would suggest to review your design for any current leaks etc., to make sure that there is no extra current drawn by your external peripherals.
If you would like us to do a quick review of your design, send your schematics along with the datasheets for the inductor (L1) on SWITCH and the 16MHz crystal (Y1). If you would like to share this securely, I can send you a secure server link to upload your files.
Best,
lc_dialog.
亲爱的LC_Dialog,请发送安全链接,以便我将分享您的设计,要求和睡眠要求。谢谢你。
Hi MadhuSF,
Upload your files to the server using the following link. Note that you can only upload here.
https://diasemi.egnyte.com/ul/jrgzqaa9x6.
Best,
lc_dialog.
Hi MadhuSF,
从原理图中,我注意到您正在使用设计中的模块。模块设计指南可能与我们的设计指南不同。我们对客户设计的基本检查已经在模块上完成,并且根据模块供应商的建议,这些组件的其余部分应该被设计为系统,这是模块供应商可以帮助的。
I would recommend first looking into you software application to see if the device is really going into sleep or not. Because the current consumption you are seeing is close to the Active current and this can be mostly due to some issues in the software design or if the main loop is modified that keeps the processor active. Refer to our Documents on the support website on how to take advantage of our tools like SmartSnippets Toolbox etc., and you can check what is happening during the program execution.
Best,
lc_dialog.