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.

how to autobind on CC2538

Other Parts Discussed in Thread: Z-STACK

I am new to Z-stack. I am working on the generic app of Z-Mesh 1.0 on CC2538DK.

It requires to press a button (SW4) to send match description to be able to send application layer data. How do I need to implement the binding procedure for nodes that should automatically connect to the network and starts exchanging data. 

I thought to place the ZDP_MatchDecReq() as a function in the initialization, however, the node may be turned on before the coordinator, then it will not be able to send data.

  • In your case, you can send binding request when end device gets ZDO_STATE_CHANGE.
  • I copied and paste the ZDP_MatchDescReq() function from SW4 to ZDO_STATE_CHANGE , I defined the down button (SW3) to send "hello world2)

    when I power the coordinator and router, router sends data to coordinator, but coordinator does not send data to router. I still need to press SW2 button on the coordinator.

    How does it work if I have 3 nodes and they send ZDP_MatchDescReq() when ZDO's state changed (happens only once, right?), after some seconds/minutes later another node joins the network, then all nodes needs to send to bind it in order to be able to send data, right?

    What is the simplest way to send data from node to node when they join the network and get the IP address?
  • From application point of view, it is not possible to do binding without button unless you set some criteria. For example, device would send out end device bind request 30seconds after it power on. In this way, you can turn on the power of two device together and they send end device binding at the same time. However, I don't think it is piratical.
  • My aim is to power ZigBee modules and then modules should be able to exchange data (without any end-user interaction). Do I have to deal with binding , or is there an easier way to send/receive data among the nodes?

    I use AF_DataRequest() in GenericApp which requires binding in order to send data. Should I use a different function in order to transmit data over the wireless interface?
  • If your application know the destination short address and end point, you don't have to do binding.