I've a ATmega368, currently working on top of a Arduino Uno, which its final purpose will be to process some sensor information and send it through XBee (configured as a router) to the coordinator.
So, basically I've a arduino, which its Tx pin is connected to the pin 3 on XBee (configured as a ROUTER AT). All information I'm writing through the Serial.println() method is received perfectly on the coordinator in API ZigBee Receive Packet frames (0x90).
Now, considering that the API 0x90 packet is capable to hold 6 bytes of data, I was expecting that if I limited the output on the Arduino also to 6 bytes I would get only 1 frame with the full 6 bytes. But what it happens is that normally I get the full message sent from the arduino, broken into the several frames.
I think is mostly due to the packetization timeliness (set by RO) of data while waiting on the buffer. But considering I'm only sending data every 5 seconds or so, the packetization period always timeouts.
An option could be to configure the XBee as a ROUTER API, and build up the frame myself.