I am using Digi XBee SX modules in DigiMesh mode (AP=1).
I want to configure the units on application startup by breaking into command mode. I can do this by asserting DIN and asserting RESET, however for brand new units from the factory it will responds with “OK\r” (transparent mnode), however after setting to AP=1 mode the next restart the device will break into command mode but respond with 0x7E 0x00 0x02 0x8A 0x00 0x75 0x4F 0x4B 0x0D, which is an API frame.
Is there a way to always break into TRANSPARENT command mode, no matter what the AP mode is set too?
(then on exit, go back to whatever mode is set).
Try with sending Command Sequence character 3 times in roq i.e. “+++”
Yes, just issue the command mode sequence of 1 second of silence, followed by +++ sent within 1 second, followed by 1 second of silence. You will then get an OK telling you that you are in AT command mode.
Thanks for your answers asgm and mvut, but I think you’ve misunderstood the situation.
I have already put the device in command mode by asserting the DIN pin low while asserting the RESET pin low, then high.
The device responds back with “OK\r” (if it is configured in transparent mode. i.e. AP = 0)
or responds back with an API frame containing “OK\r” (if configured in API mode. eg. AP = 1 or AP = 2).
Anyway I’ve discovered that regardless of how the “OK\r” is reported back (raw or in frame), the device accepts raw AT commands for reporting/configuring.
This is what I want so all is good It’s just that receiving an “OK\r” in a frame was confusing, as it lead me to believe that the XBee was in API mode and that I would have to set parameters using AT Command FRAMES, rather than raw AT strings.
I don’t know if it is a bug or if it is intentional that the "OK" is reported back as a frame when breaking into command mode via DIN/RESET method ??
Anyway, I’ve got it working so life aint too bad
For the record:
as you have noted, asserting DIN (serial break) while resetting. will force the radio into command mode, regardless of the API mode setting.
The module responded with two pieces of information. one, and API modem status frame: 0x7E 0x00 0x02 0x8A 0x00 0x75 The second, was the OK\r in transparent Mode.
This is expected, when the radio is set AP>0, and the reset/serial break is performed. The OK\r is the indication that the radio is in command mode. The radio will exit command mode in the normal ways.
Additionally, command mode may also be entered regardless of AP setting by sending the three ‘+’ as mentioned below.
OK. I can see that the length of the frame is 0x0002, which means the last 3 bytes received are not part of the frame (i.e. the “OK\r”).
I can’t recall what the timing of the byte stream was, but I presume the bytes were all back-to-back, which I erroneously assumed were all part of the frame.
Thanks, for the clarification