Ble Scan interval and window setup for best results?

Hi!

It's not very clear in the documentation the best case setup of these variables. My reading of a support ticket from 8 years ago suggests a setup of window == interval will guarantee 100% uptime on rx with 100-300us downtime every interval time to switch to a new channel.

With this in mind, is it better to have a longer time so you are listening on every channel for longer and therefore not incurring the 100us delay as often? Or is it more optimal to have a shorter duration so you are scanning the channels more frequently?

The use-case is receiving sensor beacons which may be on any 3 of the standard advertising channels. The only other operation the device is doing on the radio is periodically sending out its own commission beacon. I am experiencing a relatively high failure rate on the enocean PTM 215B with a duration of 100ms. Using wireshark with the BLE sniffer I can confirm that the switch is sending events but the device may only receive the press or release and not the other.

I am using a nrf52840 with the S140 and the nrf5 SDK.

Thanks in advance.

  • Hi Grant

    Approximately how large is the scan window and interval in your test, and what is the advertising interval for the commission beacon?

    The drawback of a small scan interval is more overhead as you say, but the problem of a long interval is that if there is a conflict between scanning and something else you might get a longer period without any scanning activity. 

    Have you read through the scheduling chapter of the SoftDevice specification, in particular the section named Suggested intervals and windows

    Best regards
    Torbjørn

Related