NRF24L01+ How to ensure the PayLoad is received by PTX??

Hi all,
I'm reading the NRF24L01+ datasheet, and I have a doubt.

1.-When the PRX send the PayLoad, it only set TX_DS when PTX sends a new packet, right? (page 48 NRFL2401+ Product Specification V1.0).
Then, if the PTX dont send more packets, the PRX never will knows if the PayLoad sent was received correctly, right?

2.-When PTX sends something, the MCU code must wait:
a/ for TX_DS flag
b/ if not TX_DS flag, then wait for MAX_RT (in case ARC>0)
c/ if not TX_DS flag, and ARC=0, wait for 130us (150us to ensure)

If any (a,b,c) is ok, then we must assume the transmission failed.

Is this correct??

In a master and slave situation when the master sends a message it expects to get an acknowledgement from the slave but there is no automatic system to enable the slave to know that its acknowledgement has been received.

If the acknowledgement includes a payload with valuable data then you must write your own code to make the master tell the slave if the payload has not been received correctly.

...R
Simple nRF24L01+ Tutorial

Thank you!

One useful technique is to include serial numbers in messages. The recipient will know that a message has been missed if the serial numbers are not consecutive.

Another approach is to send messages at regular intervals even if the data has not changed. I use that for radio control. If the slave fails to get a message within X millisecs then it shuts down the motor.

...R

That is a very good idea!

Robin2:
Another approach is to send messages at regular intervals even if the data has not changed.

I include a flag in the packet that shows whether it is repeated or new/changed data,
to distinguish keep-alive from new-data packets.

Whandall:
I include a flag in the packet that shows whether it is repeated or new/changed data,
to distinguish keep-alive from new-data packets.

Good idea.

The way my project works repeated data has no adverse effect, but it could do in other situations.

...R