For getting RSSI value from xbee
Dependents: XBeeGetRSSISampleProgram Xbee_s2_RX_versao2
XBeeGetRssi.cpp@2:befae843036e, 2013-08-17 (annotated)
- 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?
User | Revision | Line number | New 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 | }*/ |