esb rx with multiple tx devices.

Now I have some devices that use esb proprietary protocols. They have the same address as well as the channel address.

Now suppose there are multiple tx devices and one rx device at the same time.

If there are multiple tx devices trying to send data to rx with ack enabled, how will rx process the data? Will there be a failure?

( In my tests (The package is sent once a minute) , it seems to be happening, but I'm not sure why, maybe there's something wrong with my code.  Some devices lose packets once in 10 times, while others lose packets once in 20 times, but I'm not sure if it's because they receive data at the same time but don't have time to process it.)

TX:

- esb config -:

ESB_DPL, ret...delay = 0xffff, ret...count = 1, bit = 1MBPS, auto_ack = true, output_power = 4dbm

- Timer code structure - :

Enable HFCLK, Set payload, Init esb, Write payload

- esb callback -:

Disable esb, Disable HFCLK.

RX:

- esb callback -:

Read payload, Fifo put, write payload ( "OK" message )

- config -:

NEVER_DISABLE_TX

ESB_TX_FIFO_SIZE=16

ESB_RX_FIFO_SIZE=16

I use the development board made by myself, and RX needs low power consumption, which has been implemented so far, so it is very necessary to provide transmission efficiency. Is there anything I can optimize?

Parents Reply Children
No Data
Related