SoftDevice timing-activities and priorities

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, 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.

Table 1. Scheduling priorities

Priority (Decreasing order)

Role state
First priority
  • Central connections that are about to time out
  • Peripheral connection setup (waiting for ack from peer)
  • Peripheral connections that are about to time out
Second priority
  • Central connection setup (waiting for ack from peer)
  • Initiator
  • Connectable advertiser/Broadcaster/Scanner which has been blocked consecutively for a few times
Third priority
  • All Bluetooth low energy roles in states other than above run with this priority
  • Flash access after it has been blocked consecutively for a few times
  • Radio Timeslot with high priority
Fourth priority
  • Flash access
  • Radio Timeslot with normal priority
Last priority
  • QoS channel survey