This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

how to config retransmit_delay and m_wait_for_ack_timeout_us use ESB

Hi sir,

 we used nRF 52832 ESB protocol ,

use

 NRF_ESB_PROTOCOL_ESB_DPL

#define     NRF_ESB_MAX_PAYLOAD_LENGTH          128

bitrate                = NRF_ESB_BITRATE_2MBPS

so how can I config retransmit_delay and m_wait_for_ack_timeout_us

and what's the unit ?  retransmit_delay       = 250 , means 250 us ?

thanks!

Parents
  • Hi.

    It is in microseconds, and it is configured when initializing the nrf_esb library.

    The retransmit delay depends on how long the ACK is. If the ACK if empty, ie: no ACK payload, then keeping it 250 us is OK.

    For ACK payloads up to 32 byte (in different modes), you can use the table in the nRF24L01+ datasheet (chapter 7.4.2) as an example for the retransmit delay.

    For higher payload sizes, you need to manually calculate the retransmit delay based on your requirements: Each byte in 2 Mbit mode takes 4 us to transfer, so you need to add (4 x payload_size) [us] to accommodate for the size.

     

    Cheers,

    Håkon

Reply
  • Hi.

    It is in microseconds, and it is configured when initializing the nrf_esb library.

    The retransmit delay depends on how long the ACK is. If the ACK if empty, ie: no ACK payload, then keeping it 250 us is OK.

    For ACK payloads up to 32 byte (in different modes), you can use the table in the nRF24L01+ datasheet (chapter 7.4.2) as an example for the retransmit delay.

    For higher payload sizes, you need to manually calculate the retransmit delay based on your requirements: Each byte in 2 Mbit mode takes 4 us to transfer, so you need to add (4 x payload_size) [us] to accommodate for the size.

     

    Cheers,

    Håkon

Children
Related