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: After using touchlink to restart, the network will not recover?

Part Number: CC2652P
Other Parts Discussed in Thread: SYSCONFIG

hello~

I'm using Zr_ Light demo routine.

1、After using this API:

req.timeoutTime = 0xffffffff;
Zstackapi_bdbTouchLinkTargetEnableCommissioningReq(appServiceTaskId, &req);

touchlink can be used normally, and the network can be recovered after restart.


2、If after scanning the network:

zstack_bdbStartCommissioningReq.commissioning_mode = BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING;
Zstackapi_bdbStartCommissioningReq(appServiceTaskId, &zstack_bdbStartCommissioningReq);

 And a callback (zclSampleLight_ProcessCommissioningStatus)prompt failed. Then enable touchlink, TL can be used normally, but the network will not be restored after restart.

Need help, thank you~

  • Hello mingwei,

    Are you using the TouchLink UI to evaluate this feature, and have you enabled BDB_TL_INITIATOR and BDB_TL_TARGET from SysConfig as instructed in TouchLink Commissioning section of the Z-Stack User's Guide?  As BDB Touchlink is a proximity commissioning method for network formation with distributed security, are you attempting to form a distributed network or join one?  Please list all steps and project changes necessary to replicate the behavior.

    Regards,
    Ryan

  • hi Ryan:

    i didn't use the TouchLink UI to evaluate this feature.My device is the target of Touchlink to join the distributed network.

    I found that in the a function, adding a line of code under this line of code solved my problem.

    zgWriteStartupOptions( ZG_STARTUP_CLEAR, ZCD_STARTOPT_DEFAULT_NETWORK_STATE );
    zgWriteStartupOptions( ZG_STARTUP_CLEAR, ZCD_STARTOPT_DEFAULT_CONFIG_STATE );

    BTW,On the premise that the device has been connected to the network, how to obtain whether the current network is a centralized network or a distributed network?

  • Hi mingwei,

    Thank you for providing this update.  Since Zstackapi_bdbStartCommissioningReq is not intended to be used by a Touchlink target, I assume that this API saved NV setting which conflicted with Touchlink operation upon reset until you used zgWriteStartupOptions to reset the device parameters.

    The application can consult the value of AIB_apsTrustCenterAddress to see if it has joined a distributed network, as the TC address will be set to 0xFFFFFFFFFFFFFFFF.

    Regards,
    Ryan

  • thank you Ryan~

    I have another question:
    My device is a endpoint, joined a network. This network may be centralized or distributed. There are many routing nodes in the network. How can I know which route is my parent node. Because I need to send a message(poll control check in request) to the parent node.

  • Zstackapi_sysNwkInfoReadReq() will return both the parentNwkAddr and parentExtAddr.  TI provides a Poll Control Cluster SimpleLink Academy Lab that you might be interested in.

    Regards,
    Ryan

  • hi, Ryan

    The enable and disable of DCDC, how to switch in the process of program running?(Or it will take effect after restart)

    I observed that the disable and enable settings of DCDC correspond to the last page of flash. I need to change the DCDC setting in the last page of flash during the program running, and then restart it, so as to change the DCDC disable and enable.
    When the program is running, which API can be used to modify the CCFG setting of the last page in flash?

    thank you~

  • Hi minigwei,

    It is not recommended to change CCFG registers at runtime, however this is possible using the NVS TI driver API.  Please refer to similar E2E threads.

    Regards,
    Ryan