2 * Copyright (c) 2011, Olivier MATZ <zer0@droids-corp.org>
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of the University of California, Berkeley nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
16 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
17 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 #include <aversive/pgmspace.h>
34 #include "xbee_atcmd.h"
36 static const char PROGMEM atcmd0_name[] = "WR";
37 static const char PROGMEM atcmd0_desc[] = "write-param";
38 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
39 static const char PROGMEM atcmd0_help[] =
40 "Write parameter values to non-volatile memory.";
43 static const char PROGMEM atcmd1_name[] = "RE";
44 static const char PROGMEM atcmd1_desc[] = "restore-defaults";
45 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
46 static const char PROGMEM atcmd1_help[] =
47 "Restore module parameters to factory defaults.";
50 static const char PROGMEM atcmd2_name[] = "FR";
51 static const char PROGMEM atcmd2_desc[] = "soft-reset";
52 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
53 static const char PROGMEM atcmd2_help[] =
54 "Software Reset. Responds with 'OK' then performs a "
58 static const char PROGMEM atcmd3_name[] = "AC";
59 static const char PROGMEM atcmd3_desc[] = "apply-changes";
60 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
61 static const char PROGMEM atcmd3_help[] =
62 "Apply Changes without exiting command mode.";
65 static const char PROGMEM atcmd4_name[] = "R1";
66 static const char PROGMEM atcmd4_desc[] = "restore-compiled";
67 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
68 static const char PROGMEM atcmd4_help[] =
69 "Restore module parameters to compiled defaults.";
72 static const char PROGMEM atcmd5_name[] = "VL";
73 static const char PROGMEM atcmd5_desc[] = "version-long";
74 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
75 static const char PROGMEM atcmd5_help[] =
76 "Shows detailed version information including"
77 "application build date and time.";
80 static const char PROGMEM atcmd6_name[] = "DH";
81 static const char PROGMEM atcmd6_desc[] = "dst-addr-high";
82 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
83 static const char PROGMEM atcmd6_help[] =
84 "Upper 32 bits of the 64-bit destination address (0 "
85 "to 0xFFFFFFFF, default is 0x0000FFFF).";
88 static const char PROGMEM atcmd7_name[] = "DL";
89 static const char PROGMEM atcmd7_desc[] = "dst-addr-low";
90 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
91 static const char PROGMEM atcmd7_help[] =
92 "Lower 32 bits of the 64-bit destination address (0 "
93 "to 0xFFFFFFFF, default is 0x0000FFFF).";
96 static const char PROGMEM atcmd8_name[] = "DD";
97 static const char PROGMEM atcmd8_desc[] = "device-type-id";
98 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
99 static const char PROGMEM atcmd8_help[] =
100 "Device Type Identifier, it can be used to differentiate "
101 "multiple XBee-based products (0 to 0xFFFFFFFF, read-only, "
102 "default is 0x40000).";
105 static const char PROGMEM atcmd9_name[] = "SH";
106 static const char PROGMEM atcmd9_desc[] = "src-addr-high";
107 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
108 static const char PROGMEM atcmd9_help[] =
109 "Upper 32 bits of the 64-bit source address (read-only).";
112 static const char PROGMEM atcmd10_name[] = "SL";
113 static const char PROGMEM atcmd10_desc[] = "src-addr-low";
114 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
115 static const char PROGMEM atcmd10_help[] =
116 "Lower 32 bits of the 64-bit source address (read-only).";
119 static const char PROGMEM atcmd11_name[] = "SE";
120 static const char PROGMEM atcmd11_desc[] = "src-endpoint";
121 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
122 static const char PROGMEM atcmd11_help[] =
123 "The application source endpoint for all data transmissions "
124 "(0 to 0xFF, default is 0xE8).";
127 static const char PROGMEM atcmd12_name[] = "DE";
128 static const char PROGMEM atcmd12_desc[] = "dst-endpoint";
129 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
130 static const char PROGMEM atcmd12_help[] =
131 "The application destination endpoint for all data "
132 "transmissions (0 to 0xFF, default is 0xE8).";
135 static const char PROGMEM atcmd13_name[] = "CI";
136 static const char PROGMEM atcmd13_desc[] = "cluster-id";
137 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
138 static const char PROGMEM atcmd13_help[] =
139 "Cluster Identifier for all data transmissions (0 to 0xFFFF, "
143 static const char PROGMEM atcmd14_name[] = "NP";
144 static const char PROGMEM atcmd14_desc[] = "max-rf-payload";
145 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
146 static const char PROGMEM atcmd14_help[] =
147 "Maximum RF Payload Bytes that can be sent in a unicast "
148 "transmission based on the current configuration (0 to "
152 static const char PROGMEM atcmd15_name[] = "CE";
153 static const char PROGMEM atcmd15_desc[] = "coord-end-device";
154 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
155 static const char PROGMEM atcmd15_help[] =
156 "Coordinator/End Device, messaging mode of the module "
157 "(0 - Normal, 1 - Indirect coordinator, 2 - Polling, default "
161 static const char PROGMEM atcmd16_name[] = "AP";
162 static const char PROGMEM atcmd16_desc[] = "api-mode";
163 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
164 static const char PROGMEM atcmd16_help[] =
165 "API mode (0 - off, 1 - on, 2 - on with escape sequences).";
168 static const char PROGMEM atcmd17_name[] = "AO";
169 static const char PROGMEM atcmd17_desc[] = "api-output-format";
170 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
171 static const char PROGMEM atcmd17_help[] =
172 "API Output Format (0 - standard [0x90 for RX], 1 - explicit "
173 "addressing [0x91 for RX]).";
176 static const char PROGMEM atcmd18_name[] = "BD";
177 static const char PROGMEM atcmd18_desc[] = "baud-rate";
178 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
179 static const char PROGMEM atcmd18_help[] =
180 "Baud rate of serial interface (0-8 select preset standard "
181 "rates, and 0x39 to 0x1c9c38 select baud rate).";
184 static const char PROGMEM atcmd19_name[] = "RO";
185 static const char PROGMEM atcmd19_desc[] = "packetization-timeout";
186 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
187 static const char PROGMEM atcmd19_help[] =
188 "Packetization Timeout: the inter-character silence required "
189 "before packetization specified in character times (0 to 0xFF, "
193 static const char PROGMEM atcmd20_name[] = "FT";
194 static const char PROGMEM atcmd20_desc[] = "flow-control-thres";
195 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
196 static const char PROGMEM atcmd20_help[] =
197 "Flow Control Threshhold. De-assert CTS and/or send XOFF when "
198 "FT bytes are in the UART receive buffer. Re-assert CTS when "
199 "less than FT - 16 bytes are in the UART receive buffer (0x11 "
200 "to 0xEE, default is 0xBE).";
203 static const char PROGMEM atcmd21_name[] = "NB";
204 static const char PROGMEM atcmd21_desc[] = "parity";
205 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
206 static const char PROGMEM atcmd21_help[] =
207 "Parity (0 - no parity, 1 - even parity, 2 - odd parity, 3 - "
208 "forced high parity, 4 - forced low parity). Default is 0.";
211 static const char PROGMEM atcmd22_name[] = "D7";
212 static const char PROGMEM atcmd22_desc[] = "dio7";
213 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
214 static const char PROGMEM atcmd22_help[] =
215 "DIO7 Configuration (0 - unmonitored input, 1 - CTS, 3 - "
216 "digital input, 4 - digital output low, 5 - digital output "
217 "high, 6 - RS-485 low Tx, 7 - RS-485 high Tx). Default is "
221 static const char PROGMEM atcmd23_name[] = "D6";
222 static const char PROGMEM atcmd23_desc[] = "dio6";
223 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
224 static const char PROGMEM atcmd23_help[] =
225 "DIO6 Configuration (0 - unmonitored input, 1 - RTS, 3 - "
226 "digital input, 4 - digital output low, 5 - digital output "
227 "high). Default is 0.";
230 static const char PROGMEM atcmd24_name[] = "P0";
231 static const char PROGMEM atcmd24_desc[] = "dio10-pwm0";
232 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
233 static const char PROGMEM atcmd24_help[] =
234 "DIO10/PWM0 Configuration. (0 - unmonitored input, 1 - RSSI, 2 "
235 "- PWM0, 3 - digital input, 4 - digital output low, 5 - "
236 "digital output high). Default is 1.";
239 static const char PROGMEM atcmd25_name[] = "P1";
240 static const char PROGMEM atcmd25_desc[] = "dio11-pwm1";
241 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
242 static const char PROGMEM atcmd25_help[] =
243 "DIO11/PWM1 Configuration. (0 - unmonitored input, 2 "
244 "- PWM1, 3 - digital input, 4 - digital output low, 5 - "
245 "digital output high). Default is 0.";
248 static const char PROGMEM atcmd26_name[] = "P2";
249 static const char PROGMEM atcmd26_desc[] = "dio12";
250 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
251 static const char PROGMEM atcmd26_help[] =
252 "DIO12 Configuration. (0 - unmonitored input, "
253 "3 - digital input, 4 - digital output low, 5 - "
254 "digital output high). Default is 0.";
257 static const char PROGMEM atcmd27_name[] = "RP";
258 static const char PROGMEM atcmd27_desc[] = "rssi-pwm";
259 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
260 static const char PROGMEM atcmd27_help[] =
261 "Time RSSI signal will be output after last transmission. "
262 "When RP[] = 0xFF, output will always be on (0 - 0xFF, default "
263 "is 0x28[] = 4 seconds).";
266 static const char PROGMEM atcmd28_name[] = "1S";
267 static const char PROGMEM atcmd28_desc[] = "sensor-sample";
268 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
269 static const char PROGMEM atcmd28_help[] =
270 "Forces a sample to be taken on an XBee Sensor device.";
273 static const char PROGMEM atcmd29_name[] = "D0";
274 static const char PROGMEM atcmd29_desc[] = "dio0-ad0";
275 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
276 static const char PROGMEM atcmd29_help[] =
277 "AD0/DIO0 Configuration. (0 - unmonitored input, 1 - "
278 "commission button enabled, 2 - analog input, 3 - digital "
279 "input, 4 - digital output low, 5 - digital output high). "
283 static const char PROGMEM atcmd30_name[] = "D1";
284 static const char PROGMEM atcmd30_desc[] = "dio1-ad1";
285 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
286 static const char PROGMEM atcmd30_help[] =
287 "AD1/DIO1 Configuration. (0 - unmonitored input, "
288 "2 - analog input, 3 - digital input, 4 - digital output "
289 "low, 5 - digital output high). Default is 0.";
292 static const char PROGMEM atcmd31_name[] = "D2";
293 static const char PROGMEM atcmd31_desc[] = "dio2-ad2";
294 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
295 static const char PROGMEM atcmd31_help[] =
296 "AD2/DIO2 Configuration. (0 - unmonitored input, "
297 "2 - analog input, 3 - digital input, 4 - digital output "
298 "low, 5 - digital output high). Default is 0.";
301 static const char PROGMEM atcmd32_name[] = "D3";
302 static const char PROGMEM atcmd32_desc[] = "dio3-ad3";
303 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
304 static const char PROGMEM atcmd32_help[] =
305 "AD3/DIO3 Configuration. (0 - unmonitored input, "
306 "2 - analog input, 3 - digital input, 4 - digital output "
307 "low, 5 - digital output high). Default is 0.";
310 static const char PROGMEM atcmd33_name[] = "D4";
311 static const char PROGMEM atcmd33_desc[] = "dio4-ad4";
312 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
313 static const char PROGMEM atcmd33_help[] =
314 "AD4/DIO4 Configuration. (0 - unmonitored input, "
315 "2 - analog input, 3 - digital input, 4 - digital output "
316 "low, 5 - digital output high). Default is 0.";
319 static const char PROGMEM atcmd34_name[] = "D5";
320 static const char PROGMEM atcmd34_desc[] = "dio5-ad5";
321 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
322 static const char PROGMEM atcmd34_help[] =
323 "AD4/DIO4 Configuration. (0 - unmonitored input, 1 - LED, "
324 "2 - analog input, 3 - digital input, 4 - digital output "
325 "low, 5 - digital output high). Default is 1.";
328 static const char PROGMEM atcmd35_name[] = "D8";
329 static const char PROGMEM atcmd35_desc[] = "dio8-sleep-rq";
330 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
331 static const char PROGMEM atcmd35_help[] =
332 "DIO8/SLEEP_RQ Configuration. (0 - unmonitored input, 1 - LED, "
333 "2 - analog input, 3 - digital input, 4 - digital output "
334 "low, 5 - digital output high). Default is 0. When used as "
335 "SLEEP_RQ, the D8 parameter should be configured in mode 0 "
339 static const char PROGMEM atcmd36_name[] = "D9";
340 static const char PROGMEM atcmd36_desc[] = "dio9-on-sleep";
341 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
342 static const char PROGMEM atcmd36_help[] =
343 "DIO9/ON_SLEEP Configuration. (0 - unmonitored input, 1 - "
344 "ON/SLEEP, 2 - analog input, 3 - digital input, 4 - digital "
345 "output low, 5 - digital output high). Default is ?.";
348 static const char PROGMEM atcmd37_name[] = "PR";
349 static const char PROGMEM atcmd37_desc[] = "pull-up-resistor";
350 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
351 static const char PROGMEM atcmd37_help[] =
352 "Pull-up Resistor. Bit field that configures the internal "
353 "pull-up resistors for the I/O lines (bit set = pull-up "
354 "enabled). Range is from 0 to 0x1FFF, default is 0x1FFF.";
357 static const char PROGMEM atcmd38_name[] = "M0";
358 static const char PROGMEM atcmd38_desc[] = "pwm0-out-level";
359 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
360 static const char PROGMEM atcmd38_help[] =
361 "PWM0 Output Level. The line should be configured as a PWM "
362 "output using the P0 command (0 to 0x3FF, default is 0).";
365 static const char PROGMEM atcmd39_name[] = "M1";
366 static const char PROGMEM atcmd39_desc[] = "pwm1-out-level";
367 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
368 static const char PROGMEM atcmd39_help[] =
369 "PWM1 Output Level. The line should be configured as a PWM "
370 "output using the P1 command (0 to 0x3FF, default is 0).";
373 static const char PROGMEM atcmd40_name[] = "LT";
374 static const char PROGMEM atcmd40_desc[] = "led-blink-time";
375 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
376 static const char PROGMEM atcmd40_help[] =
377 "Associate LED Blink Time (should be enabled through D5 ";
380 static const char PROGMEM atcmd41_name[] = "IS";
381 static const char PROGMEM atcmd41_desc[] = "force-sample";
382 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
383 static const char PROGMEM atcmd41_help[] =
384 "Forces a read of all enabled digital and "
385 "analog input lines.";
388 static const char PROGMEM atcmd42_name[] = "IC";
389 static const char PROGMEM atcmd42_desc[] = "digital-change-detect";
390 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
391 static const char PROGMEM atcmd42_help[] =
392 "I/O Digital Change Detection. If a pin is enabled as a "
393 "digital input/output, the IC command can be used to "
394 "force an immediate I/O sample transmission when the DIO "
395 "state changes. IC is a bitmask, range is 0 to 0xFFFF, "
399 static const char PROGMEM atcmd43_name[] = "IR";
400 static const char PROGMEM atcmd43_desc[] = "io-sample-rate";
401 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
402 static const char PROGMEM atcmd43_help[] =
403 "IO Sample Rate for periodic sampling. If zero, periodic "
404 "sampling is disabled. Else the value is in milliseconds "
405 "(range 0 to 0xFFFF, default is 0).";
408 static const char PROGMEM atcmd44_name[] = "CB";
409 static const char PROGMEM atcmd44_desc[] = "comissioning-button";
410 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
411 static const char PROGMEM atcmd44_help[] =
412 "Commissioning Pushbutton, simulate commissioning button "
413 "in software. The parameter value should be set to the number "
414 "of button presses to be simulated (range is 0 to 4).";
417 static const char PROGMEM atcmd45_name[] = "VR";
418 static const char PROGMEM atcmd45_desc[] = "firmware-version";
419 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
420 static const char PROGMEM atcmd45_help[] =
421 "Firmware version of the module (read only).";
424 static const char PROGMEM atcmd46_name[] = "HV";
425 static const char PROGMEM atcmd46_desc[] = "hardware-version";
426 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
427 static const char PROGMEM atcmd46_help[] =
428 "Hardware version of the module (read only).";
431 static const char PROGMEM atcmd47_name[] = "CK";
432 static const char PROGMEM atcmd47_desc[] = "config-code";
433 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
434 static const char PROGMEM atcmd47_help[] =
435 "Configuration Code, that can be used as a quick "
436 "check to determine if a node has been configured as "
437 "desired (read-only, 0-0xFFFFFFFF).";
440 static const char PROGMEM atcmd48_name[] = "ER";
441 static const char PROGMEM atcmd48_desc[] = "rf-errors";
442 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
443 static const char PROGMEM atcmd48_help[] =
444 "Number of times a packet was received which contained errors "
445 "of some sort. Read-only, saturate at 0xFFFF.";
448 static const char PROGMEM atcmd49_name[] = "GD";
449 static const char PROGMEM atcmd49_desc[] = "good-packets";
450 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
451 static const char PROGMEM atcmd49_help[] =
452 "Number of good received frames. Read-only, saturate at "
456 static const char PROGMEM atcmd50_name[] = "RP";
457 static const char PROGMEM atcmd50_desc[] = "rssi-pwm-timer";
458 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
459 static const char PROGMEM atcmd50_help[] =
460 "RSSI PWM timer, the time in tenth of seconds that the RSSI "
461 "output indicating signal strength will remain active after "
462 "the last reception (1 to 0xff, default is 0x20 = 3.2 secs).";
465 static const char PROGMEM atcmd51_name[] = "TR";
466 static const char PROGMEM atcmd51_desc[] = "tx-errors";
467 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
468 static const char PROGMEM atcmd51_help[] =
469 "Transmission Errors, the number of MAC frames that "
470 "exhaust MAC retries without ever receiving a MAC "
471 "acknowledgement message. Read-only, saturate at 0xFFFF.";
474 static const char PROGMEM atcmd52_name[] = "TP";
475 static const char PROGMEM atcmd52_desc[] = "temperature";
476 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
477 static const char PROGMEM atcmd52_help[] =
478 "Temperature. Read module temperature in (tenths of ?) "
479 "Celsius. Negatives temperatures can be returned (read-only, "
480 "from 0xff74 [-140] to 0x0258 [600]).";
483 static const char PROGMEM atcmd53_name[] = "DB";
484 static const char PROGMEM atcmd53_desc[] = "rx-signal-strength";
485 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
486 static const char PROGMEM atcmd53_help[] =
487 "Received Signal Strength of the last received RF data "
488 "packet measured in -dBm. For example if DB returns 0x60, "
489 "then the RSSI of the last packet received was -96dBm "
493 static const char PROGMEM atcmd54_name[] = "DC";
494 static const char PROGMEM atcmd54_desc[] = "duty-cycle";
495 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
496 static const char PROGMEM atcmd54_help[] =
497 "Duty Cycle. Returns a current usage percentage of the "
498 "10% duty cycle measured over the period of 1 hour "
499 "(read-only, from 0 to 0x64).";
502 static const char PROGMEM atcmd55_name[] = "RC";
503 static const char PROGMEM atcmd55_desc[] = "rssi-for-channel";
504 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
505 static const char PROGMEM atcmd55_help[] =
506 "Reads the dBm level (RSSI) of the designated "
510 static const char PROGMEM atcmd56_name[] = "R#";
511 static const char PROGMEM atcmd56_desc[] = "reset-number";
512 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
513 static const char PROGMEM atcmd56_help[] =
514 "Tells the reason for the last module reset (0 - Power up "
515 "reset, 2 - Watchdog reset, 3 - Software reset, 4 - Reset "
516 "line reset, 5 - Brownout reset). Read-only.";
519 static const char PROGMEM atcmd57_name[] = "TA";
520 static const char PROGMEM atcmd57_desc[] = "tx-ack-errors";
521 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
522 static const char PROGMEM atcmd57_help[] =
523 "Transmit Acknowlegement Errors. Incremented once for "
524 "each failed ack retry (read-only, from 0 to 0xFFFF).";
527 static const char PROGMEM atcmd58_name[] = "%V";
528 static const char PROGMEM atcmd58_desc[] = "supply-voltage";
529 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
530 static const char PROGMEM atcmd58_help[] =
531 "Voltage on the Vcc pin in mV (read-only, from 0 to 0xF00).";
534 static const char PROGMEM atcmd59_name[] = "CT";
535 static const char PROGMEM atcmd59_desc[] = "cmd-mode-timeout";
536 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
537 static const char PROGMEM atcmd59_help[] =
538 "Command Mode Timeout: the period of inactivity (no valid "
539 "commands received) after which the RF module automatically "
540 "exits AT Command Mode and returns to Idle Mode (2 to 0x1770, "
544 static const char PROGMEM atcmd60_name[] = "CN";
545 static const char PROGMEM atcmd60_desc[] = "exit-cmd-mode";
546 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
547 static const char PROGMEM atcmd60_help[] =
548 "Exit Command Mode.";
551 static const char PROGMEM atcmd61_name[] = "GT";
552 static const char PROGMEM atcmd61_desc[] = "guard-times";
553 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
554 static const char PROGMEM atcmd61_help[] =
555 "Guard Times: period of silence in ms before and after the "
556 "Command Sequence Characters of the AT Command Mode Sequence, "
557 "used to prevent inadvertent entrance into AT Command Mode "
558 "(0 to 0xFFFF, default is 0x3E8).";
561 static const char PROGMEM atcmd62_name[] = "CC";
562 static const char PROGMEM atcmd62_desc[] = "command-chars";
563 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
564 static const char PROGMEM atcmd62_help[] =
565 "Command Character used between guard times of the AT Command "
566 "Mode Sequence (0 to 0xFF, default is 0x2B).";
569 static const char PROGMEM atcmd63_name[] = "ID";
570 static const char PROGMEM atcmd63_desc[] = "network-id";
571 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
572 static const char PROGMEM atcmd63_help[] =
573 "Network ID. Nodes must have the same network identifier "
574 "to communicate (0 to 0x7FFF, default is 0x7FFF).";
577 static const char PROGMEM atcmd64_name[] = "NT";
578 static const char PROGMEM atcmd64_desc[] = "ndisc-timeout";
579 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
580 static const char PROGMEM atcmd64_help[] =
581 "Node Discover Timeout, time in tenth of secs a node will "
582 "spend discovering other nodes when ND or DN is issued (0 "
583 "to 0xFC, default is 0x82).";
586 static const char PROGMEM atcmd65_name[] = "NI";
587 static const char PROGMEM atcmd65_desc[] = "node-id";
588 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
589 static const char PROGMEM atcmd65_help[] =
590 "Node Identifier in printable ASCII characters. This string is "
591 "returned as part of the ATND (Network Discover) command. This "
592 "identifier is also used with the ATDN (Destination Node) "
593 "command. The string contains up to 20 byte ASCII string, "
594 "default is a space character.";
597 static const char PROGMEM atcmd66_name[] = "DN";
598 static const char PROGMEM atcmd66_desc[] = "disc-node";
599 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
600 static const char PROGMEM atcmd66_help[] = /* XXX */
601 "Resolves a Node Identifier string to a physical address "
602 "(case sensitive). 0xFFFE and the 64bits extended address are "
606 static const char PROGMEM atcmd67_name[] = "ND";
607 static const char PROGMEM atcmd67_desc[] = "network-discover";
608 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
609 static const char PROGMEM atcmd67_help[] = "Network Discovery, see doc"; /* XXX */
612 static const char PROGMEM atcmd68_name[] = "NO";
613 static const char PROGMEM atcmd68_desc[] = "ndisc-options";
614 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
615 static const char PROGMEM atcmd68_help[] =
616 "Network Discovery Options, a bitfield value that changes the "
617 "behavior of the ND command (bit0 - Append DD value, bit1 - "
618 "Local device sends ND response frame when ND is issued). "
622 static const char PROGMEM atcmd69_name[] = "EE";
623 static const char PROGMEM atcmd69_desc[] = "security enable";
624 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
625 static const char PROGMEM atcmd69_help[] =
626 "Enable or disable 128-bit AES encryption (0 or 1, 0 is the "
630 static const char PROGMEM atcmd70_name[] = "KY"; /* XXX */;
631 static const char PROGMEM atcmd70_desc[] = "security-key";
632 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
633 static const char PROGMEM atcmd70_help[] =
634 "The 128bits security key (the command is write-only).";
637 static const char PROGMEM atcmd71_name[] = "MT";
638 static const char PROGMEM atcmd71_desc[] = "bcast-multi-xmit";
639 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
640 static const char PROGMEM atcmd71_help[] =
641 "Number of additional MAC-level broadcast transmissions. All "
642 "broadcast packets are transmitted MT+1 times to ensure "
643 "it is received (0 to 0xF, default is 3).";
646 static const char PROGMEM atcmd72_name[] = "RR";
647 static const char PROGMEM atcmd72_desc[] = "unicast-retries";
648 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
649 static const char PROGMEM atcmd72_help[] =
650 "Number of additional MAC-level packet delivery attempts for "
651 "unicast transactions. If RR is non-zero, packets sent from "
652 "the radio will request an acknowledgement, and can be resent "
653 "up to RR times if no acknowledgement is received. (0 to 0xF, "
657 static const char PROGMEM atcmd73_name[] = "PL";
658 static const char PROGMEM atcmd73_desc[] = "power-level";
659 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
660 static const char PROGMEM atcmd73_help[] =
661 "Power Level of RF transmitter (0 - 1mW, 1 - 23mW, 2 - 100mW, "
662 "3 - 158 mW, 4 - 316 mW). Default is 4.";
665 static const char PROGMEM atcmd74_name[] = "SM";
666 static const char PROGMEM atcmd74_desc[] = "sleep-mode";
667 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
668 static const char PROGMEM atcmd74_help[] =
669 "Sleep Mode (0 - disabled, 1 - pin sleep, 4 - async cyclic "
670 "sleep, 5 - async cyclic sleep with pin wakeup). Default "
674 static const char PROGMEM atcmd75_name[] = "SO";
675 static const char PROGMEM atcmd75_desc[] = "sleep-options";
676 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
677 static const char PROGMEM atcmd75_help[] =
678 "Sleep Options bitmask (bit8 - always wake for ST time). "
682 static const char PROGMEM atcmd76_name[] = "ST";
683 static const char PROGMEM atcmd76_desc[] = "wake-time";
684 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
685 static const char PROGMEM atcmd76_help[] =
686 "Wake Time: the amount of time in ms that the module will stay "
687 "awake after receiving RF or serial data (from 0x45 to "
688 "0x36EE80, default is 0x7D0 = 2 secs).";
691 static const char PROGMEM atcmd77_name[] = "SP";
692 static const char PROGMEM atcmd77_desc[] = "sleep-period";
693 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
694 static const char PROGMEM atcmd77_help[] =
695 "Sleep Period: the amount of time in 10ms unit the module will "
696 "sleep per cycle. For a node operating as an Indirect "
697 "Messaging Coordinator, this command defines the amount of "
698 "time that it will hold an indirect message for an end device. "
699 "The coordinator will hold the message for (2.5 * SP). Range "
700 "is from 1 to 1440000, default is 200 (2 secs).";
703 static const char PROGMEM atcmd78_name[] = "SN";
704 static const char PROGMEM atcmd78_desc[] = "num-sleep-periods";
705 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
706 static const char PROGMEM atcmd78_help[] =
707 "Number of Sleep Periods that must elapse between assertions "
708 "of the ON_SLEEP line during the wake time of asynchronous "
709 "cyclic sleep (1 to 0xFFFF, default is 1).";
712 static const char PROGMEM atcmd79_name[] = "WH";
713 static const char PROGMEM atcmd79_desc[] = "wake-host";
714 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
715 static const char PROGMEM atcmd79_help[] = "Wake Host time. If it is set to a non-zero value, it "
716 "specifies the time in ms that the device should allow after "
717 "waking from sleep before sending data out the UART or "
718 "transmitting an I/O sample. If serial characters are "
719 "received, the WH timer is stopped immediately. Range is "
720 "from 0 to 0xFFFF, default is 0.";
723 const struct xbee_atcmd PROGMEM xbee_atcmd_list[] = {
728 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
729 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
737 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
738 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
746 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
747 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
755 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
756 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
764 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
765 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
773 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
774 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
782 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
783 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
791 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
792 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
800 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ,
801 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
809 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ,
810 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
818 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ,
819 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
827 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
828 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
836 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
837 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
845 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
846 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
854 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ,
855 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
863 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
864 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
872 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
873 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
881 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
882 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
890 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
891 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
899 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
900 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
908 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
909 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
917 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
918 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
926 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
927 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
935 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
936 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
944 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
945 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
953 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
954 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
962 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
963 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
971 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
972 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
980 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
981 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
989 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
990 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
998 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
999 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1007 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1008 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1016 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1017 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1025 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1026 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1034 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1035 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1043 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1044 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1052 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1053 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1061 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1062 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1070 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1071 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1079 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1080 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1088 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1089 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1097 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
1098 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1106 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1107 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1115 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1116 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1124 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1125 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1133 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ,
1134 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1142 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ,
1143 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1151 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ,
1152 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1160 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ,
1161 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1169 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ,
1170 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1178 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1179 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1187 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ,
1188 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1196 XBEE_ATCMD_F_PARAM_S16 | XBEE_ATCMD_F_READ,
1197 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1205 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ,
1206 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1214 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ,
1215 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1223 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ,
1224 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1232 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ,
1233 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1241 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ,
1242 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1250 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ,
1251 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1259 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1260 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1268 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
1269 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1277 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1278 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1286 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1287 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1295 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1296 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1304 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1305 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1313 XBEE_ATCMD_F_PARAM_STRING_20B | XBEE_ATCMD_F_READ |
1315 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1323 XBEE_ATCMD_F_PARAM_STRING_20B | XBEE_ATCMD_F_READ |
1325 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1333 XBEE_ATCMD_F_PARAM_NONE | XBEE_ATCMD_F_WRITE,
1334 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1342 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1343 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1351 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1352 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1360 XBEE_ATCMD_F_PARAM_HEXBUF_16B | XBEE_ATCMD_F_WRITE,
1361 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1369 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1370 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1378 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1379 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1387 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1388 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1396 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1397 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1405 XBEE_ATCMD_F_PARAM_U8 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1406 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1414 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1415 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1423 XBEE_ATCMD_F_PARAM_U32 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1424 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1432 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1433 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1441 XBEE_ATCMD_F_PARAM_U16 | XBEE_ATCMD_F_READ | XBEE_ATCMD_F_WRITE,
1442 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1450 #ifdef CONFIG_MODULE_XBEE_ATCMD_HELP
1456 const struct xbee_atcmd *xbee_atcmd_lookup_name(const char *atcmd_str)
1458 const struct xbee_atcmd *cmd;
1459 struct xbee_atcmd copy;
1461 for (cmd = &xbee_atcmd_list[0], memcpy_P(©, cmd, sizeof(copy));
1463 cmd++, memcpy_P(©, cmd, sizeof(copy))) {
1465 if (!strcmp_P(atcmd_str, copy.name))
1469 if (copy.name == NULL) /* not found */
1475 const struct xbee_atcmd *xbee_atcmd_lookup_desc(const char *desc)
1477 const struct xbee_atcmd *cmd;
1478 struct xbee_atcmd copy;
1480 for (cmd = &xbee_atcmd_list[0], memcpy_P(©, cmd, sizeof(copy));
1482 cmd++, memcpy_P(©, cmd, sizeof(copy))) {
1483 if (!strcmp_P(desc, copy.desc))
1486 if (copy.name == NULL) /* not found */