For getting RSSI value from xbee

Dependents:   XBeeGetRSSISampleProgram Xbee_s2_RX_versao2

Committer:
ATKINZ117
Date:
Sat Aug 17 03:51:52 2013 +0000
Revision:
2:befae843036e
Parent:
1:8cb27d9eec8e
Child:
3:602329ee6a01
Child:
4:16396d9ec459
20130817ver-1stver

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ATKINZ117 0:d1ff6ea68ab2 1 #include "XBeeGetRssi.h"
ATKINZ117 0:d1ff6ea68ab2 2 #include "mbed.h"
ATKINZ117 0:d1ff6ea68ab2 3 #include <string.h>
ATKINZ117 0:d1ff6ea68ab2 4
ATKINZ117 0:d1ff6ea68ab2 5
ATKINZ117 0:d1ff6ea68ab2 6 XBeeGetRssi::XBeeGetRssi(PinName tx,PinName rx){
ATKINZ117 0:d1ff6ea68ab2 7 _tx=tx;
ATKINZ117 0:d1ff6ea68ab2 8 _rx=rx;
ATKINZ117 0:d1ff6ea68ab2 9 }
ATKINZ117 0:d1ff6ea68ab2 10
ATKINZ117 2:befae843036e 11 int XBeeGetRssi::get(){
ATKINZ117 1:8cb27d9eec8e 12 //int message_counter=0;
ATKINZ117 2:befae843036e 13 //int rssi_counter=0;
ATKINZ117 0:d1ff6ea68ab2 14 Serial pc(USBTX,USBRX); //for debugging.
ATKINZ117 0:d1ff6ea68ab2 15 Serial _MyXbee(_tx,_rx);
ATKINZ117 0:d1ff6ea68ab2 16
ATKINZ117 2:befae843036e 17 _rssi=0; //initial value
ATKINZ117 2:befae843036e 18
ATKINZ117 1:8cb27d9eec8e 19
ATKINZ117 2:befae843036e 20 pc.printf("At the first of xbee class.\r\n");
ATKINZ117 2:befae843036e 21 _MyXbee.putc('T');
ATKINZ117 2:befae843036e 22 if(_MyXbee.readable()){
ATKINZ117 2:befae843036e 23 _MyXbee.getc();
ATKINZ117 2:befae843036e 24 }else{
ATKINZ117 2:befae843036e 25 pc.printf("couldn't get return message.");
ATKINZ117 2:befae843036e 26 }
ATKINZ117 2:befae843036e 27 wait(1.0);
ATKINZ117 1:8cb27d9eec8e 28 _MyXbee.printf("+++"); //entering AT command mode.
ATKINZ117 1:8cb27d9eec8e 29 pc.printf("sent +++\r\n");
ATKINZ117 2:befae843036e 30 wait(1.0);
ATKINZ117 2:befae843036e 31 //while(_rssi[rssi_counter]!='\0'){
ATKINZ117 1:8cb27d9eec8e 32 if(_MyXbee.readable()){
ATKINZ117 2:befae843036e 33 _MyXbee.printf("ATDB\r"); //quering rssi value
ATKINZ117 2:befae843036e 34 _rssi=_MyXbee.getc();
ATKINZ117 2:befae843036e 35 //rssi_counter++;
ATKINZ117 2:befae843036e 36 pc.printf("sent ATDB!\r\n");
ATKINZ117 1:8cb27d9eec8e 37 }else{
ATKINZ117 1:8cb27d9eec8e 38 pc.printf("couldn't read.\r\n");
ATKINZ117 2:befae843036e 39 //_MyXbee.printf("+++");
ATKINZ117 2:befae843036e 40 //wait(1.0);
ATKINZ117 2:befae843036e 41 //pc.printf("+++ again.\r\n");
ATKINZ117 0:d1ff6ea68ab2 42 }
ATKINZ117 2:befae843036e 43 //}_rssi[rssi_counter]='\0'; //contain rssi value to _rssi[]
ATKINZ117 2:befae843036e 44 pc.printf("Here is class end!\r\n");
ATKINZ117 2:befae843036e 45 _MyXbee.printf("ATCN\r");
ATKINZ117 1:8cb27d9eec8e 46
ATKINZ117 1:8cb27d9eec8e 47 return _rssi;
ATKINZ117 1:8cb27d9eec8e 48
ATKINZ117 0:d1ff6ea68ab2 49 }
ATKINZ117 0:d1ff6ea68ab2 50
ATKINZ117 1:8cb27d9eec8e 51 /*void XBeeGetRssi::_rssiGetter(){
ATKINZ117 0:d1ff6ea68ab2 52 int message_counter=0;
ATKINZ117 0:d1ff6ea68ab2 53 int rssi_counter=0;
ATKINZ117 0:d1ff6ea68ab2 54 Serial pc(USBTX,USBRX);
ATKINZ117 0:d1ff6ea68ab2 55 Serial _MyXbee(_tx,_rx);
ATKINZ117 0:d1ff6ea68ab2 56
ATKINZ117 0:d1ff6ea68ab2 57 pc.printf("got some message from xbee.\r\n");
ATKINZ117 0:d1ff6ea68ab2 58 while(_xbee_message[message_counter]!='\0'){
ATKINZ117 0:d1ff6ea68ab2 59 _xbee_message[message_counter]=_MyXbee.getc();
ATKINZ117 0:d1ff6ea68ab2 60 message_counter++;
ATKINZ117 0:d1ff6ea68ab2 61 }_xbee_message[message_counter]='\0'; //get the message from xbee.
ATKINZ117 1:8cb27d9eec8e 62 pc.printf("contained some message.\r\n");
ATKINZ117 0:d1ff6ea68ab2 63 pc.printf(_xbee_message);
ATKINZ117 0:d1ff6ea68ab2 64
ATKINZ117 0:d1ff6ea68ab2 65 if(strcmp(_xbee_message,"OK\r\n")==0){
ATKINZ117 0:d1ff6ea68ab2 66 _MyXbee.printf("ATDB\r\n"); //quering rssi value
ATKINZ117 0:d1ff6ea68ab2 67 while(_rssi[rssi_counter]!='\0'){
ATKINZ117 0:d1ff6ea68ab2 68 _rssi[rssi_counter]=_MyXbee.getc();
ATKINZ117 0:d1ff6ea68ab2 69 rssi_counter++;
ATKINZ117 0:d1ff6ea68ab2 70 pc.printf("I'm in the while loop!\r\n");
ATKINZ117 0:d1ff6ea68ab2 71 }_rssi[rssi_counter]='\0'; //contain rssi value to _rssi[]
ATKINZ117 0:d1ff6ea68ab2 72 pc.printf("Ended!\r\n");
ATKINZ117 0:d1ff6ea68ab2 73 _MyXbee.printf("ATCN\r\n");
ATKINZ117 0:d1ff6ea68ab2 74 }else{
ATKINZ117 0:d1ff6ea68ab2 75 pc.printf("There were some error.\r\n");
ATKINZ117 0:d1ff6ea68ab2 76 }
ATKINZ117 0:d1ff6ea68ab2 77
ATKINZ117 1:8cb27d9eec8e 78 }*/