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.

CC2652R: Force Local Leave

Part Number: CC2652R


Tool/software:

Hello,

We are running a router application using the SimpleLink CC13x2 26x2 SDK 4.20.01.04 stack.  There are certain conditions where we want to force the router to leave its current network and start scanning on a set of channels for a new network to join.

I am having trouble figuring out the right API we should call to force the router to leave the network.  Just to clarify, I do not need to send a ZDO leave request to the router - I need to call a function in the router's firmware to make it leave the network.  Any suggestions?

  • Hi Damon,

    Essentially I believe you want to erase the prior network information from this node and restart commissioning as if a factory new device.  If this is correct then you should be able to use bdb_setFN from bdb.c before calling the BDB to start commissioning again.  Please let me know if you have any issues with this approach

    Regards,
    Ryan

  • Thank you for the fast reply!  I tried calling bdb_setFN() and bdb_StartCommissioning(BDB_COMMISIONING_NWK_STEERING), but the radio did not leave the network.

    After that, I found the bdb_resetLocalAction() function, and calling that function instead does cause the router to leave the network and come up in a state where it can join again.

  • bdb_resetLocalAction is likely the better solution since it calls bdb_setFN before resetting the device with ZDApp_ResetTimerStart (can also occur through a NLME_LeaveReq silent parameter, in which case a device reset occurs on the NLME_LeaveCnf -> ZDO_LeaveCnf), thus applying factory reset settings after restarting.  Thanks for updating with your findings.

    Regards,
    Ryan