This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Docs on S110 software events?

Folks,

Is there a document that describes the events generated by the S110 Soft Device and their interpretation? (Note: they're not listed in the S110 SoftDevice Spec v1.1 PDF doc, and I can't find them in the (Doxygen-generated) API webpages included in the API release :-)

In particular, I infer from the spec that there are ACTIVE and nACTIVE events to signal when the radio is (about) to be powered on and off. Very useful. But I also need an event when the radio switches from transmit to receive or vice-versa (to control some external circuitry). Is that available? (short of monitoring supply current :-)

Mike

  • Well, by poking around in the S110 online API pages, I did find the following enum type: enum nrf_radio_notification_type_t which is used by the following function:

    uint32_t sd_radio_notification_cfg_set (nrf_radio_notification_type_t type, nrf_radio_notification_distance_t distance )

    but not much discussion.

    So, thus far, I infer that I can get events before the radio goes on, and when it goes off, but not when it switches between TX and RX.

    Mike

    PS: Why can't I use "[code]" around the second block above? If I do, it repeats the contents of the first one. :(

  • Hi there,

    Is there a document that describes the events generated by the S110 Soft Device and their interpretation?

    The Doxygen docs, but that depends on how you define "event". The S110 SoftDevice can generate 3 types of events:

    1. SoC events, retrieved with sd_event_get(), NRF_EVENT_*
    2. BLE events, retrieved with sd_ble_evt_get(), BLE_EVT
    3. Radio Notification events, configured with sd_radio_notification_cfg_set() and not retrieved using a function, instead a software interrupt is triggered.

    So, thus far, I infer that I can get events before the radio goes on, and when it goes off, but not when it switches between TX and RX.

    Correct, the S110 will allow the application to be notified of radio activity, but unfortunately does not provide a mechanism to differentiate between RX and TX.

  • Be aware that if you try to control an external PA (which it sounds like), you can use VDD_PA physical line for this instead of a software solution. That line will be high while the radio is actually transmitting, and can therefore be used as a control signal directly (or through some sort of buffer).

    We normally don't recommend using an external LNA, since all practical experience shows that this doesn't give (almost) no extra range. The reason seems to be that it will amplify noise as much as it amplifies the signal, and hence gives (again, almost) equal SNR, which is what actually matters. Additionally, the increased noise gives poor blocking, and hence hurts the co-existence performance.

  • Carles and Ole,

    Thanks for your useful replies. Ole, point taken, on both the VDD_PA line and the caution on external LNAs.

    Mike

Related