How to use ZDO Routing Table Request(cluster ID:0x0032)

How to use ZDO Routing Table Request(cluster ID:0x0032)

I’m trying to use ZDO Routing Table Request
( Cluster ID : 0032 )

I’m using two xbee now.
one is cordinator API and the other is router API

I add the API frame in the cordinator xbee

this is the configuration of the frame

7E 00 16 11 01 00 13 A2 00 40 E2 D6 99 FF FE 00 00 00 32 00 00 00
00 01 00 77


Start delimiter : 7E
Length : 00 16
Frame type : 11
Frame ID : 01
64bit dest address : 00 13 A2 00 40 E2 D6 99
16bit dest address : FF Fe
Source enpoint : 00
Dest endpoint : 00
Cluster ID : 00 32
Profile ID : 00 00
Broadcast radius : 00
Options : 00
Data pay load : 01 00
CheckSum : 77


next i send the frame and received “Explicit RX Indicator”
this is the RF data of “Explicit RX Indicator”.

F3 00 28 1E 0A 00 00 03 00 00 00 00 03 00 00 00 00 03 00 00 00 00
03 00 00 00 00 03 00 00 00 00 03 00 00 00 00 03 00 00 00 00 03 00
00 00 00 03 00 00 00 00 03 00 00

But i think its a wrong result.

I set up it same way as LQI Request ( Cluster ID : 0031 )
and just changed cluster ID 0031 to 0032.

My frame setting is not correct?

What Routing table request function are you referring to? What exactly is it you are trying to find out?

The response payload looks mostly correct. There is only one field that I’m a little confused by.

0xF3 - ZDO Sequence number
0x00 - Status (SUCCESS!)
0x28 - Length of the overall routing table (40 entries)
0x1E - Index into routing table for this command (30)
0x01 - Number of routing table entries for this command (10)

Thereafter you have ten entries of the form

0x0000 - dest address
0x03 - INACTIVE
0x0000 - next hop address

So each of the returned entries are just indicating inactive table entries.

The only odd part is that you were requesting from index 0 in your copied command and got back index 30.

Are you sure you sent the command in your question? This looks correct if you have some software that is iterating through by 10 and this is the last response. If you really were asking for entry 0 (triple-check) this might actually be a bug since its returning from the wrong index into the table.