Hi,
I want to schedule timeslots back-to-back, or as close as possible. Question is how close to eachother timeslots can be scheduled?
I read the following about sd_radio_request() at https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s140.api.v7.2.0%2Fgroup___n_r_f___s_o_c___f_u_n_c_t_i_o_n_s.html&anchor=ga3fbd3ade121c15745cc19b900ce8154b:
"A too small p_request->distance_us will lead to a NRF_EVT_RADIO_BLOCKED event."
1) What is the minimum distance?
"Timeslots scheduled too close will lead to a NRF_EVT_RADIO_BLOCKED event."
2) What is "too close" meaning what is the required minimum time from calling sd_radio_request() until the timeslot is due?
3) What is the required minimum time from returning NRF_RADIO_SIGNAL_CALLBACK_ACTION_REQUEST_AND_END from the signal handler until the timeslot is due? Same as question 2 above?
I have done some measurements, where I request a new timeslot from the signal handler as close as possible to the current:
With NRF_RADIO_HFCLK_CFG_NO_GUARANTEE:
175 us until next timeslot is due => WORKS
165 us until next timeslot is due => DOESNT WORK
With NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED:
295 us until next timeslot is due => WORKS
285 us until next timeslot is due => DOESNT WORK
So my measurements suggest the response to question 3 above is:
a) 170 us with NRF_RADIO_HFCLK_CFG_NO_GUARANTEE
b) 290 us with NRF_RADIO_HFCLK_CFG_XTAL_GUARANTEED
This is longer than I would expect.
Please provide official specifications!
I'm running on a nRF52840 DK.
SDK ver 16.0.0
S140_nrf52_7.0.1
BR / Björn