你好,对话框,
我们希望将发布间隔随机设置在一定范围内。
这可能是从2秒到3秒的间隔,其中广告之间的实际时间将在2到3秒之间随机。
对于测试,我们已经像这样设置了最小和最大间隔(注意这只有0.4到0.6秒)
///最小广告间隔
.intv_min = MS_TO_BLESLOTS (400),
///最大发布间隔
.intv_max = MS_TO_BLESLOTS (600),
我们观察到,这个间隔在600ms时几乎是恒定的。
现在有两个问题
1) da14585何时使用intv_min?我们只在广告扫描器中观察到了intv_max。
2)如何实现更随机的广告间隔的目标?
我成功获得随机广告间隔的唯一方法是在某个时间点重新启动广告,在这个时间点上,我将超时值random设置在选定的范围内。
我希望有一些配置rivierwaves堆栈的方法来为我做到这一点。
最好的问候,
Ciano霜
关键词:
设备:
嗨ciano,
ROM代码将使用intv_max,这就是为什么您只观察到最大的广告间隔。让我来解释一下intv_min的作用。假设您与一个对等设备连接,而DA14585仍在发布广告,并且您在与发布广告相同的槽位上获得了连接。调度程序将在您定义的范围内移动和修改连接间隔,并且最大发布间隔将不同。我的意思是调度程序将决定哪个是最好的广告间隔a=,它与BLE活动有关。默认情况下,调度程序将使用intv_max。如果你想要有随机的广告间隔,一个可能的解决方案将是由真数生成器生成值或移动一个值,停止,然后重新启动广告。通过意识到该值应该符合BLE规范。
谢谢,PM_Dialog