nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

About timeslot, I want to ask something

Hello Nordic engineer,

I used SDK15.3.0 and nRF52811

I want to ask three questions,

(1)

sd_radio_session_open(radio_callback);
sd_radio_session_close();

Can a session be opened forever?

I will frequently use BLE+ESB in my products

In my products, very frequent use of BLE+ESB

(2)

m_timeslot_request.params.earliest.length_us

After the session is opened, when I apply for a timeslot for the first time, is there a time limit for the request?

Is the request range 100us-100ms?

(3)

In start timeslot, example set TIMER0

TIMER0 has two time points, A and B

A: near the end of time (Can apply for extension of timeslot)

B: very close to the end (Cannot apply for extension of timeslot) (But you can request new timeslot)

In "A" this moment, Is the request for extension a certain success (100% success)?

Thanks

  • Hi,

    1) Yes, the sessions are like init and uninit of the timeslots.

    2) Yes, the range for one request is 100us-100ms, but you can request to extend the timeslot up to 128s. See Timeslot length.

    3) No, the SoftDevice scheduler will only grant the timeslot request if the timeslot can be scheduled between other tasks, see Scheduling and SoftDevice timing-activities and priorities.

    Best regards,
    Jørgen

  • Hi,

    Thank you for your reply

    I think I found the priority setting

    m_timeslot_request.params.earliest.priority    = NRF_RADIO_PRIORITY_NORMAL; // or NRF_RADIO_PRIORITY_HIGH

    In examples \ ble_peripheral \ ble_app_uart

    #define APP_BLE_OBSERVER_PRIO           3                                           /**< Application's BLE observer priority. You shouldn't need to modify this value. */

    This is to set the priority of BLE?

    The smaller the number, the higher the priority?

    Is there a range of numbers? (maybe 0-3 or 0-5 or other ... ?)

    =====================================================

    I want to ask a question

    My project will switch ESB frequently_ TX and ESB_ RX

    Does switching take a little processing time

    Cause some radio data can't be received in time?

    Thank you

  • eric_cheng said:
    I think I found the priority setting

    Yes, this is the priority of the timeslot request. It can be set to normal or high.

    eric_cheng said:
    This is to set the priority of BLE?

    The priority levels used by the softevice is predefined, and cannot be changed. The timing-critical events in the softdevice will always get highest priority. APP_BLE_OBSERVER_PRIO is the priority of the callback in your application where the softdevice events are passed. As the comment says, you should not need to change this priority.

    eric_cheng said:

    The smaller the number, the higher the priority?

    Is there a range of numbers? (maybe 0-3 or 0-5 or other ... ?)

    Yes, that is correct. See the softdevice specification for details: Interrupt priority levels.

    eric_cheng said:

    My project will switch ESB frequently_ TX and ESB_ RX

    Does switching take a little processing time

    Cause some radio data can't be received in time?

    The timing of the radio is given in the RADIO peripheral documentation: Radio timing

Related