你好,
我正在做一个项目,它将一些传感器和状态信息作为广告包中的制造商数据的一部分进行广告。
我理解使用计时器来改变数据的例子…所以它是相对容易的改变数据在特定的间隔,但我想包括一个“时间自上次阅读”字段,所以需要我能够改变每个广告包的数据。
这有可能吗?我知道我可以设置一个计时器,只是略少于广告间隔,但这将意味着醒来两次和电力消耗绝对是关键。显然,它需要唤醒才能发送数据包,所以为什么不使用相同的唤醒事件来调整数据呢?
是否有一个回调或其他东西,我可以使用来实现这一点?
非常感谢,
李。
设备:
回答我的问题,还有一个问题....
我发现(到目前为止)最简单的方法是使用user_app_resume_from_sleep()回调…这并不完美,因为(a)你可能是为了其他事情而醒来,而不是为了广告,(b)想必有些情况下你可能没有睡觉,因此不会醒来。但根据我目前的测试,它似乎还可以。不过,如果有特定于单个广告包的东西就好了!
但是…在这个resume_from_sleep()回调中,我使用app_easy_gap_update_adv_data(),它最终发送一个消息…我假设它是排队的。
所以我的问题是…在唤醒时,是否在发送广告包之前对消息进行处理?或者更新将被延迟到下一个数据包?我*认为*通过查看代码,它取决于rwip_schedule()如何处理事情,没有源代码可以查看。
谢谢,
李。
你好,
很抱歉耽搁了。你能解释一下“上次阅读的时间”吗?
您可以设置一个app_easy_timer,并在其到期时更新特定于制造商的数据。
谢谢,PM_Dialog