Hello everyone,
I am working with the nRF52811 and using the ESB example as a starting point. My setup involves two nRF52 devices: one is a transmitter (TX) and the other a receiver (RX).
Here's the process for the first nRF52 (TX):
- Initialize ESB for transmission (esbInit_tx()).
- Send a packet (send_packet()).
- After TX is done, switch to RX mode (esbInit_rx()).
- Stay in RX mode for less than 50 ms to catch a possible response from the second nRF52.
- Whether a packet is received or not, go to sleep and set a timer to wake up and transmit again after 1 second.
- Repeat this process from the start.
The second nRF52 is constantly in RX mode, listening for transmissions from the first nRF52. If it receives something, it immediately responds by TX and then goes back to listening.
The issue I'm facing is that the second nRF52 only receives the first packet sent by the first nRF52. I have confirmed regular packet transmission from the first nRF52 (every 1 second, indicated by an LED blink), but the second nRF52 seems to only catch the first packet. When I only transmit without listening - the second nRF52 can receive all other packets.
The esbInit_tx() and esbInit_rx() functions are taken from the example. I've disabled ACK responses and changed the addresses.
Does anyone have any suggestions as to why such a simple setup is not behaving as expected? I think the problem is between switching from RX to TX and vice versa
Thank you in advance for any help!