XBee I/O triggering with API frames

Hello!

I have a problem triggering digital output (like DO0) on the remote XBee.

Case 1:
I know I can trigger it like this:

  • setting digital input on the base XBee
  • setting digital output on the remote XBee (DO LOW)
  • and if configured right the input state on the base XBee is transferred to the digital output on remote XBee

I managed to do that, but I would like to trigger it via data packets.

Case 2:
So I tried with setting API packets that set the digital output on the remote XBee. I managed to change the digital output on remote XBee with commands ATD0=4 (DO LOW) ATD0=5 (DO HIGH).

DO LOW API command:
7E 00 10 17 05 00 13 A2 00 40 08 C9 80 00 02 02 44 30 04 21

DO HIGH API command:
7E 00 10 17 05 00 13 A2 00 40 08 C9 80 00 02 02 44 30 05 20

Problem:
But the problem I have is that sometime the communication between the base and remote might be lost. And if the digital output on the remote XBee is set to 3,3V (DO HIGH) and the communication is lost, the digital output would stay at the 3,3V. I want it to “reset” to 0V. In “case 1” when I tried to trigger the digital output with digital input, you can set the reset timer for that digital output (command ATT0) and it did the work (the digital input reset to value 0V), but you can’t use that in the case 2.

Question:
Does anybody know what is the API format of the packet to simulate case 1 - I/O line passing (case 1 data packets)?
Do you have any other ideas how to “reset” the digital output to 0V.

1 Like

When dealing with modifying settings with remote AT commands, you do not have the option to have it automatically change values after a given time frame. The only way to change it is to issue a new AT command. Whether that is via an API frame from another node or with the local UART. That is the only way.

Thx for the info.

I asked, adn was told the T0-T7 timers ONLY work with the I/O passing.

The instant that you manually set the output high/low (4 or 5), the timer is disabled.

To do what you want, you will need either the ‘Programmable Xbee’ which has a second Freescale chip for you, or use an external PIC/Micro.