I have problems with sometimes loosing ACK payloads from TX FIFO for RX device. My algorithm is:
- config channel and other settings
- clear status and FIFOs
- upload new ACK payload
- start RX by setting CE=1
- wait for packet from TX device
- RX_DR IRQ
- Wait 15ms for ACK to be sent
- stop RX CE=0
- read received data
- Repeat from 1.
For me normally TX_DS is never set for RX device, I assume because I restart RX mode. But sometimes I get TX_DS flag and ACK payload is discarded before sending ACK, so TX device receives only ACK, but without payload.
-
I need clarification on exactly when ACK payloads are removed. Datasheet writes, that: "The payload is pending in the TX FIFO (PRX) until a new packet is received from the PTX" What exactly is "new packet". Also if I exit RX mode (CE=0) and upload new ACK payload then enter RX mode, should next received packet still discard my payload?
-
What about TX side, would entering power down mode reset the PID counter for TX packets?