跳到主要内容

EXT-SLEEP-自定义个人资料广告

DA14580

5年前

邮寄人普拉桑特,维利…0分 5份答复
0票

我正在使用第7.3.6节“项目”之后的自定义配置文件-sample128_。我想实现ext-sleep,所以自定义配置文件将播发1s并转到ext-sleep 5s再播发1s,然后再播发ext-sleep 10s,如何实现?

-我刚刚在da14580_config.h中定义了ext sleep模式,我需要对ext sleep模式进行哪些更改?

5年前

MT_对话框 -30分

你好,普拉桑特·维利扬吉里,

该配置文件不必与您的设备睡眠或不睡眠有任何关系,只要定义CFG\u EXT\u SLEEP,您的设备就应该在广告或连接间隔之间进入睡眠模式(如果您在程序中的任何位置调用app\u disable\u SLEEP(),您就不会看到设备睡眠检查)。关于您想要实现的功能,由于您想要长时间睡眠,您可以使用内核计时器,您可以尝试使用如下流:

1) 启动广告并设置内核计时器,app_timer_set(MSG,TASK_app,100)//100*10->1s

2) 当计时器的处理程序点击时,停止广告并启动另一个计时器,该计时器将计数5s/10s等。

3) 当计时器过期时,BLE将唤醒,计时器处理程序将执行

4) 转到1

谢谢你的对话

5年前

普拉桑特,维利… 0分

我有点不知道该把这个计时器放在哪里,让ble进入睡眠和醒来,从UM-B-006我知道在arch_main.c所有与睡眠相关的任务都在发生,如果你能建议我应该把这个睡眠和醒来放在哪里就好了?是否有任何示例代码可以帮助我很多…谢谢。。

5年前

MT_对话框 -30分

你好,普拉桑特·维利扬吉里,

580中的所有任务都通过消息进行通信,这些消息触发回调函数。在您的情况下,由于您喜欢在通电时播发并计数1秒,您可以在app_adv_start()函数中,在播发开始后立即启动1s计时器。在计时器处理程序中(当时间流逝时触发),放置app_adv_stop()函数。调用app_adv_stop()后,应该会有一条由gapm_cmp_evt_handler()使用gapm_adv_UNDIRECT操作处理的无向播发完成消息,在这里,您可以设置580下次唤醒和播发时的计时器。您可以查看智能标记参考设计,以便了解一些想法。此外,我们强烈建议在新项目中使用SDK5,因为它比SDK3更紧凑、更易于使用,有了新的计时器api、计时器的处理和completetion消息的回调,如何实现这种功能就更简单了。

谢谢你的对话

5年前

对话

嗨,Prasanth,除了MT_Dialog之外,我还想评论一下:SDk5更容易使用,也更简单。我们有一个“如何”教程的列表,其中描述了您的问题。。。您可以在“软件和工具”下找到它们。。。BR JE_对话

5年前

普拉桑特,维利… 0分

非常感谢。对话