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

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
  • Scanner which is receiving an advertising packet on a secondary advertising channel
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