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

nRFL24LE1, 250Kbps not working

Hi, I'm new to Nordic. I can't get 250Kbps working on the nRF24LE1. I'm using the enhanced shockburst examples in the nRFgo SDK (enhanced_shockburst_ptx_nrf2 and enhanced_shockburst_prx_nrf2). I added a call to hal_nrf_set_datarate:

// Power up radio

hal_nrf_set_power_mode(HAL_NRF_PWR_UP); hal_nrf_set_datarate(HAL_NRF_250KBPS);

//HAL_NRF_1MBPS, /**< Datarate set to 1 Mbps */

//HAL_NRF_2MBPS, /**< Datarate set to 2 Mbps */

It works fine if I change it to 2Mbps and 1Mbps. I'm changing the data rate at both the transmitter and the receiver, of course. What am I doing wrong?

I posted this question on the devzone (https://devzone.nordicsemi.com/question/106546/nrf24le1-250kbps-not-working/) but as I haven't gotten answers to any of my previous questions, I'm asking the same question here.

Thanks!

Mahesh

  • Hi Mahesh,

     

    I suspect the 250 kBit mode does not work due to the auto-retransmit delay.

    For 250k, this should be set to 500 us or higher, depending on how much data is sent back in the ACK-payload (see page 29 in the datasheet, chapter 3.4.6.2, for more detailed information). 

     

    Could you try altering the "ARD" using API call hal_nrf_set_auto_retr(retr, delay), where delay is the parameter that you should set to atleast 500 us.

     

    Best regards,

    Håkon

  • Hi Håkon,

    Thanks for the quick reply. What specific values should I try for retries and delay? Also, are there default values for pipe address, data rate, delay, retry, channel, acknowledge and power level? I couldn't find any definitive documentation. My assumption has been that the pipe address is 0xE7E7E7E7E7, the data rate is 1Mbps. The items are not set explicitly in the nRFgo ESB examples.

    Are these the same default values for the nRF24L01? I need multiple nRF24LE1s used as remote sensors to transmit to gateway microcontroller(s) connected to nRF24L01s. It's an overlapping mesh where about 100 LE1s feed into about 10 gateways which then take the incoming data and push them to our server over the internet.

    Thanks!

    Mahesh

  • Hi Mahesh,

     

    The default configuration on the nRF24LE1/L01+ is 0xe7e7e7e7 (4 byte address), 1 byte crc, 3 re-transmits, 250 us retransmit delay, and 2 mbit on-air datarate. These are the reset-values. You can check the other settings by looking in the datasheet at the reset-value of the specific parameter you're interested in.

     

    The re-transmit delay should be >500 us for 250 kbit mode.

     

    In a mesh-situation, it is important that you know the restrictions of Enhanced Shockburst (ESB), which is that it can use the hardware ACKing for up to 6 RF addresses. In a MESH scenario, I would recommend not to use the hardware-acking feature, which can be disabled by setting "ARC=0" and using the "NOACK" command to send payloads.

     

    Best regards,

    Håkon

Related