I got error 4097 after calling nrf_sdh_enable_request(); function.
this happens only when a previously ESB transmission is there. working perfectly without ESB initialized.
I am disabling ESB before initializing BLE. what could be the problem?
I got error 4097 after calling nrf_sdh_enable_request(); function.
this happens only when a previously ESB transmission is there. working perfectly without ESB initialized.
I am disabling ESB before initializing BLE. what could be the problem?
Hello,
The error code corresponds to NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION and will be returned from sd_softdevice_enable() if the app is using an interrupt priority level reserved to the Softdevice. So it seems like there are some interrupt(s) that are not disabled when you disable ESB. Please check if necessary interrupt disabling is included as a part of your ESB un-init routine.
Is there anyway to check which interrupt is enabled?
You could loop through the IRQs and check each one of them with NVIC_GetEnableIRQ and NVIC_GetPriority, but it would probably be quicker to go over the ones you have enabled and make sure they get disabled.
RADIO_IRQn is not disabled. but I think it has to be disabled when I disabled ESB, isn't it?
Have you tried disabling the radio IRQ with NVIC_Disable(). I took a look at the ESB disable implementation and I see it's only disabling the ESB_EVT_IRQ.
I tried. It's working. But it should be disabled by esb disable(as of my knowledge). Is it correct or not
It looks like an oversight from our side. I will report it. It will be re-enabled next time you run nrf_esb_init() anyway.
It looks like an oversight from our side. I will report it. It will be re-enabled next time you run nrf_esb_init() anyway.