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

Loosing radio packets

I have a setup with one transmitter and three receivers. The transmitter (nRF24L01+) sends a message to the receivers (nRF52832, using SDK v15.3.0) every 10 seconds. The receivers are in RX all the time, except when a packet has been received, it will be processed before it returns to RX again.

This is running without any issues for a random amount of time, then suddenly one, two or all of the receivers do not receive the message. If halting the code when the receiver has not received any message, sometimes it reports CRC error (looking inside nrf_esb.c), and sometimes not.

When a given received loses the packet appears to be totally random, so I suspected noise to be the issue, but I would assume that this would affect all three receivers the same ?

Any suggestions ?

Parents Reply
  • This suggestion was helpful to me as well.  Looking into the ESB example projects, in esb_prx it's done this way (susceptible to this issue):

    if (nrf_esb_read_rx_payload(&rx_payload) == NRF_SUCCESS)
    {
    // Handle packet
    }

    But in the other one (esb_low_power_prx) it is done this way (better):

    while (nrf_esb_read_rx_payload(&rx_payload) == NRF_SUCCESS)
    {
    // Handle packet
    }

    Would be nice if there was consistency in the example projects.

Children
No Data
Related