如何优化示例“ empty_peripheral_template”的功耗

7帖子 / 0新
最后一篇文章
Hardy.Chen
离线
最后一次露面:2年10个月前
加入:2015-03-13 04:20
如何优化示例“ empty_peripheral_template”的功耗

你好,

我想基于示例“ empty_peripheral_template”启动我们的应用程序。
但是,在将功耗与示例“ DA14580_BEACON_3.40.6”进行比较之后,我发现在'empty_peripheral_template'中有额外的2.x mA。
(注意:我设置了允许empty_peripheral_template运行到ext_sleep模式的相应配置)

因此,是否有人可以在哪里发表评论以优化此示例的“ empty_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',空闲电流(无RF)约为0.x mA。

设备:
mt_dialog
离线
最后一次露面:1年2个月前
职员
加入:2015-06-08 11:34
嗨,hardy.chen,

嗨,hardy.chen,

您可以尝试使用我在这篇文章中提到的codesnippethttp://support.dialog-spoomendonductor.com/these-seems-bug-da14580dialogbea ...

谢谢mt_dialog

Hardy.Chen
离线
最后一次露面:2年10个月前
加入:2015-03-13 04:20
嗨mt_dialog,

嗨mt_dialog,

我不太了解你的评论。要注意的是,我正在示例从SDK 5.0.2中使用示例“ empty_peripheral_template”。
在SDK 5.0.2中检查源代码后,仅找到一行用于更改广告间隔的“ BLE_ADVTIM_SET”,该行中位于函数'lld_adv_start_patch'中。

您是否希望我 *添加 *代码片段,如您在另一个帖子上的建议(在使用Beacon示例时试图解决非核心广告的问题)?
我应该在哪里添加?

Hardy.Chen
离线
最后一次露面:2年10个月前
加入:2015-03-13 04:20
你好,

你好,

我发现一个示例“ empty_peripheral_template”根本没有输入睡眠模式。这可能是在闲置状态下增加额外功耗的原因。
允许睡眠模式所需的配置/更改在哪里?

mt_dialog
离线
最后一次露面:1年2个月前
职员
加入:2015-06-08 11:34
嗨,哈迪。

嗨,哈迪。

在SDK5中,您可以在user_config文件夹中的user_config.h文件中更改睡眠模式。只需将app_default_sleep_mode更改为任何coresporting睡眠即可。我以为您的睡眠是启用的(从您的第一篇文章开始)。就信标优化而言,我告诉您在上一篇文章中发表评论的功能是设置两个Adv_xxx数据包之间的广告数据包间隔,这是信标参考设计对额外低功率的功能。

谢谢mt_dialog

Hardy.Chen
离线
最后一次露面:2年10个月前
加入:2015-03-13 04:20
嗨mt_dialog,

嗨mt_dialog,

是的,我已经在示例“ empty_peripheral_template”上设置了相应的睡眠模式。
但是,从信标参考中节省了这种额外的电力(设置两个ADV_XXX数据包之间的广告数据包间隔)高达1〜2ma吗?

我的计划是将“ empty_peripheral_template”用作基础,并创建自己的IBEACON应用程序。
因此,有2个必需品:
1.低功耗为样本'da14580_beacon_3.40.6'。
2.包含扫描响应数据,支持adv_ind和adv_non_conn。

如果我正确理解时,当我尝试修复1)示例“ empty_peripheral_template”时,则它将违反2)应评论以下代码。
您会详细说明您的建议吗?
- -
if(app_advertise_mode == gapm_adv_non_conn)
ble_advtim_set(500);
- -

mt_dialog
离线
最后一次露面:1年2个月前
职员
加入:2015-06-08 11:34
嗨,hardy.chen,

嗨,hardy.chen,

由于您没有设置睡眠能力,因此App_Template中的功耗很高。现在睡眠已经开始,您的区别约为1〜2 mA吗?

不,您在模板和信标之间有太大区别的事实不是广告包的间隔,我对您以前的有关该帖子有些困惑adv_scan_ind是的,当您尝试修复1时,您会用当前时间编号违反2。尝试扩大功能ble_advtim(500)的时间,以便您的广告以适合扫描数据的聆听期。您可以使用函数计算_ARCH_ADV_TIME(),以便找到合适的时间。

谢谢mt_dialog