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");
    }
    
}*/