你好大团队,
当我修改睡眠模式示例代码“ble_app_sleepmod”如下所示,通过使用切换按钮(SW3)。
1)默认睡眠应该是关闭的,(BLE设备应该在广告模式)
2)通过按SW3(Pro EVKT上的按钮)开启睡眠模式
3)通过SW3使用唤醒定时器唤醒BLE核心(唤醒后BLE设备应处于广告模式)。
第一次,这些步骤工作得很好。
当前行为:我试图连续按下SW3(下一个和每一个),但在第二步之后,WKUP_QUADEC_Handler在按下SW3之前被调用。
预期行为:只有在按下SW3后,BLE核心才会休眠或醒来。
请尽快找到代码并给出您的重新评级建议。
注意:Pro DA14580 EVKT-P_VB与SDK5.0.4
设备:
嗨GAK,
你能解释一下“下两个”是什么意思吗nd和每一个”?如果我能从你提到的理解正确,你的设备是默认开始广告(步骤1),如果按下按钮,停止广告并进入睡眠模式(步骤2)。步骤1和步骤2都是完整的功能,是这样的吗?但如果连续按下步骤2中的按钮,设备进入睡眠模式,而WKUP控制器被触发?能否提供步骤2和步骤3的配置给我有什么东西在触发唤醒控制器,DA1580就醒了。
谢谢,PM_Dialog
嗨,团队,
你的设备默认开始广告(步骤1),如果按下按钮,停止广告并进入睡眠模式(步骤2)。步骤1和步骤2都是完全功能,是这样的吗?但如果连续按下步骤2中的按钮,设备进入睡眠模式,而WKUP控制器被触发?>>>>>
是的,没错。
请查收附件配置。
请尽快提供您的支持。
嗨GAK,
中断出现了问题,当唤醒GPIO中断时也会触发,因此应用程序代码返回到第2步。我先问你件事。在user_app_adv_start()中,为什么仍然使用app_easy_timer()计时器?当计时器到期时,将触发adv_data_update_timer_cb()。我不知道如果这是你的整个项目,但在ble_app_sleemode的sdk的例子,当adv_data_update_timer_cb()广告将停止。我试图测试你的代码,并为你创建一个简短的演示。我会尽快和你联系。WKUP和GPIO中断都应该是低活动的,对吗?
谢谢,PM_Dialog
嗨,团队,
请找到以下内联回放,
为什么仍然使用app_easy_timer()计时器?在定时器过期时,adv_data_update_timer_cb()将被触发<<<<<我只是按照DA给出的任何东西在示例“ble_app_sleepmode”项目SDK 5.0.4。
我不知道如果这是你的整个项目<<<<<<<<<<<<<<我想控制DA14580进入睡眠和唤醒中断。
WKUP和GPIO中断都应该是低活动的,对吗?<<<<<<<<我正在使用SW3生成一个中断。所以,它是正确的(按下SW3)
请尽快提供您的支持
谢谢
嗨GAK,
我创建了一个简短的dame代码,演示了如何使用SW3来停止广告,然后唤醒。我只使用唤醒控制器而不是IRQ,因为如果你使用任何睡眠模式,IRQ将不会被检测到。请查看附件中的唤醒控制器配置。wkup_flag应该存储在保留RAM中,以便在休眠时保留该值。除了唤醒控制器的配置之外,你应该在SDK的ble_app_sleepmode示例中做以下修改:
所有其他的应该是在默认的ble_app_sleepmode SDK的例子。
谢谢,PM_Dialog
嗨,团队,
感谢演示代码。
但是我们真正的期望是我们应该使用GPIO IRQ进入DA14580睡眠。
你能举个例子说明GPIO在BLE中作为IRQ吗
嗨GAK,
如果你在广告间隔之间使用延长睡眠模式,你只能通过唤醒控制器检测中断。有什么特殊的原因你想使用IRQ而不是唤醒控制器?
谢谢,PM_Dialog
嗨,团队,
我试图使用一个IRQ把DA14580睡眠。
而不是为了醒来。
预期的流程:
1)默认睡眠应该是关闭的,(BLE设备应该在广告模式)
2)使用IRQ按下SW3(Pro EVKT上的按钮)===========>使能睡眠模式
3)通过SW3使用唤醒定时器唤醒BLE核心(唤醒后BLE Device应处于广告模式)===========>通过唤醒控制器唤醒BLE核心
谢谢,
嗨GAK,
很抱歉耽搁了。你在步骤2中使用IRQ有什么特殊的原因吗?设备在连接间隔之间进入睡眠模式,因此您可能错过中断。你为什么不按照我的建议用唤醒控制器来实现它呢?
谢谢,PM_Dialog
嗨,团队,
谢谢你的重播。
我们使用的是DA14580”ble_app_peripheral“我们产品的项目(传感器相关产品应用于医疗保健领域)
所以我们打算这么做合并睡眠模式“ble_app_sleepmode”“当前项目工作"ble_app_peripheral”项目。
因为这个,我们不应该常e当前任何工作流程“ble_app_peripheral”项目和我们的产品规格也。
我们的平台/产品已经一个引脚连接DA14580通过DA14580的SPI(仅用于FW闪烁)、UART(仅用于数据传输的RX和TX)、GPIO (P0_1)引脚。
这是一个芯片上的系统产品所以我们不能改变产品的任何图形。
和我们的期望是减少该系统权力为此,我们正计划在中国市场上销售我们的产品DA14580睡眠而断开连接的DA14580由用户(中央).
请尽快提供您的支持。
注意:我们是在我们的。但是我们仍然在挣扎和不有着电流(I)减少n好马纳(不是nanoAmps).但在睡眠模式项目是我们可以看到当前减少(nAmps)。
劳驾,可以吗在“ble_app_peripheral”项目中分享任何睡眠模式的演示?
如果是的,它非常帮对我们来说现在.
谢谢,
嗨GAK,
关于你的最后一个问题,能否请你再给我解释一下?在bleapp_peripheral的例子中,睡眠模式是什么意思?如果你想进入睡眠模式之间的广告或连接的间隔,你可以使用arch_set_deep_sleep()在深度睡眠的情况下或arch_set_extended_sleep扩展睡在user_app_adv_start(),因为它是实现ble_app_sleepmode SDK的例子。同样,您应该在user_config.h头文件中更改app_default_sleep_mode配置。
谢谢,PM_Dialog
嗨,团队,
我们的最终目标是减少了传感器产品当前的(我)。
在我们整个产品中,DA14580有1mAmps电流。所以我们想优化的当前的的我们的产品通过进入DA14580到“延长睡眠时间”模式。
在bleapp_peripheral的例子中,睡眠模式是什么意思?> > > >的意思是,实现一个DA14580睡眠特性”ble-app_peripheral”的例子。
您应该在user_config.h头文件中更改app_default_sleep_mode配置。> > >这不使用我们的雷电竞官网登录.通过默认的,哒睡眠应该是从.
DA14580当DA14580断开与用户应用的连接时,应该处于睡眠状态。这是我们的要求,我们已经使用了“延长睡眠”模式。
嗨GAK,
当DA14580与对端设备断开连接时,会触发user_app_disconnect()。因此,您必须在此功能中将DA14580配置为扩展睡眠模式。
谢谢,PM_Dialog