Our system is currently using the ble_radio_notificaiton components provided by nrf5_sdk version 16, and we have noticed that occasionally after ble pairing + bonding operations, the radio active value would be flipped, getting the radio_active == false then radio_active == true. And the duration between the 2 events are close to the NRF_SDH_BLE_GAP_EVENT_LENGTH we set + the notification distances. And the frequency we get this notification pairs in the same as our current connection interval.
So looking at the ble_radio_notification.c implementation the radio_active value is just a static bool value m_radio_active that is toggled on every SWI1_IRQHandler(). So I was wondering it is possible for SWI1_IRQHandler() here to be missed, especially during BLE pairing + bonding operations when flash writing happening for BLE bonding info. Also our connection interval is pretty fast around 120ms.
If we are missing SWI1_IRQHandler() due to flash writing events, if there any work around to properly get the radio notifications?