Advertiser timing

S113 SoftDevice Specification

Advertiser is started as early as possible, after a random delay in the range of 3 - 13 ms, asynchronously to any other role timing-events. If no roles are running, advertiser timing-events are able to start and run without any collision.

Figure 1. Advertiser
Page-1 Sheet.1 Sheet.2 Adv Adv Sheet.5 Adv Adv Duration (horizontal) .8 Adv interval + random delay Adv interval + random delay Sheet.3 Adv Adv Duration (horizontal) .4 Adv interval + random delay Adv interval + random delay Duration (horizontal) .9 random delay random delay Sheet.10 Sheet.11 Sheet.12 sd_ble_gap_adv_start() sd_ble_gap_adv_start()

When other role timing-events are running in addition, the advertiser role timing-event may collide with those. The following figure shows a scenario of Advertiser colliding with Peripheral (P).

Figure 2. Advertiser collision
Page-1 Sheet.29 P P Sheet.38 P P Sheet.44 Adv Adv Sheet.47 Sheet.49 P P Sheet.51 Adv Adv Sheet.70 P P Sheet.72 Sheet.67 Adv Adv

A directed high duty cycle advertiser is different compared to other advertiser types because it is not periodic. The scheduling of the single timing-event required by a directed advertiser is done in the same way as other advertiser type timing-events. A directed high duty cycle advertiser timing-event is also started as early as possible, and its priority (refer to Scheduling priorities) is raised if it is blocked by other role timing-events multiple times.