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 HA profile configuration

Other Parts Discussed in Thread: DM3730, CC2530, REMOTI

Hello All,

I am going through TI HA profile code [ZAP-MSP430-2.5.1] ported for Linux, I am using this on DM3730.

Setting Device as coordinator - failed

We are using "-DZAP_NV_RESTORE=FALSE".

1. Hardware Reset CC2530 using a GPIO.

2. I am using "SYS_OSAL_NV_WRITE"  command to configure ZCD_NV_LOGICAL_TYPE[0 - coordinator], ZCD_NV_PAN_ID[0xFFFF], and ZCD_NV_CHANLIST.

3. I found setting channel command getting failed/not responding with in time [SRDY]. Will this effect coordinator setup?

4. OSAL: In the code for "ZDO_STATE_CHANGE_IND", there is a event set [I am receiving this AREQ from CC2530], but this event is not getting called - any timer related issue here ?

Thanks & Regards

Anil.

  • Hello,

    How is your connection between DM3730, and CC2530ZNP? Do you have a separate GPIO pin for MRDY, SRDY and CS? Are you using a modified Linux SPI driver?

    What is the name of the AREQ event you are receiving? 

    Maybe take a look out our RemoTI Linux implementation for a network processor interface that is very similar:
    http://processors.wiki.ti.com/index.php/RF4CE,_simple_linux_target_application

    LPRF Rocks the World

  • Thank you for help.

    Now my application is in a good shape, it is able to form network and joining and binding are working. It is SRDY waiting issue. Issue is solved by updating stack-bin got from TI.

    I have a very specific question here, Can two end-devices in a zigbee network bind using endDevice_bind_request()? If no what API I have to use to bind these two enedevices?

    Regards,

    ANIL

  • Hi anik,

    Yes, set the destination short address to 0x0 when using endDevice_bind_request() would make two end-device in a zigbee network bind by coordinator.

  • Hi Chen,

    I am inserting this image from cc2530_interface_spec.pdf

    I have the following use case:

    1.  I have a coordinator running. Where I can run my software.
    2.  I have zigbee end device with on/off switch cluster.
    3.  I have zigbee end device with on/off light cluster.
    4. I want to bind on/off switch <--> on/off light using the coordinator.

    Can I use the "ZDO_END_DEVICE_BIND_REQ" command form my coordinator to bind  these devices ?

    If yes, can you give me example parameters to pass to this command.

    If No, which command I have to use? 

    Thanks & Regards,

    Anil.

  • No, you can not ask devices to bind each other from coordinator. The correct way is that each end device send ZDO_END_DEVICE_BIND_REQ to coordinator and coordinator will help to coordinate the binding from two device and finalize it.

  • Hi,

    I do not have control of my end-device software [ I can not change ].

    Can I use ZDO_BIND_REQ commnad from coordinator, to bind two endDevices joined to my coordinator?

    Can you help me here.

    Thanks & Regards,

    Anil.

  • If the two devices support the same ZCL cluster and fit the server/client requirement, it is no problem to use ZDO_BIND_REQ to bind two end devices.

  • Hi all,

    I have two end-Devices joined to coordinator as shown in figure, the 2-byte numbers below circles represents their network addresses.

    I am using ZDO_BIND_REQ command from coordinator to bind two end-Devices as shown below, it fails.

    End-Device-1 is Source and End-Device-2 is destination.

     ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------
    |LEN  | CMD0 | CMD1 | DstADDR| SRC IEEE                   |Src Ep |Cluster Id | Addr Mode | Dst IEEE |Dst             |     Src Ep |

     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    | 0x17 | 0x25 | 0x21   | 0xc865    | 0x00137a000000bb7f | 0x2     | 0x0006    | 0x3             | 0x00137a0000008968 | 0x1         |
     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    This command always Fails, is this correct?

    Thanks & Regards

    Anil

  • I see there are some problem in your command parameters.

    1. The DstADDR should be 0x12B3.

    2. Do you use different end point in your switch device and on/of devices. Because I see that your Src EP (switch device) is 2 but your Dst EP (on/off device) is 1. Please check what is your correct EP of each device first.

  • I followed your first step, it is working -- Binding Success

    I am using End-Device-1 as source, End-Device-2 as destination. From this destination address should be End-Device-2 short address. is n't it?

    Can you please clarify this?

    Thanks,

    Anil.

  • The DstADDR should be End Device 1. In this command, the DstADDR means the short address you want to do binding source.

  • Hi All,

    Thanks YiKai for your pinpoint help in bind query.

    This is complete new question, related to zdo callbacks.

    I found two ways of zigbee configuration. What is the difference between these commands

    1. Using ZB_WRITE_CONFIGURATION

    2. SYS_OSAL_NV_WRITE

    I am using HA profile code ported to Linux. It is OSAL based code. I am using SYS_OSAL_NV_WRITE commands to set callbacks "ZCD_NV_ZDO_DIRECT_CB"

     -------------------------------------------------------
    | 0x5 | 0x21 |0x9 | 0x8f | 0x0 | 0x0 | 0x1 | 0x1 |
     ------------------------------------------------------

    How much time is required for CC2530 to process this command. I am waiting fro 200mSec. After this time I am sending zigbee_read_configuration command.

    Most of the time I am not getting response for this [set callback to true ]command within this time interval.

    Without callbacks I can not get any new device information/ other callbacks.

    Any Help will be greatly appreciated.

    Thanks & Regards,

    Anil.

     

  • Hi LPRF Rocks,

    Aim:-

          We are aiming to run zigbee HA profile on Android Setup.

    Setup:-

    Below diagram shows my setup.

    • We are using Zigbee HA profile code ported to Linux. We got this code from TI. This is OSAL based code.
    • We are porting Linux ZAP [OSAL] for TI DM3730 processor. We are using SPI between CC2530 and DM3730.

    Simple Linux Application:-

    I have gone through your code, I have seen Linux IPC, socket and threads are used here. 

    Can I get any document to understand this Project?

    I do not the risk involved to change OSAL code [single process] to the other way.  Any suggestions here.

    Thanks & Regards,

    Anil.

  • The RF4CE Linux code and documentation is on the wiki page:

    ZigBee RF4CE Linux Sample Application

    You would need to build a JNI wrapper, and take a look at this project:

     Android ZigBee RF4CE application

    LPRF Rocks the World