This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Unknown blank time in connection event in combination with connecting.

Hello DevZone.

For my project I am using up to 6 connected peripherals to my central and I was watching the behavior of the link when one of the 6 devices disconnected and reconnected and I stumbled upon something I cannot explain. 

I am using sdk 7.0.2 and I am using the sd_ble_gap_conn_evt_trigger_start function to trigger a EGU3 task per connection handle. In this task I set and clear a GPIO pin to visualize this on my logic analyzer.

Connection event is every 15ms and the GAP length is set to 2. 

A color legend from my image:

White is the central triggering every time a peripheral is asserted. 

Brown to blue are connected peripherals.

I disconnect one peripheral and after my set time of 500ms timeout I can see that the central has detected that the peripheral is missing. (red markers)

After x amount of time the central stops completely with generating connection events for a random amount of time. In my case here its 200ms (blue markers) before it starts again and this time with all 6 devices.

Can someone guestimate or explain what causes this drop in connection events?

  • I shall dive into this and try to mess around with the scan settings, I'll get back in a bit.

    Edit:

    Thanks this was indeed the case, I had my scan interval and window set both to a size of 2,5ms.

    I have increased the interval to 10 times what I had and the scan window to 3 times what I had and it fixed the problem.

    I was hoping I could modify the scanner so it would only scan in the period the other device was disconnected but I guess this is not working as how I wanted it to work. I'll verify the answer in a minute, I'll wait for your reply, maybe you have a trick on how to implement my wish if that is possible in the first place.

Related