Strange behavior with ESB driver fast ramp-up on nrf52840

Hello, I have two nrf52840-dongles which I am using to test ESB. (NCS 3.1.1)

With a few modifications to the ESB prx and ptx samples:

  • Remove logs except for PTX ESB_EVENT_RX_RECEIVED printout (avoid slow logging having an impact)
  • Reduce sleep time to 10ms
  • Enable config.use_fast_ramp_up
  • Set retransmit count to 0 (don't need that complicating things)
  • Add some kind of light processing thread to PRX (doesn't seem to matter what, a busy-loop should do)

The system continues working, but the PTX begins receiving very strange "echoes" of its own transmitted packets:

I: Sending test packet
D: Packet received, len 8 : 0x01, 0x04, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
D: Packet received, len 8 : 0x01, 0x05, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
D: Packet received, len 8 : 0x01, 0x06, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
D: Packet received, len 8 : 0x01, 0x06, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
D: Packet received, len 8 : 0x01, 0x07, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
D: Packet received, len 8 : 0x01, 0x08, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
D: Packet received, len 8 : 0x01, 0x09, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
D: Packet received, len 8 : 0x01, 0x0a, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
D: Packet received, len 8 : 0x01, 0x0b, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08

These are roughly sequential, aligned to the actual transmitted packets, but some duplicates are present.
I *believe* these are actual OTA packets somehow sent by the PRX, but I will confirm this with an ESB monitor.

The frequency of these erroneous packets is correlated to the amount of work we're asking the PRX to do in its processing thread, but they start showing up infrequently even if the processing thread sleeps for an order of magnitude longer than the ESB frequency and does nothing more than assign a few integers.

If I try to run a thread on the PRX at 1khz doing some work I'll need in my application, the PTX gets blasted by these erroneous "reflected" packets, and it appears to interfere with the PTX's ability to properly receive ACK payloads when I extend the ESB sample to start including those.

I don't believe that I should be coming up against any limits to system performance at these rates?

This question is related to:
ESB anomaly when using Fast ramp-up 

In this thread, no solution is presented but it is suggested that "The ESB library hasn't been tested for use with fast mode". This was three years ago, and I assume the esb_config::use_fast_ramp_up was added since. I cannot find any Nordic documentation suggesting use_fast_ramp_up is untested or has issues/errata for two nrf52 devices.

Can anyone shed more light on this situation?


Thank you very much for any help!


Parents Reply Children
No Data
Related