How does API TX Status work?

I’m playing around with API mode on XBees (Pro S1) right now and I’m a bit confused with how to use the TX(Transmit) Status value that I get back after sending a message. Based on the info I can find (documentation and XTCU), if I set the Frame ID to 01, then I’m expecting a response, which would be the Tx Status. In case of failed transmission, the XBee should retry up to RR number of tries before giving me a failed response. So my question is, what is the definition of failed transmission? I initially thought this has something to do with getting an ack of some sort back from the receiving XBee, but after a few experiments playing around with addresses this doesn’t seem to be the case:

  1. XBee A sends a message to XBee B’s address, gets Tx Status = 0
  2. XBee A sends a message to 0xFFFF (broadcast), gets Tx Status = 0
  3. XBee A sends a message to a random address, I still get Tx Status = 0

#3 is where I got confused. Even though the message would not have been received by anyone, the XBee thinks that it’s sent successfully. So what is the definition of success vs failure when it comes to Tx Status?

The TX Status does not mean that the packet was received. It just means that it was able to transmit the packet without error.

1 Like

I see. I was reading the documentation again and I think I got what it’s saying. When it says “no ACK is received” when status is 1, it’s from the perspective of the computer, not the XBee.