XBee Coordinator (re)-receiving its own messages

Hi,
I am setting up an XBee wireless network where I need to send messages from the coordinator to a certain destination node (the destination address is known, but I have multiple receivers!).
I am using Andrew Rapp libraries (GitHub - andrewrapp/xbee-arduino: Arduino library for communicating with XBee radios in API mode) and XBee modules working in API mode with AP=2.

The problem is that the coordinator node receives back each message it sends (even if it is the only node in the network).
The destination address is configured correctly before sending the packets.

I think this is due to the DL and DH configuration of the Coordinator node, which currently is broadcast (DL=0xFFFF, DH=0x0000) as it was forced this way by X-CTU.

How could I send unicast messages from the coordinator to a certain node without receiving them back?
Thanks.

I use series 2 xbees and I can set the destination address to anything I want using XCTU. I don't use the libraries since I don't want to hook the xbee to the hardware serial port so I can't help you with a library problem. However, I don't ever receive back what I send, even if I broadcast it. Are you sure you're not receiving the transmit status frame? That comes back to tell you that the message got sent.

In API mode, the destination address (whether broadcast or other) is specified in the Transmit Request frame, I'm not aware that the DH and DL settings even come into play.

draythomp:
I use series 2 xbees and I can set the destination address to anything I want using XCTU. I don't use the libraries since I don't want to hook the xbee to the hardware serial port so I can't help you with a library problem. However, I don't ever receive back what I send, even if I broadcast it. Are you sure you're not receiving the transmit status frame? That comes back to tell you that the message got sent.

With the lastest version of xbee-arduino libraries (available as the latest svn update), you can use a NewSoftSerial object to manage the serial communication, so you can use any digital pin you want! This is what I am doing too, using digital pins 6 and 7 for serial communication with the XBee module.

That would be the behavior I would expect too! Anyway I am still receiving a frame with Type-ID 0x90!

With the lastest version of xbee-arduino libraries (available as the latest svn update),

Sorry, I don't understand, what's a 'svn'?

which currently is broadcast (DL=0xFFFF, DH=0x0000) as it was forced this way by X-CTU.

Forced? You can't change it? Which brings up my next question:

That would be the behavior I would expect too! Anyway I am still receiving a frame with Type-ID 0x90!

Which modem and software are you choosing from the menus in XCTU?

draythomp:

With the lastest version of xbee-arduino libraries (available as the latest svn update),

Sorry, I don't understand, what's a 'svn'?

which currently is broadcast (DL=0xFFFF, DH=0x0000) as it was forced this way by X-CTU.

Forced? You can't change it? Which brings up my next question:

That would be the behavior I would expect too! Anyway I am still receiving a frame with Type-ID 0x90!

Which modem and software are you choosing from the menus in XCTU?

Thanks for your reply.
Svn is a software versioning system (Apache Subversion - Wikipedia).

I can change it, it was forced to 0xFFFF as I tried to set it to 0x0000 (I know this is the coordinator address). I then set it to 0xFFF0.

I am using Coordinator API firmware (currently I cannot access the system, I cannot give a more precise information).

I set mine up for XB24-ZB and the ZIGBEE COORDINATOR API version 2170 and haven't gotten an echo like you're describing. I'll try to figure out how to get the library you're talking about to try. There's a slim possibility of it being a library thing.

I'm not seeing the ability to hook the XBee anywhere but the main serial port. When I prowled down through the version (0.2.1) you cited I found

void XBee::sendByte(uint8_t b, bool escape) {

	if (escape && (b == START_BYTE || b == ESCAPE || b == XON || b == XOFF)) {
//		std::cout << "escaping byte [" << toHexString(b) << "] " << std::endl;
		Serial.print(ESCAPE, BYTE);
		Serial.print(b ^ 0x20, BYTE);
	} else {
		Serial.print(b, BYTE);[/b]
	}
}

That won't even support the multiple usart ports on the mega board. I hate having to remember to unplug the XBee each time I try to download data to the arduino.