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: Devices takes too much time to initialize into the network or during groupcasts

Part Number: CC2652P
Other Parts Discussed in Thread: Z-STACK

Hi,

I have observed two issues,

1. We have observed that after the device is paired to a network and configured some groups, it takes around 3 seconds to initialize in ZDO_Init during bdb initialization.
Considering these are read operations shouldn't it be faster. Please could you suggest if any setting will help reduce this time ?

2. In a relatively big network around 60 devices, when we execute multiple group-casts in quick succession(250ms interval), the code seems to held continuously in the stackTask(DMM project) function while the group-casts are in progress.
Why is this happening, we are not expecting the device to take that long while executing a groupcast.

Any advice will be helpful

Thanks
Akhilesh

  • Hi Akhilesh,

    1. ZDO_Init occurs during device initialization, not after commissioning, and is likely not responsible for the delay.  Time is required to authenticate the device and store network information inside of NV while it formally joins a network.

    2. Depending on the number and size of groupcasts implemented, this process could be filling the network buffers and incur additional delays to fully execute while priority is given to this task.

    Regards,
    Ryan

  • Hi Ryan,

    1. I think I have explained it incorrectly. What i mean is that when device boots up, there are two possibilities it was paired before or not.

    a. if it was not paired
    The device starts up fast and ZDO_Init and RestoreNetwork do not take any time.

    b. if it was paired and some groups were added.
    ZDO_Init takes time probably due to RestoreNetwork, and this is what takes around 3s

    2. Groupcast messages are about 7-10bytes each and around 20 messages in 5 seconds.
    We have RAM to work with, can I increase the buffers to improve performance? if so what buffers

    Thanks
    Akhilesh

  • ZDApp_RestoreNetworkState occurs during ZDOInitDeviceEx, a process which involves reading flash memory to recover network properties stored in NV.  Group tables are included in NV memory and will increase the network restoration time.  You could attempt to decrease APS_MAX_GROUPS to lessen the startup delay.

    Heap is statically allocated as HEAPMGR_SIZE in the *.cfg file if you are using the older TI-RTOS implementation, and can be increased if necessary.  You may also consider increasing NWK_MAX_DATABUFS_* in nwk_globals.c and MAC_CFG_* in f8w*.opts

    Regards,
    Ryan

  • Hi Ryan,

    Thanks a lot for the inputs.

    Our APS_MAX_GROUPS is 100. The groups are restored using aps_GroupsRestoreFromNV and then is there some process for network restoration which takes time ?
    Unfortunately we need the 100 group limit and were wondering if there was any other way to reduce this delay.

    HEAPMGR_SIZE is 30000, but the HEAPMGR_CONFIG is 0x80, seems like this is dynamic and any remaining ram is assigned to HEAP.
    Do you have any suggestions on what NWK_MAX_DATABUFS_* and MAC_CFG_*  is optimal for larger networks.

    If possible, please could you share the project opts and f8wrouter opts used for the TI large network test

    Thanks
    Akhilesh

  • aps_AddGroup is required for each valid group during aps_GroupsRestoreFromNV and there are no other definitions involved in reducing this delay.

    You can start by trying to double each buffer value and determine whether it has any effect on your network.

    An example of Z-Stack Large Network Configurations is shared in Table 1 of SWRA650.

    Regards,
    Ryan

  • You can try to fix "nvocmp.c" to support “HOT NV”.

    2262.nvocmp.c

    7608.nvocmp_hot_ids.h