For getting RSSI value from xbee
Dependents: XBeeGetRSSISampleProgram Xbee_s2_RX_versao2
Diff: XBeeGetRssi.cpp
- Revision:
- 2:befae843036e
- Parent:
- 1:8cb27d9eec8e
- Child:
- 3:602329ee6a01
- Child:
- 4:16396d9ec459
--- a/XBeeGetRssi.cpp Fri Aug 16 06:37:46 2013 +0000 +++ b/XBeeGetRssi.cpp Sat Aug 17 03:51:52 2013 +0000 @@ -8,30 +8,41 @@ _rx=rx; } -char* XBeeGetRssi::get(){ +int XBeeGetRssi::get(){ //int message_counter=0; - int rssi_counter=0; + //int rssi_counter=0; Serial pc(USBTX,USBRX); //for debugging. Serial _MyXbee(_tx,_rx); - _rssi[0]='a'; + _rssi=0; //initial value + - pc.printf("At first.\r\n"); + pc.printf("At the first of xbee class.\r\n"); + _MyXbee.putc('T'); + if(_MyXbee.readable()){ + _MyXbee.getc(); + }else{ + pc.printf("couldn't get return message."); + } + wait(1.0); _MyXbee.printf("+++"); //entering AT command mode. pc.printf("sent +++\r\n"); - wait(3.0); - while(_rssi[rssi_counter]!='\0'){ + wait(1.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"); + _MyXbee.printf("ATDB\r"); //quering rssi value + _rssi=_MyXbee.getc(); + //rssi_counter++; + pc.printf("sent ATDB!\r\n"); }else{ pc.printf("couldn't read.\r\n"); + //_MyXbee.printf("+++"); + //wait(1.0); + //pc.printf("+++ again.\r\n"); } - }_rssi[rssi_counter]='\0'; //contain rssi value to _rssi[] - pc.printf("Ended!\r\n"); - _MyXbee.printf("ATCN\r\n"); + //}_rssi[rssi_counter]='\0'; //contain rssi value to _rssi[] + pc.printf("Here is class end!\r\n"); + _MyXbee.printf("ATCN\r"); return _rssi;