indirect messaging don't work

I’ve 2 XBEE_PRO 868, one as CE 1 (Coordinator) , the other as CE 2(Polling Device) and SM 1. Both of them works in API 1-Mode.
The second one sends data to the first one regularly ,no problem. It goes to sleep by SLEEP_RQ in between.
But when I send from the Coordinator, I don’t get any Frame on the polling device. But eventually, after getting some RX-Frames an Tx-Status: INDIRECT_MESSAGE_UNREQUESTED
Any idea?
thanks

You are either not sneding Unicast messages, over flowing the buffer with too many messages or are simply sleeping two long.

thank you for your answer.
I send an unicast to the Endpoint.
One frame ( no overflow, I hope).
And I receive some frames from the endpoint.
Is there a minimum wake time?

Transmit Request
64-bit dest.address: 00 13 A2 00 40 8B 26 BE
Receive Packet
64-bit source address: 00 13 A2 00 40 8B 26 BE
Receive Packet
64-bit source address: 00 13 A2 00 40 8B 26 BE
Receive Packet
64-bit source address: 00 13 A2 00 40 8B 26 BE
Receive Packet
64-bit source address: 00 13 A2 00 40 8B 26 BE
Transmit Status
Delivery status: 75 (Indirect message unrequested)

How often are you sending the data?

The nodes are sending all 5 seconds a ping ( possibly measurements more often sometimes).
SP Sleep time is set to 0x100 on the coordinator.

That is too fast for that product. Reduce it down to once every seven seconds and you will have much better results.

O.K. I know about the 10% limit. But 21 Bytes in 5 seconds should not extend this, shouldn’t it? Is there a warning from the Hardware?
I tested it now with 10 seconds ping -> same result.
Variants: End-Device goes not to sleep -> same result
Coordinator configured as End-Device ,others not
sleeping -> it works fine

thanks for your patience,
Steffen
Configuration “Coordinator”
VID 7FFF
CE 1
SM 0
SN 1
SP 200
ST 7D0
End-Device , same but
CE 2
SM 1
ST C8

No you are not exceeding the streaming limit of 2.1kbps.

Set SM to 4 instead of 1 and then see what happens.

Hello mvut,
I’ve almost bricked my Xbee by writing absurd high numbers to SP…
But to the facts: I programmed both 4 and 5 to SM. Both doesn’t get the
Receive-Packet-Frame.
Do you have an simple example for this use case?
Both program and register contents?
regards,
Steffen

I got it to work using two radios at default settings minus the following

CE 1
PL 0
DL and DH to SL and SH of the other node

Node 2
CE 2
PL 0
DL and DH to SL and SH of the other node
D6 1
SM 4

I was then able to send data back and forth using XCTU version 5286.

Hi,
I was out of office for a while…
Now it works, thanks so much.
But sometimes I get the Transmit Status:
MAC ACK Failure
What exactly does this mean?

That just means that for some reason, at the MAC level, an acknowledgement from the transmission failed. It does not mean that the message was not received, it just means that one of the ACK’s some time during the transmission failed to be received.

Sorry,
but it’s confusing. It doesn’t work.
I set the Sender for tests to CE=2, and if ( and only if ) I sent in the Wakeup time of the receiver, it works.

You mentioned the DL/DH-registers. What is the relation betweeen
DL/DH and the 64-bit Dest.Address in the TX-Frame? Do I have to set
both ( in Sender and Receiver)?

Wow, that was the idea. I have to set the Coordinator Address in the Receiver. Where in the documentation is this described? The “normal” non
sleeping TX/RX works without this setting.

But from where I get the Coordinator Address??? That is my question
now!

Thank you so much
Steffen

That is correct. You set the Coordinator Enabled and the Sleeping device to End device with SM set and SP/ST time set. You also set the DL and DH of the End device to the Sl and SH of the Coordinator. That is if you are using transparent mode on your End device. If you are using API mode, then you do not need to set DL and DH as your API TX request frame includes the destination address.

The Coordinators Address is the SL and SH of the Coordinator. This is all discussed in the AT command section of the manual as well as under the sleeping functions.

Thank you.
For clarity:
Both devices are working in API-Mode.
–cite–
You also set the DL and DH of the End device to the Sl and SH of the Coordinator. That is if you are using transparent mode on your End device.
–cite end –
I understand , that I have not to set DL/DH in End device?!
But at me, it works only, when I set:

  • TX Frame DA
  • End Device: DL/DH = SL/SH of Coordinator

I’ve just tested this again. I wrote SL/SH+1( of C) -> DL/DH (in ED)
and get status 0x75!

In the paragraph Polling DH/DL is mentioned :
When normal data is sent to the destination specified by the DH/DL of an end device module,
that data will also function as a poll.
Is “normal data” every TX Request? Is there a “unnormal data” TX Request

regards
Steffen

Hey,
thank you so much. My application now works.
It’s a bit tricky with the DL/DH, but O.K.
regards
Steffen