Hi,
For my application I was using ESB without softdevice and just recently I wanted to add dfu so I had to add softdevice as well.
After adding softdevice I found out that my piece of code that is starting lfclk and hfclk is now failing.
void clocks_start( void )
{
nrfx_clock_enable();
nrfx_clock_hfclk_start();
while (!nrfx_clock_hfclk_is_running())
;
nrfx_clock_lfclk_start();
while (!nrfx_clock_lfclk_is_running())
;
}
First symptom is that hfclk_is_running function never returns true. After commenting out that while() loop when application reach lfclk_start it simply stops execution - I think it gets stuck somewhere in softdevice.
I already tried to use softdevice api for requesting clocks and added softdevice enabling, but then I got some other weird errors - probably softdevice was clashing with ESB, but didn't invetigate it much further. Then I read somewhere that if application does not use softdevice - like in my case - I can just ignore it. But then the question is why this clock function is failing?
Hoping for a quick answer !
Michał