![]() |
| RabbitCore RCM4500W User's Manual |
Appendix D. Additional Configuration Instructions
Appendix D provides information on how to find the latest firmware for the XBee RF module and the Digi® XBee USB used as the ZigBee coordinator, and how to install the firmware.
D.1 XBee RF Module Firmware Downloads
By default, the RCM4510W is shipped from the factory with firmware to operate as either a router or as an end device in a mesh network. You will need to run the
MODEMFWLOAD.Csample program in the Dynamic CSAMPLES\RCM4500W\XBeefolder to download the firmware needed to operate the RCM4510W as a coordinator.
Once you have successfully loaded the firmware, compile and run another sample program to make sure the
MODEMFWLOAD.Csample program does not inadvertently reload (or partially reload) the firmware.If you are uploading firmware because you upgraded to a more recent Dynamic C release, remember to recompile your applications using the new version of Dynamic C once you have uploaded the new firmware.
D.1.1 Dynamic C v. 10.44 and Later
Encrypted libraries have been created within Dynamic C for the firmware. The three ZigBee PRO libraries are in the
LIB\Rabbit4000\XBee\XBee_Firmware\ZigBeefolder.
- A Dynamic C library of the type
XB24-ZB_21....LIBis used for a coordinator RCM4510W.
- A Dynamic C library of the type
XB24-ZB_23....LIBis used for a router RCM4510W.
- A Dynamic C library of the type
XB24-ZB_29....LIBis used for an end-device RCM4510W.There are also two ZNet 2.5 libraries in the
LIB\Rabbit4000\XBee\XBee_Firmware\ZNetfolder.
- A Dynamic C library of the type
XB24-B_ZigBee_...41.LIBis used for a coordinator RCM4510W.
- A Dynamic C library of the type
XB24-B_ZigBee_...47.LIBis used for an end-device/router RCM4510W.Make the following modifications to the
MODEMFWLOAD.Csample program.before you run it according to whether you will be using the RCM4510W as a coordinator, a router, or an end device.
- Select the XBee role macro according to whether the RCM4510W is being used as a coordinator, a router or an end device.
#define XBEE_ROLE NODE_TYPE_COORD
#define XBEE_ROLE NODE_TYPE_ROUTER
#define XBEE_ROLE NODE_TYPE_ENDDEV
- The RCM4510W uses either the ZNet 2.5 protocol or the ZB protocol. Make sure the
#definestatement calls for the protocol used.
#define XBEE_PROTOCOL XBEE_PROTOCOL_ZNET
#define XBEE_PROTOCOL XBEE_PROTOCOL_ZBD.1.2 Dynamic C v. 10.21 (RCM4510W preview and standard versions)
Encrypted libraries have been created within Dynamic C for the two types of firmware. The two libraries provided are in the
LIB\Rabbit4000\RCM4xxx\RCM45xxW_XBee_firmwarefolder.
- A Dynamic C library of the type
XB24-B_ZigBee_11....LIBis used for a coordinator RCM4510W.
- A Dynamic C library of the type
XB24-B_ZigBee_13....LIBis used for an end device/router RCM4510W.Make the following modifications to the
MODEMFWLOAD.Csample program.before you run it according to whether you will be using the RCM4510W as a coordinator, a router, or an end device.
#define ZIGBEE_COORDINATOR
- Uncomment either of the following two lines if you will be using the RCM4510W as a router or an end device. The same firmware will be uploaded to the RCM4510W regardless of which line is commented out.
#define ZIGBEE_ROUTER
#define ZIGBEE_ENDDEVD.1.3 Dynamic C v. 10.11 (RCM4510W preview version only)
The coordinator and end-device/router firmware is provided in the Dynamic C
SAMPLES\RCM4500W\MODEMFWfolder.
- Firmware of the type
XB24-B_ZigBee_11....eblis used for a coordinator RCM4510W.
- Firmware of the type
XB24-B_ZigBee_13....eblis used for an end device/router RCM4510W.When you use the bootloader function, you will have to provide a file read function that supplies the binary image in record sizes specified by the
xmodemprotocol. The read function will have the following prototype.
char *fileread(int recordNumber, int recordSize)The function will return the address of a buffer containing the data. A NULL return signifies the end of the file.
Before you compile and run this sample program, modify the
ximportstatement to point to the binary image file you will be downloading.
#ximport "MODEMFW/Coordinator/XB24-B_ZigBee_1118.ebl" zb_ebl_fileIn this example, the
XB24-B_ZigBee_1118.eblfile is in the Dynamic CSAMPLES\RCM4500W\MODEMFW\Coordinatorfolder. If you downloaded a firmware update to another location on your hard drive, you would change the directory path accordingly as in the following example.
#ximport "/temp/XB24-B_ZigBee_1118.ebl" zb_ebl_fileTo see the details of what is happening while the sample program runs, you should
#definethe following.
#define ZB_VERBOSE
#define XMODEM_DEBUGD.2 Digi® XBee USB Configuration
You may experience difficulty when you use the ZigBee sample programs and the Digi® XBee USB with the default settings if you are working simultaneously with more than one ZigBee coordinator.
Section 6.2.2 explains how to set up the RCM4510W configuration patterns for the sample programs via macros in the Dynamic C
LIB\Rabbit4000\XBee\XBEE_API.LIBlibrary folder.
Channel mask defaults to 0x1FFE, i.e., all 12 possible channels via the macro in the Dynamic C
LIB\Rabbit4000\ZigBee\XBEE_API.LIBlibrary.
#define DEFAULT_CHANNELS ZB_DEFAULT_CHANNELSFor example, to limit the channels to three channels, the macro would read as follows.
#define DEFAULT_CHANNELS 0x000EThe same configurations must then be applied to the Digi® XBee USB via Digi's X-CTU utility. If you have not previously used this utility, install it from the Dynamic C
Utilities\X-CTUfolder by double-clickingSetup_XCTU_xxxx.exe(wherexxxxis the version number),Continue the following steps with the Digi® XBee USB connected to your PC's USB port. Since the ZigBee Utility
XBEE_GPIO_GUI.exewill conflict with X-CTU, first close the ZigBee Utility if it is running.
- Start X-CTU from the desktop icon and set the "PC Settings" tab to 115200 baud, HARDWARE flow control, 8 data bits, parity NONE, 1 stop bit.
- On the "PC Settings" tab, check the "Enable API" box under "Host Setup."
- On the "PC Settings" tab, select the "USB Serial Port" corresponding to the USB serial port the Digi® XBee USB is connected to and click "Test/Query." You should see a response showing the Modem Type (XB 24-B) and the firmware version. Click OK.
Note that several USB serial ports could be listed. If you select a serial port without the Digi® XBee USB connected, the X-CTU response to "Test/Query." will be "communication with modem ... OK," but the modem type will be unknown, and the firmware version will be blank.
If you a get a message that X-CTU is unable to open the COM port, verify that you selected the COM port with the "USB Serial Port," then try unplugging the Digi® XBee USB from the USB slot and plugging it back in. Now click "Test/Query" again.
- Under the "Modem Configuration" tab click the "Read" button. X-CTU will now display the networking and I/O parameters for the Digi® XBee USB being used as the ZigBee coordinator.
Function Set: ZIGBEE COORDINATOR API (do not select other settings)
Version: the version of the firmware included with the version of Dynamic C you are using (should be of the type
21...)
- Now set the networking parameters in your project defines or in the sample program to match the parameters in the Dynamic C
LIB\Rabbit4000\XBee\XBEE_API.LIBlibrary.
- Now set the networking parameters in your project defines or in the sample program to match the parameters in the Dynamic C
LIB\Rabbit4000\XBee\XBEE_API.LIBlibrary.(D) CH - Operating Channel this is the operating channel you could see when you ran the
AT_INTERACTIVE.Csample program in the Dynamic CSAMPLES\XBEEfolder by entering the command ATCH <Enter>. This channel information cannot be changed from the X-CTU utility.(0123456789ABCDEF) ID - Extended Pan ID set the new extended PAN ID that follows 0x to match the
DEFAULT_EXTPANIDmacro.(1FFE) SC - Scan Channels - set the new value for the channels to scan, E, for example, to match the new setting in the macro.
#define DEFAULT_CHANNELS 0x000EWe are including a profile file (
XBee-USB ZB defaults.pro) in theUtilities/X-CTUfolder to load a Digi® XBee USB with default settings. Once the Digi® XBee USB is connected to an available USB port on your PC, start the X-CTU utility. Click the "Load" button in the Profile section, navigate to the.profile, and it will set all of the defaults. Then click the "Write" button to write the settings to the Digi® XBee USB.D.2.1 Additional Reference Information
Check Digi's Web site for the latest information and documentation on the XBee RF module, the X-CTU utility, and the Digi® XBee USB. Note that the XBee® and the XBee PRO® RF modules are presently not compatible with the XBeeRF module used with the RCM4510W, but the general documentation about ZigBee and the use of AT commands for the XBee® and the XBee PRO® RF modules is relevant.
D.2.2 Update Digi® XBee USB Firmware
The firmware version used by the Digi® XBee USB must correspond to the firmware version installed on the RCM4510W. If you have updated the RCM4510W firmware (or you have a need to re-install the firmware on the Digi® XBee USB), the corresponding firmware for the Digi® XBee USB is in the Dynamic C
Utilities\X-CTU\MODEMFWfolder.
- Remember to record the extended PAN ID, NI, and other parameters you are using.
- Firmware of the type
XB24-ZB_21....zipis used for the Digi® XBee USB coordinator.
- Start X-CTU from the desktop icon and set the "PC Settings" tab to 9600 baud, HARDWARE flow control, 8 data bits, parity NONE, 1 stop bit.
- On the "PC Settings" tab, check the "Enable API" box under "Host Setup."
- On the "PC Settings" tab, select the "USB Serial Port" and click "Test/Query." You should see a response showing the Modem Type (XB 24 B) and the firmware version. Click OK.
Note that several USB serial ports could be listed. If you select a serial port without the Digi® XBee USB connected, the X-CTU response to "Test/Query." will be "communication with modem ... OK," but the modem type will be unknown, and the firmware version will be blank.
If you a get a message that X-CTU is unable to open the COM port, verify that you selected the COM port with the "USB Serial Port," then try unplugging the Digi® XBee USB from the USB slot and plugging it back in. Now click "Test/Query" again.
- Under the "Modem Configuration" tab click the "Read" button. X-CTU will now display the networking and I/O parameters for the Digi® XBee USB.
Function Set: ZIGBEE COORDINATOR API (do not select other settings)
Version: the version of the firmware included with the version of Dynamic C you are using
- Click the "Read" button, select XB24-B as the Modem type; select ZIGBEE COORDINATOR API as the Function Set, and 21... as the Version, then click "Write."
- When the process is complete set the PANID, NI, and other parameters to the values you were using before the firmware was upgraded.
| RabbitA Digi International Brand www.rabbit.com |