Hello everyone. I apologize in advance for my English. I'm pretty sure, what can use the EZ-Mode mechanism to bind the two end devices to each other without coordinator, and not have to be a network node, such as a router. EZ-Mode the mechanism is complicated for me...
Because interested in this issue: "Can I use End Device Bind mechanism for to bind the two end devices to each other without coordinator?"
There is a standard feature:
/********************************************************************* * @fn ZDP_EndDeviceBindReq * * @brief This builds and sends a End_Device_Bind_req message. * This function sends a unicast message. * * @param dstAddr - destination address * @param LocalCoordinator - short address of local coordinator * @param epIntf - Endpoint/Interface of Simple Desc * @param ProfileID - Profile ID * * The Input cluster list is the opposite of what you would think. * This is the output cluster list of this device * @param NumInClusters - number of input clusters * @param InClusterList - input cluster ID list * * The Output cluster list is the opposite of what you would think. * This is the input cluster list of this device * @param NumOutClusters - number of output clusters * @param OutClusterList - output cluster ID list * * @param SecurityEnable - Security Options * * @return afStatus_t */
Now it works only if the network has a coordinator. Can I do anything to make it work (bind the two end devices) when the network has only one router (for simplicity, consider: one router and two end devices) ?
zAddrType_t dstAddr;
dstAddr.addrMode = afAddr16Bit; // Maybe broadcast?
dstAddr.addr.shortAddr = 0;
if (invert) {
ZDP_EndDeviceBindReq(
&dstAddr, NLME_GetShortAddr(),
SAMPLESW_ENDPOINT,
ZCL_HA_PROFILE_ID,
0, NULL,
ZCLSAMPLESW_BINDINGLIST_IN, bindingInClusters,
TRUE
);
Thanks in advance for answers