Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed XBee mbed-rtos
examples/xbee_at_command.cpp
- Committer:
- yamaguch
- Date:
- 2013-03-21
- Revision:
- 14:50ee389d681f
- Parent:
- 11:25a790b8feb0
File content as of revision 14:50ee389d681f:
#include "XBee.h" void xbee_at_command() { XBee xbee(p9, p10); xbee.baud(115200); xbee.init(); while (true) { printf("Enter AT command or q (quit) => "); char command[32], param[32] = {}; int length = 0; scanf("%s", command); if (command[0] == 'q') break; if (command[2]) { if ((command[0] == 'N' && command[1] == 'I') || (command[0] == 'N' && command[1] == 'D') || (command[0] == 'D' && command[1] == 'N')) { while ((param[length] = command[length + 2]) != 0) length++; } else { if (command[2] == '0' && (command[3] == 'x' || command[3] == 'X')) { length = strlen(&command[4]); if (length <= 2) { length = 1; sscanf(&command[4], "%hhX", (char *) param); } else if (length <= 4) { length = 2; unsigned short us; sscanf(&command[4], "%hX", &us); param[1] = (us >> 0) & 0xFF; param[0] = (us >> 8) & 0xFF; } else if (length <= 8) { length = 4; unsigned long ul; sscanf(&command[4], "%X", &ul); param[3] = (ul >> 0) & 0xFF; param[2] = (ul >> 8) & 0xFF; param[1] = (ul >> 16) & 0xFF; param[0] = (ul >> 24) & 0xFF; } else { length = 8; unsigned long long ull; sscanf(&command[4], "%llX", &ull); param[7] = (ull >> 0) & 0xFF; param[6] = (ull >> 8) & 0xFF; param[5] = (ull >> 16) & 0xFF; param[4] = (ull >> 24) & 0xFF; param[3] = (ull >> 32) & 0xFF; param[2] = (ull >> 40) & 0xFF; param[1] = (ull >> 48) & 0xFF; param[0] = (ull >> 56) & 0xFF; } } else { unsigned short us; sscanf(&command[2], "%hd", &us); if (us < 256) { length = 1; param[0] = us; } else { length = 2; param[1] = (us >> 0) & 0xFF; param[0] = (us >> 8) & 0xFF; } } } } command[2] = '\0'; xbee.sendCommand(command, param, length); while (xbee.receive()) xbee.dump(); } printf("done.\n"); }