When operating in API mode, I would like to know when exactly the ACK is sent to the transmitting module. (1) As soon as the incoming packet was received in the buffer or (2) after it was transferred by UART to the destination microcontroller? If the answer is (1), I think there could be an overwrite in the input buffer, if the transmitting module sent a new packet before it was actually transferred to the receiver.
Curl, ACK over the air is sent after the packet was received and verified for that module by the Zigbee Stack.
“…Curl, ACK over the air is sent after the packet was received and verified for that module by the Zigbee Stack…”
Eric, thank you for helping. Based on your response (if I undertanding it), the ACK is sent as long as the packet is verified on module, but BEFORE transmitted to application by UART. So, could the input buffer be corrupted by a new incoming packet (the application cannot have time to recover the entire packet).
There are multiple buffers on the module. It will only allow one packet or the max number of bytes in that buffer at a time. So you should not worry about having more than one packet at a time as long as you are using hardware flow control.