你好,
我想基于示例'empty_peripheral_template'开始我们的应用程序。
但是,在使用示例'da14580_beacon_3.40.6'进行功耗比较后,我发现'extent_peripheral_template'中有额外的2.x ma。
(注意:我设置了允许extent_peripheral_template运行到ext_sleep模式的相应配置)
那么,有人可以评论优化这个例子'extent_peripheral_template'的功耗,从而与'da14580_beacon_3.40.6'为相同的级别
测量是在EVB'DA14580DEVKT-B'完成的。
使用SDK 5.x的示例“empty_peripheral_template”,空闲电流(无RF)约为2.x mA。
使用示例'da14580_beacon_3.40.6',空闲电流(no rf)约为0.x ma。
设备:
嗨Hardy.chen,
您可以尝试使用此帖子上提到的CodeSnippethttp://support.dialog-semicondiondiondum/these-seems-bug-da14580dialogbea ...。
谢谢mt_dialog.
嗨mt_dialog,
我不太了解你的评论。要注意,我从SDK 5.0.2上播放了示例'empty_peripheral_template'。
在SDK 5.0.2中检查源代码后,只有一行被发现更改位于函数'lld_adv_start_patch'的广告间隔'ble_advtim_set'。
您是否希望我在另一个帖子上建议添加*代码片段(试图在使用信标示例时解决非Conn广告问题)?
我应该在哪里添加它?
你好,
我发现示例'empty_peripheral_template'根本没有进入睡眠模式。这可能是闲置状态额外功耗的原因。
允许睡眠模式所需的配置/更改在哪里?
嗨Hardy.chen。
在SDK5中,您可以在user_config文件夹中更改user_config.h文件中的睡眠模式。只需将app_default_sleep_mode更改为任何相关的睡眠。我以为你的睡眠已经启用(来自你的第一篇文章)。就标信标优化而言,我告诉您在上一篇文章中发表评论的功能是设置两个ADV_XXX数据包之间的广告数据包间隔的函数,这是信标参考设计为额外的低功耗。
谢谢mt_dialog.
嗨mt_dialog,
是的,我在示例'extent_peripheral_template'上设置相应的睡眠模式。
但是,从信标引用中可以节省额外的省电(将广告分组间隔设置在两个ADV_XXX数据包之间)如此高达1〜2mA?
我的计划是使用“extent_peripheral_template”作为基础,并创建自己的IBeAcon应用程序。
所以,有2个必需品:
1.低功耗作为示例'da14580_beacon_3.40.6'。
2.使用包含扫描响应数据的ADV_IND和ADV_NON_CON的支持。
如果我理解正确,当我尝试修复1),在示例'empty_peripheral_template',那么它会违反2),其中以下代码应该评论。
你会详细阐述你的建议吗?
-
if(app_advertise_mode == gapm_adv_non_conn))
ble_advtim_set(500);
-
嗨Hardy.chen,
App_Template中的功耗显然是从未设置睡眠能力的事实中的高度。现在睡觉是开启的,你还有约1〜2 ma的差异吗?
不,你在模板和灯塔之间有这么多差异的事实不是广告数据包的间隔,我有点困惑了你以前的帖子adv_scan_ind.是,当您尝试修复1时,您将违反2当前时间编号。尝试扩展功能BLE_ADFTIM(500)中的时间,以便您的广告适合扫描数据的侦听期。您可以使用函数compulate_arch_adv_time()以便这样做并找到合适的时间。
谢谢mt_dialog.