#ifdef shell
gcc -o ${0//.c/} $0 -lxbee
exit
}
#endif
/*
libxbee - a C library to aid the use of Digi's Series 1 XBee modules
running in API mode (AP=2).
Copyright (C) 2009 Attie Grande (attie@attie.co.uk)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
/* this sample will politely return any recieved data */
#include
#include
#include
int main(int argc, char *argv[]) {
xbee_con *con;
xbee_pkt *pkt, *rpkt;
/* setup the xbee */
if (xbee_setup("/dev/ttyUSB0",57600) == -1) {
/* oh no... it failed */
printf("xbee_setup() failed...\n");
exit(1);
}
/* setup a connection */
con = xbee_newcon('I',xbee_64bitData, 0x0013A200, 0x40081826);
printf("Waiting...\n");
/* just wait for data, and echo it back! */
while (1) {
/* while there are packets avaliable... */
while ((pkt = xbee_getpacket(con)) != NULL) {
/* print the recieved data */
printf("Rx: %s\n",pkt->data);
/* say thank you */
if (xbee_senddata(con,"thank you for saying '%s'\r\n",pkt->data)) {
printf("xbee_senddata: Error\n");
return 1;
}
/* free the packet */
free(pkt);
}
usleep(100000);
}
/* shouldn't ever get here but... */
return 0;
}