I have two Series 2 XBees communicating in API mode and sending data every few seconds, repetitively. Each package has a unique number so I can track them. I am getting some strange behavior when they go out of range and come back in range that leads me to a question. When the receiving XBee send out a Transmit Status (let’s call it an ACK), does it do anything to check the validity of the package received before sending the ACK to the transmitting XBee? For example, if the receiving XBee receives a package for which the checksum indicates a problem, would the receiving XBee still send an ACK to the transmitting XBee? (of course, the receiving XBee got something, albeit with errors.)
The XBee will acknowledge any over-the-air RX frame that is correctly received. Additional integrity checks are performed on the over-the-air TX/RX that are distinct (and stronger) than the simple checksum on API frames over the XBee serial UART.
If you recieve an API Frame 0x8B with success on your sending XBee that means that the over-the-air integrity checks were passed and frame was correctly received.
If you are frequently transmitting I would expect some degree of issue as XBees are brought in and out of range. You might see frames that fail to RX at all or frames that do RX okay but the TX device indicates a TX failure because the network ACKS failed. I would NOT expect the data payloads would ever be corrupted. However if you are depending on a particular sequence and reliable delivery then issues might arise.