Priority level overlap between SoftDevice and ESB?

Hello, this concerns SoftDevice spec 7.1 and nRF5 SDK v16.0.0.

I noticed that ESB has interrupt handlers occupying priority levels 0 and 1 according to the SDK documentation.  However, the SoftDevice uses priority levels 0, 1, and 4, and the documentation states that the application programmer must refrain from using these.

So just to verify, I assume that Nordic has implemented ESB in the SDK such that it "plays nice" with an enabled/active SoftDevice (e.g. using radio timeslot API)?  Because it seems that at least the ESB timer interrupt may interfere with SoftDevice activity.


Parents Reply Children
  • yes, you can use Timer0 and Radio pheripheral and the restricted interrupt priorities within the timeslot. But you need to make sure that if you change the priorities of peripherals (apart from Time0 and RADIO) they need to go back to allowed priorities before the timeslot ends. With Timer0 and RADIO, the softdevice makes sure that it reinitializes those peripherals as needed.