This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Does nRF24L01+ sends negative ACK packet if checksum has failed at receiver?

I was going through the figure 10 of page 35 of nRF24L01+ product specifications and found that when an ACK is received, it checks for only ACK payload. Does it mean that the receiver only send ACK packets when the checksum is OK using CRC. Does it send Negative ACK packet indicating that CRC checksum is not valid. It means that the only time the packets are retransmitted if the ARD time elapsed with limit of retry limit and not if there is a negative ACK packet? Could anyone kindly clarify?

  • My memory tells me there is no indication/RF back saying CRC is wrong.

  • In the case where the Primary transmitter (PTX) send a package, but the Primary receiver (PRX) receives it with an invalid CRC, the PRX will discard the package and not send any ACK at all. You won't know whether or not the error was in the payload or in the addressing itself. The principal is that the ARD will time out on the PTX side and the PTX re-transmits the lost package.

    The ACK from the PRX to the PTX is by default an empty package and the reason for why the PTX checks for payload in the ACK is that this feature is optional and there could potentially be a user defined payload in the ACK. There's no good or bad indication in the payload informing you on the status of the initially received package outside the fact that if it was good and the CRC was correct, the PRX sends an ACK. If something was wrong with the CRC, the PRX will never send the ACK.

Related