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

Connection event position in time

Dear Nordicers,

I have an application where node based on s132 sofddevice 4.0.2 has multiple connections as a peripheral and as a central. The case is about non overlapping central and peripheral connection events. I can make all my central connection events non overlapping according to initiator timing and connection timing as a central.

How about peripheral connection events? Does softdevice take into account existing peripheral connections when placing new central connection events? Can I force peripheral connection event (managed obviously by remote central) to be located in time not used by my local central links? Can central move connection event anchor point (for example by Connection Update Procedure)? Do I have any control over transmitWindowOffset/transmitWindowSize (Bluetooth Specification 4.2 Vol 6, part B, chapter 4.5.4). Can I get timing information about existing connections from softdevice? Do softdevice perform automatically any procedure to ensure peripheral and central connection events on the same node do not overlap?

Parents
  • I understand your fear but if you think it through there is no other solution to the problem: you have several asynchronous activities and only one radio, they will "meet" sooner or later and the only way how to deal with it is to make priorities and temporarily suppress some events. Luckily BLE thinks about such situations by design so it is not affecting reliability of the connection link, just throughput (logically;) You can try to minimize these overlaps by synchronizing the connection events but that won't really work because connection always starts with advertising packet and these are completely asynchronous (= random). There is small some limited space by choosing the same connection interval for all links (if you are GAP Central) and letting Soft Device to move first connection event of each connection to available "gap", then these should stay in sync. But overall...

Reply
  • I understand your fear but if you think it through there is no other solution to the problem: you have several asynchronous activities and only one radio, they will "meet" sooner or later and the only way how to deal with it is to make priorities and temporarily suppress some events. Luckily BLE thinks about such situations by design so it is not affecting reliability of the connection link, just throughput (logically;) You can try to minimize these overlaps by synchronizing the connection events but that won't really work because connection always starts with advertising packet and these are completely asynchronous (= random). There is small some limited space by choosing the same connection interval for all links (if you are GAP Central) and letting Soft Device to move first connection event of each connection to available "gap", then these should stay in sync. But overall...

Children
No Data
Related