BDB_tsFindAndBindEvent

The following structure contains the data for a ‘Finding and Binding’ event (see Section 2.9), which is passed to the application during the Finding and Binding process on the initiator.

typedef struct{
    uint8 u8InitiatorEp;
    uint8 u8TargetEp;
    uint16 u16TargetAddress;
    uint16 u16ProfileId;
    uint16 u16DeviceId;
    uint8 u8DeviceVersion;
    union {
        uint16 u16ClusterId;
        uint16 u16GroupId;
    }uEvent;
    ZPS_tsAfZdpEvent *psAfZdpEvent;
    bool bAllowBindOrGroup;
    bool bGroupCast;
}BDB_tsFindAndBindEvent;

where:

  • u8InitiatorEp is the number of the endpoint involved in the binding/grouping on the initiator node.

  • u8TargetEp is the number of the endpoint involved in the binding/grouping on the target node.

  • u16TargetAddress is the 16-bit network address of the target node.

  • u16ProfileId is the identifier of the ZigBee application profile supported by the two nodes (for Lighting & Occupancy devices, this is 0x0104)

  • u16DeviceId is the 16-bit identifier of the ZigBee device type supported by the target endpoints. This must be a device type identifier issued by the ZigBee Alliance.

  • u8DeviceVersion contains 4 bits (bits 0-3) representing the version of the supported device description on the target node (the default is 0000, unless set to another value according to the application profile used).

  • uEvent is a union of the following two fields:

    • u16ClusterId is the identifier of the cluster involved in the binding.

    • u16GroupId is the address of the group to which the target endpoint is assigned.

  • psAfZdpEvent is a pointer to a ZPS_tsAfZdpEvent structure containing the generated Finding and Binding event - this ZPS structure is detailed in the ZigBee 3.0 Stack User Guide (JNUG3130). The event can be any of the following (detailed in Section 2.9):

    • BDB_EVENT_FB_HANDLE_SIMPLE_DESC_RESP_OF_TARGET

    • BDB_EVENT_FB_CHECK_BEFORE_BINDING_CLUSTER_FOR_TARGET

    • BDB_EVENT_FB_CLUSTER_BIND_CREATED_FOR_TARGET

    • BDB_EVENT_FB_BIND_CREATED_FOR_TARGET

    • BDB_EVENT_FB_GROUP_ADDED_TO_TARGET

    • BDB_EVENT_FB_ERR_BINDING_FAILED

    • BDB_EVENT_FB_ERR_BINDING_TABLE_FULL

    • BDB_EVENT_FB_ERR_GROUPING_FAILED

    • BDB_EVENT_FB_NO_QUERY_RESPONSE

    • BDB_EVENT_FB_TIMEOUT

  • bAllowBindOrGroup is a Boolean flag that indicates whether the relevant cluster is permitted to participate in a binding or grouping. The default value is TRUE (permitted) but if the application must exclude the cluster (and block the binding/grouping) then it should set this field to FALSE.

  • bGroupCast is a Boolean flag that indicates whether an ‘Add Group If Identifying’ command should be broadcast to all the identifying targets (TRUE) or an ‘Add Group’ request should be individually unicast to all the identifying targets. The default value is TRUE.

Parent topic:Structures