The SoftDevice supports multiple connections, an Advertiser or Broadcaster, and an Observer or Scanner simultaneously. In addition to these Bluetooth® Low Energy roles, Flash memory API, Quality of Service (QoS) channel survey, and Radio Timeslot API can also run simultaneously.
Advertiser and broadcaster timing-events are scheduled as early as possible. Peripheral link timing-events follow the timings dictated by the connected peer. Central link timing-events are added relative to already running central link timing-events. Peripheral role timing-events (peripheral link timing-event, advertiser/broadcaster timing-event) and central role timing-events (central link timing-event, initiator/scanner timing-event) are scheduled independently and so may occur at the same time and collide. Similarly, Flash access timing-event and Radio Timeslot timing-event are scheduled independently and so may occur at the same time and collide. QoS channel survey timing-event has the lowest priority. If channel survey is running in parallel with any of the above timing-activities, the average survey interval may become longer.
The different timing-activities have different priorities at different times, dependent upon their state. As an example, if a connection as a Peripheral is about to reach supervision time-out, it will block all other timing-activities and get the timing-event it requests. In this case, all other timing-activities will be blocked if they overlap with the connection timing-event, and they will have to be rescheduled. The following table summarizes the priorities.
Priority (Decreasing order) | Role state |
---|---|
First priority |
|
Second priority |
|
Third priority |
|
Fourth priority |
|
Last priority |
|