XBee3 802.15.4 only Broadcast package get retries number of packet

I’m using Xbee3 802.15.4 for a token-ring broadcast message net.
I’m using ATRR application-layer retries sets to 4 (so 6 retries).
MM (MAC MODE) is set to 0 (Digi mode with ACKS).
The ACK is used ONLY to detect in any station when the DIGI finished to send Broadcast packet.

I need to improve the synchronism of time-slot (timings when Sn receive a packet and send its data to other stations).

Would be very useful if in DIGI header the number of retry is noticed.
This could help me to say:

Ah OK I’ve received the 4th retry of 6 so before to talk (if is my turn) I have to wait at least time_to_send_all_retries - (remaining_retries * time_to_a_retry_on_air).

The ON air sent_time is very constant (just some ms of jit) so the improvement will be huge.


S3.DIGI send a packet on air with 6 retries in broadcast.
S4.DIGI received the packet and in some way know what of six retries IS.
S4.DIGI calculate the optimum delay time and send its packet on air with 6 retries in broadcast.

RR is not doing what you thing it is. On Broadcast transmissions, (DH0 DL FFFF) there are no ACK’s. The packet is sent a total of four times in rapid succession.

I know that.

At moment I’m using RR = 4 (so RR + 2 = 6 retries of same packet).

Inspecting with a scope on UART RX/TX of two DIGI modules I can see that when DIGI_A reports the TX Status (at end of the BROADCAST transmission). The DIGI_B usually receives the 1st or 2nd retry of DIGI_A. Sometimes receive the last (very close to DIGI_A TX Status reply).

The possibility to know what DIGI_A packet of six I’ve received could be interesting to best synch the DIGI_B timings to place its Broadcast Packet in the token ring.