Hello there,
In my application i am trying to implement network discovery functionality. I am working in a DigiMesh and I would like to find all nodes in the network. For testing purposes I have used XCTU with console connected.
In XCTU I was connected using uart to a device with mac address 0x0013A2004125E0F5. The other rf module I found in the network was 0x0013A20040FCDD56.
I was trying to trace back what XCTU did in order to find this one module. Here is the console session of the discovery:
07-21-2017 12:38:32.351,-,API,“NODE2,0013A2004125E0F5,XBee Pro DigiMesh 2.4,8073,COM9 - 9600/8/N/1/N,3”
07-21-2017 12:32:13.635,0,SENT,7E0004085B4E54FA
07-21-2017 12:32:13.661,1,RECV,7E0007885B4E54000082F8
07-21-2017 12:32:13.699,2,SENT,7E000408024E4463
07-21-2017 12:32:26.036,3,RECV,7E001E88024E4400FFFE0013A20040FCDD56204E4F44453300FFFE0100C105101E57
07-21-2017 12:32:26.050,4,SENT,7E000F175C0013A20040FCDD56FFFE02523FD8
07-21-2017 12:32:26.106,5,RECV,7E000F975C0013A20040FCDD56FFFE523F0258
07-21-2017 12:32:26.120,6,SENT,7E000F175D0013A20040FCDD56FFFE02254300
07-21-2017 12:32:26.186,7,RECV,7E0010975D0013A20040FCDD56FFFE2543000181
07-21-2017 12:32:26.200,8,SENT,7E000F175E0013A20040FCDD56FFFE024856C9
07-21-2017 12:32:26.256,9,RECV,7E0011975E0013A20040FCDD56FFFE485600184CE7
07-21-2017 12:32:26.270,10,SENT,7E000F175F0013A20040FCDD56FFFE025652BE
07-21-2017 12:32:26.337,11,RECV,7E0011975F0013A20040FCDD56FFFE56520080734D
07-21-2017 12:32:26.352,12,SENT,7E000F17600013A20040FCDD56FFFE024150D4
07-21-2017 12:32:26.407,13,RECV,7E001097600013A20040FCDD56FFFE4150000056
Pastebin here for clarity: https://pastebin.com/kCgNWxJ4
If I understand correctly the procedure went like this:
- XCTU sets NT (13 seconds) for my the device
- XCTU sets (The network discovery starts)
- Ansfer for ND comes. Here I dont know how to decode the AT command parameter:
FF FE ---- 00 13 A2 00 41 25 E0 AB ---- 20 4E 4F 44 45 31 00 FF FE 01 00 C1 05 10 1E
I see clearly that there is the mac address of the found device in there, but what are the other bytes, what do they stand for? Also what would happen if more than one device would be found?
- XCTU sends R? (to remote device) and receives invalid command answer- What is R? at command? I cannot find it in the Digimesh datasheet.
- XCTU sends %C (to remote device) and gets the answer but here as well I cannot find what is %C command.
At the end XCTU read the hardware and software version from the external device and sets the API mode.
To summarize: What are “R?” and “%C” AT commands and what is the format of ND response? How to decode found devices? I would appreciate all help.
PS: I am using XBee PRO S1 modules.