Radio notification signals are used to inform the application about radio activity.
The radio notification signals are sent right before or at the end of defined time intervals of radio operation, namely the SoftDevice or application Radio Events.
To ensure that the radio notification signals behave in a consistent way, the radio notification shall always be configured when the SoftDevice is in an idle state with no protocol stack or other SoftDevice activity in progress. Therefore, it is recommended to configure the radio notification signals directly after the SoftDevice has been enabled.
If it is enabled, the ACTIVE signal is sent before the SoftDevice starts preparing for an Event. If the nACTIVE signal is enabled, it is sent at the end of the Radio Event. These signals can be used by the application developer to synchronize the application logic with the radio activity. For example, the ACTIVE signal can be used to switch off external devices to manage peak current drawn during periods when the radio is ON, or to trigger sensor data collection for transmission during the upcoming Radio Event.
The notification signals are sent using software interrupt as specified in Allocation of software interrupt vectors to SoftDevice signals.
As both ACTIVE and nACTIVE use the same software interrupt, it is up to the application to manage them. If both ACTIVE and nACTIVE are configured ON by the application, there is always an ACTIVE signal before an nACTIVE signal.
See Radio notification notation and terminology for the notation that is used in this section.
When there is sufficient time between Radio Events (tgap > tndist), both the ACTIVE and nACTIVE notification signals are present at each Radio Event. Two radio events with ACTIVE and nACTIVE signals illustrates an example of this scenario with two Radio Events. The figure also illustrates the ACTIVE and nACTIVE signals with respect to the Radio Events.
When there is not sufficient time between the Radio Events (tgap < tndist), the ACTIVE and nACTIVE notification signals is skipped. There is still an ACTIVE signal before the first event and an nACTIVE signal after the last event. This is shown in Two radio events without ACTIVE and nACTIVE signals between the events that illustrates two radio events where tgap is too small and the notification signals are not available between the events.
The application can configure tndist to any value between 50 µs and 5500 µs. At tprep time before the Radio Event, the SoftDevice prepares to use the radio for TX or RX. The SoftDevice interrupts the radio notification interrupt unless it has finished processing. The application should send all packet data through API before tprep. Make sure tndist is large enough to be done with all processing. tprep varies depending on the scheduled radio activity and might change between releases.
| Label | Description |
|---|---|
| ACTIVE | The ACTIVE signal prior to a Radio Event |
| nACTIVE | The nACTIVE signal after a Radio Event |
| P | SoftDevice CPU processing in interrupt priority level 0 between the ACTIVE signal and the start of the Radio Event |
| RX | Reception of packet |
| TX | Transmission of packet |
| tradio | The total time of a Radio Activity in a connection event |
| tgap | The time between the end of one Radio Event and tprep for the next Radio Event |
| tinterval | Time period of periodic protocol Radio Events (e.g. Bluetooth® Low Energy connection interval) |
| tprep | The time before first RX/TX available to the protocol stack to prepare and configure the radio |
| tndist | The notification distance – the time between the ACTIVE signal and tprep |