Displaying the received data to the serial monitor


i'm using xbee explorer sparkfun connected the
computer our transmitter. , receiver, have another
xbee (xbee pro series 1) , shield hooked arduino mega.

i'm trying transmitted packet displayed on arduino
serial monitor after gets received receiver. i'm using series1_rx code andrew rapp, i've added following print commands in respective rx_16 , rx_64 function statements.

code: [select]
serial.println(rx16.getdata());
code: [select]
serial.println(rx64.getdata());

in order print directly serial monitor. when compile code, following error: "error: call of overloaded 'println(uint8_t*)' ambiguous".

please how can fix this?

the full code is:
code: [select]

#include <xbee.h>

xbee xbee = xbee();
xbeeresponse response = xbeeresponse();
// create reusable response objects responses expect handle
rx16response rx16 = rx16response();
rx64response rx64 = rx64response();

int statusled = 11;
int errorled = 12;
int dataled = 10;

uint8_t option = 0;
uint8_t data = 0;

void flashled(int pin, int times, int wait) {
   
   for (int = 0; < times; i++) {
     digitalwrite(pin, high);
     delay(wait);
     digitalwrite(pin, low);
     
     if (i + 1 < times) {
       delay(wait);
     }
   }
}

void setup() {
 pinmode(statusled, output);
 pinmode(errorled, output);
 pinmode(dataled,  output);
 
 // start serial
 xbee.begin(9600);
 
 flashled(statusled, 3, 50);
}

// continuously reads packets, looking rx16 or rx64
void loop() {
   
   xbee.readpacket();
   
   if (xbee.getresponse().isavailable()) {
     // got something
     
     if (xbee.getresponse().getapiid() == rx_16_response || xbee.getresponse().getapiid() == rx_64_response) {
       // got rx packet
       
       if (xbee.getresponse().getapiid() == rx_16_response) {
               xbee.getresponse().getrx16response(rx16);
             option = rx16.getoption();
             data = rx16.getdata(0);
               //serial.println(rx16.getdata());
       } else {
               xbee.getresponse().getrx64response(rx64);
             option = rx64.getoption();
             data = rx64.getdata(0);
               serial.println(rx64.getdata());
       }
       
       // todo check option, rssi bytes    
       flashled(statusled, 1, 10);
       
       // set dataled pwm value of first byte in data
       analogwrite(dataled, data);
     } else {
           // not expecting
       flashled(errorled, 1, 25);    
     }
   }
}

never mind, got fixed including loop:

code: [select]

for (int i=0; i< rx64.getdatalength(); i++)
               {
                 serial.print(rx64.getdata(i), hex);
               }



Arduino Forum > Forum 2005-2010 (read only) > Software > Syntax & Programs > Displaying the received data to the serial monitor


arduino

Comments

Popular posts from this blog

CAN'T INSTALL MAMBELFISH 1.5 FROM DIRECTORY - Joomla! Forum - community, help and support

error: expected initializer before 'void'

CPU load monitoring using GPIO and leds - Raspberry Pi Forums