I have a scenario where I have two XBee Pro S2C (each connected to a Teensy 3.2) and I make them communicate with each other.
The scenario I need is for the first XBee (always the same) to send a message of variable length (up to maybe 50 characters, approximately) to the other XBee and have the second XBee respond to the message with a short message (1 character in length).
What I have noticed is that the response from the second XBee can take a pretty long time to be processed by the first XBee. When I send a message that is 40 characters long from the first XBee, the second XBee receives it basically immediately and sends the response right away. On the first XBee, though, the response isn’t processed until ~150ms later. (And by processed I mean “On the Teensy, ‘Serial1.available()’ returns something that isn’t 0”).
I have also noticed that depending on how many times I send the message (I’ve tried sending the message up to 4 times), the processing time for the response increases drastically. When sending the message 4 times, the response would take ~250 ms to be processed.
The XBees use the digimesh 2.4 firmware (newest version).
The XBee have their TO command set to 0x40 (point to multipoint) and I’m using them in transparent mode.
I’ve tried setting the TO command to 0xC0 (digimesh), in which case the messages sent were sent as broadcasts, and the problem was the same.
My question is, is this normal? Is there a way around it? Am I not using the XBees correctly? Would using the XBees in API mode change any of that?
Any information would be really appreciated.