Can the coordinator use IC DIO Change Detect Mode to detect it's own IO pin change?

I have the three XBee Series 2C modules configured as DigiMesh 2.4 TH. One is a coordinator, (Indirect Msg Coordinator[1] , API Mode Without Escapes. The other 2 are Standard Routers[0] and Transparent Mode[0]. All have DH set to 0000 and DL set to FFFF. I’m using an Arduino type device to communicate with the coordinator over the rx/tx lines. I am able to get IO and A/D data from the routers using either IS, IR or IC Remote AT Command Requests [17]. I have tried the same with the coordinator setting the IR and IC values with no luck using both AT Commands [08] and Remote AT Command Requests [17]. The IS command works using the AT Command only. If I try to use the Remote AT Command, I get one correct response but no more after that. I have to power cycle the XBee to get it to work again.

My main question is can I use the coordinator in IC mode to send a response to the Arduino in response to an IO pin change or the IR mode to continuously send samples? So far I have written all my own code and have not tried any canned libraries.


No, you will not. It is not designed to work that way.

Jimmy, a node can only transmit IO API frame to destination remote node whenever DIO change is detected.

I would suggest you to periodically send IS command to local node (Coordinator) to detect any change on DIO pin.

Thanks for the response. I’ll figure out a work-around. It would be a nice feature if the coordinator (local node) could respond to an IO pin change.

Thanks for your response. Do you know if any of the XBee device support the local node being able to detect an IO pin change? My work-around has been to use the Arduino type device (that is communicating with the local node) ability to interrupt on an IO pin rising/falling change.

IC (DIO Change Detect)
This command applies to the XBee/XBee-PRO S2C DigiMesh 2.4.

Set or read the digital I/O pins to monitor for changes in the I/O state.

IC works with the individual pin configuration commands (D0 - D9, P0 - P2). If you enable a pin as a digital I/O, use the IC command to force an immediate I/O sample transmission when the DIO state changes. If sleep is enabled, the edge transition must occur during a wake period to trigger a change detect.

The data transmission contains only DIO data.

IC is a bitmask you can use to enable or disable edge detection on individual digital I/O lines. Only DIO0 through DIO12 can be sampled using a Change Detect.

Set unused bits to 0.