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.

CC2530: Implementing custom clusters and Manufacturer Specific Profiles

Part Number: CC2530
Other Parts Discussed in Thread: Z-STACK, CC2652R

HI, 

I need to use a custom cluster and a manufacturer specific profile id but I'm not how to go about doing that.
I've changed the profileID to my desired profile but it doesn't show up in the packet sniffer as what I set so I assume I'm not doing it correctly.
I've read the Developer's guide but that doesn't seem to help.

so What are the steps to create custom clusters and how do I use a manufacturer specific?

Thanks

  • GenericApp in Z-Stack mesh 1.0.0 shows you how to do it.
  • I should've said, I'm using ZStack 3.0.1. In the documentation for Z-Stack mesh, I see that I says it supports non-public profiles. does that mean 3.0.1 can't do what I'm asking and I should be using ZStack mesh ?
  • Basically, it’s the same. You can change profile ID to support your own proprietary profile.
  • Alright. In Z-Stack 3.0.1 There are some functions such as zcl_XXXRegisterCmdCallbacks which are specific to a cluster. Do I just create a new source file for my cluster, copy and paste all the info from another profile source (and change necessary info ) and just use that? I can't think of any other way because the comments say to use other available callback structures but they are all specific struct types.

    also (This applies to both Mesh and 3.0.1 but I've used Mesh's GenericApp as an example )

    I've made it

    #define GENERICAPP_PROFID             0x0011
    ...
    #define GENERICAPP_CLUSTERID          0xC789

    but in SmartPF Packet Sniffer I get 

    APS Cluster Id 0x0000
    APS Profile Id 0x0000

    when it sends the hello world message.

  • Can you attach sniffer log and elaborate where you see profile ID and cluster ID?
  • I've attached the log and an image of the window (I'm not sure how to get it in text format)

    what about my other questions?


     zigbeelog.psd

  • I don’t see there’s profile ID in your sniffer log. By the way, I need you to include device association process to know the network key to decrypt your sniffer log so I can see if there’s custom cluster IF shown in the log. What do you mean “what about my other questions?”
  • Hi Ben,

    Although designed for Z-Stack 3.10 (CC2652R devices) this SimpleLink Academy Lab should be of some assistance: dev.ti.com/.../zigbee_plugin_02_custom_devices.html

    Regards,
    Ryan

  • 1. I'm very new to this so I'm not familiar with your terminology sorry. what is the device association process? I didn't change anything apart from ClusterID and ProfileID and I'm using a ZC and a ZED.


    2. Isn't the ProfileID the same as APS Profile ID? If it isn't, how do I find the actual profileid, clusterid, payload etc


    3. "My other questions" : In Z-Stack 3.0.1 There are some functions such as zcl_XXXRegisterCmdCallbacks which are specific to a cluster. Do I just create a new source file for my cluster, copy and paste all the info from another profile source (and change necessary info ) and just use that? I can't think of any other way because the comments say to use other available callback structures but they are all specific struct types.

    Thanks
  • 1. It means you have to do sniff when ZED starts to join ZC so I can get network to decrypt sniffer log.
    2. &3. No, it isn’t the same. Profile ID won’t show on sniffer. Cluster ID will appear when you use AF_DataRequest with specific custom cluster ID. There’s no need to register any callback for this.
  • 1. So how do I handle messages from the ZC without registering callbacks?

    2. I've attached a log of when the two nodes are connecting
    Nzigbeelog.psd

  • You will need to register callbacks if receiving messages from an endpoint, there are plenty of examples showing how this is accomplished. Can you confirm endpoint binds are created and how do you send your "Hello World" message?

    Regards,
    Ryan
  • 1. It's not recommended but you can try to handle it in afIncomingData.

    2. I see you device joins network but it doesn't do any polling in your sniffer log. What do you want me to check?

  • Hi Ben,

    Please state the solution to your issue, mark YK or my own response as having resolved your issue, or provide further details as requested.

    Regards,
    Ryan