I am sending a 40-byte payload from an S2 Xbee (XB24-ZB, ZigBee End Device AT, firmware 28A7) to an Pro S2B (XBP24BZ7, ZigBee Coordinator API, firmware 21A7) and I inconsistently receive either a 71 or 72 byte length frame packet on the receiving end.
Upon inspection with XCTU on the receiving end it seems like there is a second packet embedding the data payload - ZBRxResponse.getData() returns the embedded packet which also seems to start with 0x7E.
I'm a bit confused as my data starts at byte position 18 of the internal data packet, however the getDataOffset() returns 11. I verified this by sending an easily identifiable hardcoded 40-byte payload 99 99 99 99...
The only parameters I have set on the Xbee's are ID and NI, the rest is default values.
Here are both packets in detail: http://pastebin.com/BzWT5NWU
And my code of course:
Tx Code: http://pastebin.com/jCUvedbJ
Rx Code: http://pastebin.com/gsNxW5bk
Thanks for any help and have a great evening!
UPDATE: Solved my own problem. It was caused by using AT firmware on the transmitting Xbee. Once the latest API End Device firmware was implemented it worked precisely as expected.