NGCP / xbeeplus

Cross-Platform C++11 Xbee Radio API
3 stars 0 forks source link

XBee Autoconnect #22

Open omckenzie opened 6 years ago

omckenzie commented 6 years ago

We'd like to be able to use the built in autoconnect feature used by XCTU in our code. The following is the signal log for the two XBee units that were autoconnected through XCTU.

02-10-2018 11:50:46.157,-,API,"QuadC,0013A20040F8064D,XBee-PRO DigiMesh 900,8062,COM3 - 57600/8/N/1/N,3"

  1. 02-10-2018 11:49:33.568,0,SENT,7E000408084E544D
  2. 02-10-2018 11:49:33.599,1,RECV,7E000788084E540000824B
  3. 02-10-2018 11:49:33.739,2,SENT,7E000408034E4462
  4. 02-10-2018 11:49:39.569,3,RECV,7E001E88034E4400FFFE0013A200409BD79C51756164204500FFFE0100C105101E00
  5. 02-10-2018 11:49:39.569,4,SENT,7E000F17090013A200409BD79CFFFE02523F4C
  6. 02-10-2018 11:49:39.631,5,RECV,7E000F97090013A200409BD79CFFFE523F02CC
  7. 02-10-2018 11:49:39.631,6,SENT,7E000F170A0013A200409BD79CFFFE02254374
  8. 02-10-2018 11:49:39.694,7,RECV,7E0010970A0013A200409BD79CFFFE25430001F5
  9. 02-10-2018 11:49:39.694,8,SENT,7E000F170B0013A200409BD79CFFFE0248563D
  10. 02-10-2018 11:49:39.759,9,RECV,7E0011970B0013A200409BD79CFFFE4856001B4460
  11. 02-10-2018 11:49:39.759,10,SENT,7E000F170C0013A200409BD79CFFFE02565232
  12. 02-10-2018 11:49:39.822,11,RECV,7E0011970C0013A200409BD79CFFFE5652008062D2
  13. 02-10-2018 11:49:39.822,12,SENT,7E000F170D0013A200409BD79CFFFE02415048
  14. 02-10-2018 11:49:39.884,13,RECV,7E0010970D0013A200409BD79CFFFE41500001C9

For information on XBee hardware protocol, see https://www.digi.com/resources/documentation/digidocs/pdfs/90000991.pdf

omckenzie commented 6 years ago

autodiscovery.log

omckenzie commented 6 years ago

The first sent instruction is broken down as follows:

(7E) (00 04) (08) (08) (4E 54) (4D)

7E : Start Delimiter.

00 04: Combined length of the API identifier, frame ID, and AT Command.

08: API identifier for AT command

08: Frame ID

4E 54: (ASCII NT) AT instructions. NTAT indicates "Node Discover Time" command

4D: Checksum.

omckenzie commented 6 years ago

The next commands are as follows:

  1. (88) AT Command Response, NT, 0082
  2. (08) AT Command, ND,
  3. (88) AT Command Response, ND, begins transmitting MAC address and serial data, Passes Error

Begins cycling between Remote AT Commands and Remote AT Command Responses

5-6. More errors, unsure why rejected transmission

  1. Error resolved after receiving %C response 8-14. Connection is established, information regarding Firmware and Hardware data is transmitted and received successfully.
omckenzie commented 6 years ago

Pg 35 of DigiMesh user guide: 'For mesh networking firmware, if the device transmits an RF data packet, the device may need to discover the destination address or establish a route to the destination. After transmitting the data, the device may need to retransmit the data if it does not receive an acknowledgment, or if the transmission is a broadcast. These issues could delay the processing of data in the serial receive buffer.'

See Pg 37 for networking steps See Pg 43 for info on ND (Node Discover) broadcast functionality