Periodic sampling of IO on end devices drops large amounts of data

I have a network of 4 XBee ZB OEM RF modules. One is configured as a coordinator with 2141 firmware, the other three are configured as end device with 2941 firmware. The four devices are separated from each other by about 6-8 feet.

I want to sample 3 analog inputs on each end device at a 10 Hz rate. I am setting up each end device with the DL and DH commands with parameter 0 to return data to the coordinator, and the IR command with parameter 100 to return data every 100 ms (10 Hz). A host computer then queries the coordinator for data from the end notes via its serial port.

This initially appears to work fine. But, after a few minutes of running, I find that data is not received from one or more of the end nodes for many (~8 to > 30) seconds at a time. After the long delay the data starts up again. I understand that with the current shipping version of firmware, end devices cannot be made to not sleep. I see that they do sleep for about .3 seconds every 5 seconds (with default settings for ST, SN, and SP) and I loose some data during those periods and that makes sense. But the reason for the long periods of data loss is unclear.

I did verify that the end devices are not sleeping (by monitoring the On/Sleep pin) during the periods of long data loss.

I verified that a single end device talking to a coordinator does not show long periods of data loss. Two end devices does show the problem. Increasing the period of sampling to 500 with two end devices does not appear to show the problem.

Analysis of the amount of data being sent suggests only about 11k bits per second, so I don’t think that I am saturating the RF bandwidth.

Any suggestions on what I can look at?

Edit - I reproduced the problem with 2 end devices and sample period set to 500.

Message was edited by: amann

I use to have the same problem with my xbee. The connection is the same (with no cts) and I operate in AT mode. The problem is that I set XBEE in multicast mode (DH=0, DL=FFFF for both Xbee). It did sent data between the two but there is delay and as though the data being buffered.

My solution is to set XBEE in unicast mode ( DH & DL of the first XBEE is the SH & SL of the other XBEE and vice versa). The data came out as expected and there was no delay.

Hope this will help.

What sleep options are set?

In the 2141 version of the protocol there where a lot of problems regarding this. The 8 to 20 secs penalty you find may well be coming from the discovery overhead.
Far better to use the 2161 stack for this type of problems. Note that the sleep timings set in the coord. must larger than de max. sleep time defined for in each endpoint.

Kris Demets

@ aman
So what exactly your settings?
please attach your settings
on modem configuration tab click save and attach your settings here.
you may also want to update your firmware.

I only see version 2x41 as the latest on the Digi firmware web page. Is 2x61 released? Does it really have bug fixes?

2x6x is not released yet.