This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2652P: checking zigbee device is really joined on the network

Part Number: CC2652P


Hi Ryan, hope you well!

I need to understand an important problem about checking (from my CC2652P module) wether the device (end device/router) is really joined on the ZigBee network or not.

Some months ago you suggested me to use the following function call:

"You could instead check the zstack_DevState (should be zstack_DevState_DEV_END_DEVICE or zstack_DevState_DEV_ROUTER)
or bdbAttributes.bdbNodeIsOnANetwork (should be TRUE)."

In effects this variable indicates me if the device is somehow been joined on the network, but not the device is really physically joined at the moment!

I’m sure about what I say because turning on a Device where NO coordinator (no router) is active (they are surely turned off) the variable is TRUE anyway

At the moment we got a simple turn around adding the following call:  “sendActiveEndpointRequest(/*dest addr*/0,/*endpoint*/0);”  that returns TRUE whan the Coordinator is reached.

Would this be fine, or do you suggest us a better way?

 

Many Thanks

 

Luigi

  • Hi Luigi,

    Previous thread: https://e2e.ti.com/f/1/t/1212994 

    You can debug ZDO_SyncIndicationCB -> bdb_parentLost to confirm that the device state changes to DEV_NWK_ORPHAN and notify your application accordingly.  A sync loss indication will occur after the ZED's parent does not respond to data requests polls LINK_DOWN_TRIGGER times.  It's reasonable that bdbAttributes.bdbNodeIsOnANetwork will stay TRUE since the device should continue attempting to rejoin the existing network for which it retained NV information.  You could modify bdb.c and zd_app.c if you wished to factory reset the device and allow it to fresh join any open network.  

    Regards,
    Ryan