你好大团队,
我修改了睡眠模式示例代码“ble_app_sleepmod”,如下所示,通过切换按钮(SW3)。
1)默认情况下Sleep应该是关闭的(BLE设备应该处于广告模式)
2)按SW3(Pro EVKT上的按钮)使能睡眠模式
3)通过SW3使用唤醒定时器唤醒BLE核心(唤醒后BLE设备应处于广告模式)。
这是第一次,这些步骤工作得很好。
当前行为:我试图连续按SW3(下一个第二步和每一步),但在第二步之后,在按SW3之前调用WKUP_QUADEC_处理程序。
预期行为:只在按下SW3键后才能入睡或醒来。
请尽快找到代码并给出重新分级的建议。
注:带SDK5.0.4的Pro DA14580 EVKT-P_VB
设备:
嗨GAK,
你能解释一下" next 2 "是什么意思吗钕每一个“?如果我能从您提到的内容中正确理解,您的设备将默认为开始广告(步骤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()将被触发<<<<<我只是遵循了在SDK 5.0.4的示例“ble_app_sleepmode”项目中DA给出的任何内容。
我不知道这是否是你的整个项目,我想控制DA14580进入睡眠状态并在中断时醒来。
WKUP和GPIO中断都应该是低电平的,对吗?<<<<<<<<我正在使用SW3生成中断。所以,它是正确的(按SW3)
请尽快提供您的支持。
谢谢
嗨GAK,
我创建了一个简短的dame代码,演示如何使用SW3停止广告,然后醒来。我只使用唤醒控制器,不使用IRQ,因为如果使用任何睡眠模式,IRQ都不会被检测到。请参阅随附的唤醒控制器配置。wkup_标志应存储在保留RAM中,以便在进入睡眠状态时保留该值。除了唤醒控制器的配置之外,您应该在SDK的ble_app_睡眠模式示例中进行以下修改:
所有其他选项都应与SDK的默认ble_app_睡眠模式示例相同。
谢谢,PM_Dialog
嗨,团队,
谢谢你的演示代码。
但我们真正的期望是,我们应该使用GPIO IRQ进入DA14580睡眠。
那么你能举个例子说明GPIO在BLE中扮演IRQ的角色吗
嗨GAK,
如果在发布间隔之间使用扩展睡眠模式,则只能通过唤醒控制器检测中断。是否有任何特定的原因要使用IRQ而不是唤醒控制器?
谢谢,PM_Dialog
嗨,团队,
我尝试使用IRQ将DA14580放到SLEEP。
而不是为了醒来。
预期的流程:
1)默认情况下Sleep应该是关闭的(BLE设备应该处于广告模式)
2)使用IRQ,通过按SW3(Pro EVKT上的按钮)===========>开启睡眠模式
3) 通过SW3使用唤醒定时器唤醒BLE核心(唤醒后,BLE设备应处于广告模式)===========>使用唤醒控制器
谢谢,
嗨GAK,
很抱歉耽搁了。对于第二步使用IRQ有什么特别的原因吗?设备在连接间隔之间进入睡眠模式,因此您可能会错过中断。为什么不像我建议的那样用唤醒控制器来实现呢?
谢谢,PM_Dialog
嗨,团队,
谢谢你的帮助重播。
我们正在使用DA14580“ble_应用程序_外围设备“我们产品中的项目(用于医疗领域的传感器相关产品)
所以我们正在计划合并睡眠模式“ble_应用程序_睡眠模式”“当前项目工作"ble_应用程序_外围设备”项目。
正因为如此,我们不应该改变吗e任何电流工作流程“ble_app_peripheral”项目和我们的产品规格也。
我们的平台/产品已经有一个引脚连接DA14580通过DA14580的SPI(仅用于FW闪烁)、UART(仅用于数据传输的RX和TX)和GPIO(P0_1)引脚。
这是一个片上系统产品所以我们不能改变我们产品的任何原理。
和我们的期望值是减少该系统权力我们的产品。为此,我们计划DA14580睡眠虽然断开连接的DA14580按用户(中央数据库).
请尽快为您提供支持。
注意:我们在我们的旁边实现了这个我们仍然在挣扎和不有着电流(I)减少I好男人(不是毫安).但是在睡眠模式项目中,我们可以看到当前的减少(nAmps)。
请问有可能吗在“ble_app_外围设备”项目中共享任何睡眠模式演示?
如果是的,它非常有帮助对我们来说现在.
谢谢,
嗨GAK,
关于你的最后一个问题,你能不能给我更多的解释?在ble-app_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到“延长睡眠时间”模式。
在ble-app_外围设备示例中,睡眠模式是什么意思?>>>它的意思是,实施DA14580睡眠特性”ble-app_外围设备l“举例说明。
您应该在user_config.h头文件中更改app_default_sleep_mode配置。> > >这不用于我们的亚博电竞菠菜. 通过默认的,哒睡眠应该是关.
DA14580DA14580与用户应用程序断开连接时应处于睡眠状态。这是我们的要求&我们使用了“延长睡眠”模式。
嗨GAK,
当您断开DA14580与对等设备的连接时,将触发用户_app_disconnect()。因此,您必须在此功能内将DA14580配置为扩展睡眠模式。
谢谢,PM_Dialog