Hi all.
I need some help on joining process.
I would like to read my end devices IEEE address meanwhile I´m getting some trouble to find/use the Binding table.
How my coordinator can be informed every time that a device has joined the network?
Before the device has joined the network is it possible to ask my coordinator if it want it?
How can I access the biding table?
Best regards.
Marconi.
When a device joins zigbee network, there is end node announcement and you can add the following codes in ZDApp_InMsgCB() of ZDApp.c to get IEEE address and short address of a new-joined device.
ZDO_DeviceAnnce_t devAnnce;
if ( inMsg->clusterID == Device_annce ) { ZDO_ParseDeviceAnnce( inMsg, &devAnnce ); }
When a device joins the network, it is impossible to ask coordinator if it wants it. The only way is that coordinator use NLME_LeaveReq() to ask the device to leave after it joins the network.
For access the binding table, you can have a look at BindingTable.h.
Regards!
YK Chen
Hi YK Chen,
Thaks for all your replies.
You've been very helpful.
Meanwhile I would like to clarify some doubts:
Where is the node annoucement that you had mentioned?
My coordinator never reaches the ZDApp_InMsgCB() function.
Your ideia is to send a message to ZDApp_InMsgCB() with a clusterID=Device_annce?
If so, where must I call this function?
For me the function ZDSecMgrNewDeviceEvent() deals with a new device as we can see on the code bellow:
....
// process new device status = ZDSecMgrDeviceNew( &device );
Is there another place that the device annoucement is done?
Concerning the biding table, I didn´t arrive to manage it. It has never been writen.
How use it? Must I set any DEFINE?
Up to now I´ve found the AssociatedDevList[] that I can see the devices joined to my network.
But there is a problem: When I turn OFF a device it still remains on AssociatedDevList[]. How to remove the device from this list?
What´s the difference between "BindingTable", "AssociatedDevList", "rtgTable" (Routing Table), "neighborTable".
The only one that I can see something is AssociatedDevList[].
Br,
Marconi,
see the following wiki page:
http://processors.wiki.ti.com/index.php/Z-Stack_FAQ#How_to_get_the_address_of_new_devices_joining_the_network
Regards,
Leo Hendrawan