We have deployed hundreds of own IOT devices integrated with older XBee/XBee-PRO 802.15.4 (XB24/XBP24-AUI-001) modules.
Now we need to manufacture more devices and we are testing the new XBee3 802.15.4 modules. We are seeing problems when reading or setting Xbee3 parameters using the same code for XB/XBP24 devices.
We are talking to modules using API mode 1. Seems some parameters byte size have changed. Please can you point me to a documentation or a weblink which explicitly says what is byte size of each parameter for each command in API mode? I have looked at migration guide, however I could not find anything useful.
Here is a dump from diff utility I run to find differences between old and new modules:
< old XB/XBP24 modules
> New XBee3
< 20000B6D: 88 52 4E 54 00 19 .RNT…
> 20000B6D: 88 52 4E 54 00 00 19 .RNT…
< 20000B6D: 88 52 53 54 00 13 88 .RST…
> 20000B6D: 88 52 53 54 00 00 00 07 D0 .RST…
< 20000B6D: 88 52 53 50 00 00 00 .RSP…
> 20000B6D: 88 52 53 50 00 00 00 00 00 .RSP…
< 20000B6D: 88 52 44 50 00 03 E8 .RDP…
> 20000B6D: 88 52 44 50 00 00 00 03 E8 .RDP…
< 20000B6D: 88 52 53 4F 00 00 .RSO…
> 20000B6D: 88 52 53 4F 00 00 00 .RSO…
< 20000B6D: 88 52 50 52 00 FF .RPR…
> 20000B6D: 88 52 50 52 00 00 00 FF FF .RPR…
< 20000B6D: 88 52 49 43 00 00 .RIC…
> 20000B6D: 88 52 49 43 00 00 00 .RIC…
342c342
< 20000B6D: 88 52 50 54 00 FF .RPT…
> 20000B6D: 88 52 50 54 00 00 FF .RPT…
363c363
< 20000B6D: 88 52 54 30 00 FF .RT0…
> 20000B6D: 88 52 54 30 00 00 00 .RT0…
370c370
< 20000B6D: 88 52 54 31 00 FF .RT1…
> 20000B6D: 88 52 54 31 00 00 00 .RT1…
377c377
< 20000B6D: 88 52 54 32 00 FF .RT2…
> 20000B6D: 88 52 54 32 00 00 00 .RT2…
384c384
< 20000B6D: 88 52 54 33 00 FF .RT3…
> 20000B6D: 88 52 54 33 00 00 00 .RT3…
391c391
< 20000B6D: 88 52 54 34 00 FF .RT4…
> 20000B6D: 88 52 54 34 00 00 00 .RT4…
398c398
< 20000B6D: 88 52 54 35 00 FF .RT5…
> 20000B6D: 88 52 54 35 00 00 00 .RT5…
405c405
< 20000B6D: 88 52 54 36 00 FF .RT6…
> 20000B6D: 88 52 54 36 00 00 00 .RT6…
412c412
< 20000B6D: 88 52 54 37 00 FF .RT7…
> 20000B6D: 88 52 54 37 00 00 00 .RT7…
And many more
Seems that some parameters changed from 8-bit to 16-bit, some to 24-bit and some changed from 16 to 32 bits.
Documentation says NT command range is from 0x01 to 0xFC, however dump above says it is more than 8 bits now (16-bits).
Please can you suggest the best way to keep our code working with old and new XBee modules?
Should we check data returned by HV,DD or VR commands and make decision based on that ?
Your help is appreciated.