We are using SDK15.0.0 and have products with both the NRF52832 and NRF52840 sharing the vast majority of code between them. The softdevices we use are S132 and S140 at version 6.0.0
We have a BLE event handler registered as an observer as follows:
NRF_SDH_BLE_OBSERVER(m_ble_observer, 2, ble_evt_handler, NULL);
Within the event handler we enqueue events into our own event queue that is interrupt level aware. We are observing that on the NRF52832 (using S132) the observer is reporting events on interrupt level 7 while for the NRF52840 this is interrupt level 6.
My questions are thus:
1) Is this difference in behaviour intentional? If not what might be the factors involved in determining the interrupt priority?
2) Is there a recommended/official way to configure the interrupt level these events will come from?
I have had a look through both the official documentation and the sdk_config.h file, and found no clear way of setting the interrupt level for the observers. There is a fair bit about the observer priorities but from my understanding this is a totally separate thing to the interrupt level. In addition, I have not found anything particularly clear in the documentation regarding what interrupt level the observers will be notified on.
Any help would be much appreciated