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.

LAUNCHXL-CC1312R1: Changing PAN ID and Network Key

Part Number: LAUNCHXL-CC1312R1

Hi,

In the example code the CONFIG_PAN_ID and KEY_TABLE_DEFAULT_KEY are written to ti_154stack_config.h, and used by cllc.c to configure the network.

We need to change the collector/sensor board PAN ID and network key using our own PC GUI (via UART interface) after production.

As we can see it, the values should be read from NV memory and loaded in the Collector_init function call, and then passed to Cllc_init function.

Is there another way to set PAN ID and Network Key after system reset?

How can we change the default Network Key and PAN ID of collector and sensor and store them in the NV memory?

Can we use the Csf_networkUpdate to change the PAN ID to be stored in NV?

Can we use the Cllc_setDefaultKey to change Network Key? Where does the Network Key stored in NV? 

Thanks,

Dani

  • Hi Dani,

    The issue has been assigned to someone. They will get back to you.

    Regards,
    Siddanth

  • Hi Dani,

    You can probably get some clues by inspecting the way this is done with the CUI (Common User Interface) in the sensor/collector examples.

    setPanIdAction() is a callback that is executed when the CUI is used to set the PAN ID. This callback ultimately makes a call to Cllc_setFormingPanId() which is the API you need to change the PAN ID.

    I think that this also applies for the Network key. You have setNwkKeyAction() which also makes a call to Cllc_setDefaultKey().

    Keep in mind that in the sensor/collector examples, updating these values only has an effect if the device (sensor or collector) is in the waiting state. Meaning that for example you can only change the PAN ID or key before the network is formed.

    Furthermore, I don’t think that the Network key is stored in NV (probably for security reasons). Meaning that if you need this functionality, you will have to add it yourself.

    BR,
    Andres