Ayuda con antenas Xbee

Buenas, estoy intentando conectar dos equipos mediante dos antenas xbee, las antenas se comunican, lo que envío desde un equipo lo recibo en el otro, pero con mucha demora, tarda cerca de 5 segundos. Hay alguna manera de mejorar eso?

Emisor:
Arduino Fio
codigo:

int btnPin=2;
bool boton=false;
int ledPin=4;
void setup()
{
  pinMode(ledPin, OUTPUT);
  pinMode(btnPin, INPUT);
  Serial.begin(9600);
}
void loop()
{
  boton=digitalRead(btnPin);
  digitalWrite(ledPin, boton);
  Serial.print(boton);
  delay(100);
}

Antena:
XBEE 2MW CON ANTENA CHIP - SERIE 2 (ZB)

Parametros:

ID : 1234
DH:0
DL:FFFF

Receptor:
Mega 2560

shield:
XBee shield pro

Antena:
XBEE 2MW CON ANTENA CHIP - SERIE 2 (ZB)

Codigo:

char Serie;
bool salida=false;
int ledPin=53;
void setup()
{
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  if(Serial.available()>0)
  {
    Serie=Serial.read();
    if (Serie=='1') {salida=true;} else {salida=false;}
    digitalWrite(ledPin, salida);
    Serial.print(salida);
   delay (50); 
  }
}

Parametros:
Router
ID : 1234
DH:0
DL:FFFF

Hola.
Nunca he trabajado con xbee, pero entiendo que el Arduino Fio está enviando el estado del botón unas 10 veces por segundo. ¿Has probado a enviar sólo cuando cambie el estado del botón?

Gracias por contestar noter.

Efectivamente el emisor envía datos cada décima de segundo. Enviar solo cambios de estado puede traer sus complicaciones en caso de perdida de alimentación de uno solo de ellos. De todos modos yo creo que el problema tiene que estar o en el receptor, o en algún parámetro de las radios, por que los datos tardan en llegar unos 5 o 6 segundos, y cuando llegan llegan todos por junto, me da la impresión de que la antena "espera" ha hacer un paquete de un tamaño determinado o algo así.

Voy a probar a sacarle el delay o enviar mas cantidad de bytes y si estoy en lo correcto, "hara" los paquetes en menos tiempo. Y si no va creo que se puede enviar "en paralelo" directamente desde la antena

Probablemente sea lo que dices. Normalmente cuando he visto algún código para xbee trabajan con sendpacket o algo así. Tal vez el serial espere a llenar un buffer antes de enviar. ¿Has probado si admite println? Igual lo interpreta como fin de paquete y envía en el momento.

He estudiado un poco mas el manual, y hay un parametro de la antena que le indica si ha de enviar cada caracter segun llega o ha de llenar el buffer, lo puse en la primera opcion, y na de na de na, sigue igual.

Lo que mejor me funciono fue lo de enviar solo los cambios de estado, eso va bien, pero de vez en cuando se pierde algun cambio, asi que no vale. Probe a enviar 100 bytre por junto (99 vacios) para intentar llenar el buffer, con el mismo resultado.
Tambien intente sacar el delay del envio para llenar antes el buffer, con identico reultado,. Con println, igual resultado a exception del codigo de retorno linea a mayores. Lo unico que se me ocurre es usar los pines de la antena sin mediacion del controlador.

Viendo como recibe los datos, me da laimpresion de que o el emisor emite por paquetes, o el receptor pasa los datos por paquetes, hay un timepo de demora y recibe un grupo de datos juntos, y asi constantemente.