For getting RSSI value from xbee
Dependents: XBeeGetRSSISampleProgram Xbee_s2_RX_versao2
XBeeGetRssi.cpp
- Committer:
- ATKINZ117
- Date:
- 2013-08-16
- Revision:
- 1:8cb27d9eec8e
- Parent:
- 0:d1ff6ea68ab2
- Child:
- 2:befae843036e
File content as of revision 1:8cb27d9eec8e:
#include "XBeeGetRssi.h" #include "mbed.h" #include <string.h> XBeeGetRssi::XBeeGetRssi(PinName tx,PinName rx){ _tx=tx; _rx=rx; } char* XBeeGetRssi::get(){ //int message_counter=0; int rssi_counter=0; Serial pc(USBTX,USBRX); //for debugging. Serial _MyXbee(_tx,_rx); _rssi[0]='a'; pc.printf("At first.\r\n"); _MyXbee.printf("+++"); //entering AT command mode. pc.printf("sent +++\r\n"); wait(3.0); while(_rssi[rssi_counter]!='\0'){ if(_MyXbee.readable()){ _MyXbee.printf("ATDB\r\n"); //quering rssi value _rssi[rssi_counter]=_MyXbee.getc(); rssi_counter++; pc.printf("I'm in the while loop!\r\n"); }else{ pc.printf("couldn't read.\r\n"); } }_rssi[rssi_counter]='\0'; //contain rssi value to _rssi[] pc.printf("Ended!\r\n"); _MyXbee.printf("ATCN\r\n"); return _rssi; } /*void XBeeGetRssi::_rssiGetter(){ int message_counter=0; int rssi_counter=0; Serial pc(USBTX,USBRX); Serial _MyXbee(_tx,_rx); pc.printf("got some message from xbee.\r\n"); while(_xbee_message[message_counter]!='\0'){ _xbee_message[message_counter]=_MyXbee.getc(); message_counter++; }_xbee_message[message_counter]='\0'; //get the message from xbee. pc.printf("contained some message.\r\n"); pc.printf(_xbee_message); if(strcmp(_xbee_message,"OK\r\n")==0){ _MyXbee.printf("ATDB\r\n"); //quering rssi value while(_rssi[rssi_counter]!='\0'){ _rssi[rssi_counter]=_MyXbee.getc(); rssi_counter++; pc.printf("I'm in the while loop!\r\n"); }_rssi[rssi_counter]='\0'; //contain rssi value to _rssi[] pc.printf("Ended!\r\n"); _MyXbee.printf("ATCN\r\n"); }else{ pc.printf("There were some error.\r\n"); } }*/