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.
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…
It looks like they wont work together because of the conflict in resource you mentioned, but you can use the Timeslot API in the ESB application to make any Radio and Timer activity inside the timeslot without any conflicts.
Thanks Susheel. Sorry for taking a while to get back on this. So you are saying that I may actually use the "reserved" interrupt priorities within a granted Timeslot?
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.