DM firmware 8064 sending invalid (undocumented) byte in receive packet

This morning i updated my Xbee 2.4 to latest DigiMesh 8064 firmware. Not sure if that was a good idea but wanted to move to the latest firmware to get latest features/bug fixes.

Now when node A sends a Transmit request packet (API ID=0x10) to Node B, then node B received the following packet.


I have copied the unescaped frame for simplicity. The problem is 0xC1 value byte (i.e. receive options byte). As per the documentation, this should be either

0x01 = Packet Acknowledged OR
0x02 = Packet was broadcast packet.

Latest manual doesn’t say anything about C1 value. Now my code is failing.

Here are the questions:

1- When digi updates the firmware, dont get release a matching documentation that lists the changes they made? If yes is that not product manual/user guide?

2- Where else can i look before downgrading to 8062 firmware. By the way my code works perfectly fine with firmware 8062.

Thanks all.

I think the receive option byte is supposed to be treated as a bit field, with the intent that new firmware could add meaning to the other bits. So you should check the value like this:
if (receive_option & 0x02): print “got broadcast packet”

So if you treat it as a bit field, your code should not break.

That said, I don’t know what the new values are.

Great. Thanks. It should still help to know new values or feature changes with new firmwares.

Yes, I also saw this - was seeing 0x42 (broadcast plus some mystery ‘soup’) in some DigiMesh tests.

I was not able to discover out what it meant, but your reminder will cause me to push this via other channels.