This section describes the processor availability and interrupt processing time for the SoftDevice when the scanner or initiator role is running.
When scanning or initiating, the pattern of SoftDevice processing activity at interrupt priority level 0 is as follows:
SoftDevice processing activity in the different priority levels when scanning or initiating is outlined in Processor usage for scanning or initiating. The typical case is seen when scanning or initiating without using a whitelist and without sending scan or connect requests. The max case can be seen when scanning or initiating with a full whitelist, using private addresses, sending scan or connect requests while having a maximum number of connections, and utilizing the Radio Timeslot API, Flash memory API, using PA/LNA, and Quality of Service (QoS) channel survey module at the same time.
Parameter | Description | Min | Typical | Max |
---|---|---|---|---|
tISR(0),RadioPrepare | Processing when preparing the radio for scanning or initiating | 67 μs | 68 μs | |
tISR(0),RadioStart | Processing when starting the scan or initiation | 23 μs | 25 μs | |
tISR(0),RadioProcessing | Processing after sending/receiving packet | 95 μs | 116 μs | |
tISR(0),PostProcessing | Processing at the end of a scanner or initiator event | 120 μs | 199 μs | |
tnISR(0) | Distance between interrupts during scanning | 80 μs | >1.5 ms | |
tISR(4) | Priority level 4 interrupt at the end of a scanner or initiator event | 27 μs |
From the table we can calculate a typical processing time for one scan event receiving one advertisement packet to be:
tISR(0),RadioPrepare
+
tISR(0),RadioStart
+
tISR(0),RadioProcessing
+
tISR(0),PostProcessing
+
tISR(4)
=
332 μs
That means typically more than 99% of the processor time is available to the application when scanning with a 100 ms interval under these conditions.