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

Softdevice S140 Scheduling / Timing after Reconnect

Hello,

First, my setup:

  • nRF52840 Dongle
  • Softdevice S140 6.1
  • SDK 15.2

I built my own adapted application code based on the multilink central example and managed to create a Nordic UART Service (NUS) client to talk mith multiple peripherals over NUS. For now, my central device is the nRF52840 Dongle and the peripheral devices are two nRF52840 DKs. The peripheral devices run the NUS peripheral example code from Nordic, the dongle runs my own central code. Multilink connections and data exchange works fine.

For further evaluation I need to get an unterstanding of how the multilink connections are managed on the Link Layer, that means in which order the Connection Events for the separate links will be scheduled within a Connection Interval.

I've read the information about the Softdevice S140 Scheduling Timing in the Nordic Infocenter (nRF52 Series > SoftDevices > S140 SoftDevice > S140 SoftDevice Specification > Scheduling) and browsed the Devzone but didn't find specific answers to the following questions:

  1. Basically, is there a reliable way to get a 'mapping' of the connection links in the application firmware to the ordering of Connection Events on the Link Layer? My first attempt would be to subsequently connect to my devies and assume that my first device connecting gets the first Connection Event and my second device connecting gets the second Connection Event (as mentioned in the 'Iniator timing' section in the Infocenter)
  2. What happens if a device disconnects and reconnects with the same connection parameters and settings? Can I assume that the connection will get the same time slot as before? As I unterstand, probably not, because the 'best-fit algorithm' as mentioned in the  'Iniator timing' section in the Infocenter could chose another time slot. Is that true?
  3. How can those large gaps between Connection Events occur (see Figure below, e.g. between C1 and C2) if not by disconnected devices which had Connection Events during this time? The Initiator timing section says, that Connection Events will always be schedlued close to each other without any free time between them.

Thanks for your help.

Regards, Dominik.

Related