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.

CC2340R5: Does the SimpleLink™︎ Low Power F3 SDK (v9.11.00.18) support custom device development?

Part Number: CC2340R5

Hello, I noticed that the SimpleLinkTm Low Power F3 SDK (v9.11.00.18) provides the function ZB_ZCL_DECLARE_CUSTOM_ATTR_CLUSTER_ATTRIB_LIST() for declaring custom cluster attributes. However, I cannot find corresponding functions for binding clusters, configuring endpoints, or declaring device contexts.

I would like to confirm:

  1. Does this SDK natively support fully custom devices​ (creating proprietary device types from scratch), or is it limited to ​extending standard devices​ with additional cluster attributes?
  2. If full customization is supported, ​must I manually implement​ the binding of clusters, endpoint configuration, and context declaration?
  3. Could you please specify ​which API functions​ would be required for such implementation?

Additionally, the approach demonstrated in TI's 'Zigbee Custom Device Types' tutorial (SimpleLink Academy for CC23xx) does not meet my requirements, as I need to ​define a device outside standard clusters​ to implement complex operations. Your expert guidance would be greatly appreciated.

  • If using the ZB_HA_CUSTOM_ATTR_DEVICE_ID is not acceptable then you can further investigate the instructions for declaring custom clusters.  Custom commands will need to be implemented separately using the descriptions and APIs provided in the ZBOSS User's Guide.

  • When I use  to define custom cluster attributes, which function should I use to bind the cluster, endpoint, and context?
    In the SDK, I found these functions:
    ZB_ZCL_DECLARE_CUSTOM_ATTR_CLUSTER_ATTRIB_LIST

    • ZB_HA_DECLARE_CUSTOM_ATTR_CLUSTER_LIST
    • ZB_HA_DECLARE_CUSTOM_ATTR_CTX
    • ZB_HA_DECLARE_CUSTOM_ATTR_EP

    Are these the correct functions to use?​
    Or do I need to implement them myself?

    When I attempted to implement them, I encountered the following build errors:

    ​[21]​
    warning #10229-D: output section ".data" refers to load symbol "zb_zcl_custom_attr_init_server" and hence cannot be compressed; compression "lzss" is ignored

    ​[22]​
    undefined first referenced
    ​[23]​
    symbol in file
    ​[24]​
    --------- ----------------
    ​[25]​
    zb_zcl_custom_attr_init_server .\{AEE49B66-E8FA-43F8-929E-4851DBA4B67B}

    ​[26]​
    error #10234-D: unresolved symbols remain
    ​[27]​
    error #10010: errors encountered during linking; "reader.out" not built
    ​[28]​
    tiarmclang: error: tiarmlnk command failed with exit code 1 (use -v to see invocation)
    ​[29]​
    gmake[1]: *** [makefile:149: reader.out] Error 1
    ​[30]​
    gmake: *** [makefile:143: all] Error 2
    ​[31]​
    **** Build Finished ****

  • Ok,thank you for your time!