16bit addressing and packet type/order questions

Hey All-

I’m just starting to play with Digimesh in API mode and I’ve got a few simple questions:

  1. The exact sequence of when to use/expect certain packet types is a bit confusing to me. I’m thinking that if my application wants to send a packet, the process looks something like this:

a. Application sends a Transmit (TX) Request (0x10)

b. Request is received by destination as a Receive (RX) Request (0x90).

c. The receiver then sends a Transmit (TX) Status packet (0x8B) back to the sender to indicate the packet was received.

Is this correct?

  1. I notice the TX/RX packets include both a 64bit address and a 16bit address. I understand where the 64bit address comes from, but how do you set a node’s 16bit address? Is it simply the bottom 2 bytes of the 64bit address?

Why do you have to specify both addresses? Can I simply use one of them?



To at least partially answer my own question-

  1. Yes, a 0x10 (transmit request) ends up as a x090 (receive request) at the other end.

I’ve been struggling with a mis-configured XBee for the better part of a week, so now I think I understand things a bit better now.

  1. After a closer look at the docs, which state to set the 16bit address to 0xFFFE if unknown, it simply works as documented.