Logo
Developing with ZBOSS for Zigbee
BDB Finding and Binding

Typedefs

typedef enum zb_bdb_comm_binding_cb_state_e zb_bdb_comm_binding_cb_state_t
 
typedef zb_bool_t(* zb_bdb_comm_binding_callback_t) (zb_int16_t status, zb_ieee_addr_t addr, zb_uint8_t ep, zb_uint16_t cluster)
 BDB finding and binding callback template. More...
 

Enumerations

enum  zb_bdb_comm_binding_cb_state_e { ZB_BDB_COMM_BIND_SUCCESS = 0, ZB_BDB_COMM_BIND_FAIL = 1, ZB_BDB_COMM_BIND_ASK_USER = 2 }
 

Functions

zb_ret_t zb_bdb_finding_binding_target (zb_uint8_t endpoint)
 Starts EZ-Mode finding and binding procedure on the target's endpoint. More...
 
zb_ret_t zb_bdb_finding_binding_target_ext (zb_uint8_t endpoint, zb_uint16_t commissioning_time_secs)
 Starts EZ-Mode finding and binding procedure on the target's endpoint with a given timeout. More...
 
zb_ret_t zb_bdb_finding_binding_initiator (zb_uint8_t endpoint, zb_bdb_comm_binding_callback_t user_binding_cb)
 Starts BDB finding and binding procedure on the initiator. More...
 
void zb_bdb_finding_binding_target_cancel (void)
 Cancels previously started finding and binding procedure on all target endpoints. More...
 
void zb_bdb_finding_binding_target_cancel_ep (zb_uint8_t endpoint)
 Cancels previously started finding and binding procedure on the particular target endpoint. More...
 
void zb_bdb_finding_binding_initiator_cancel (void)
 Cancel previously started finding and binding procedure on initiator. More...
 

Detailed Description

Typedef Documentation

§ zb_bdb_comm_binding_callback_t

typedef zb_bool_t( * zb_bdb_comm_binding_callback_t) (zb_int16_t status, zb_ieee_addr_t addr, zb_uint8_t ep, zb_uint16_t cluster)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api_zcl.h>

BDB finding and binding callback template.

Callback is used both to interact with user application
and get decision if new binding is needed or not, and to report the binding result

Parameters
[in]status- status of the binding (ask user, success or fail) zb_bdb_comm_binding_cb_state_t
[in]addr- extended address of a device to bind
[in]ep- endpoint of a device to bind
[in]cluster- cluster ID to bind
Return values
ZB_TRUE- create a binding entry for the cluster
ZB_FALSE- ignore the cluster and do not create a binding entry
Example
Callback that prints its parameters and always allows binding
static zb_bool_t finding_binding_cb(zb_int16_t status,
zb_uint16_t cluster)
{
/* Unused without trace. */
ZVUNUSED(status);
ZVUNUSED(addr);
ZVUNUSED(ep);
ZVUNUSED(cluster);
TRACE_MSG(TRACE_APP1, "finding_binding_cb status %d addr " TRACE_FORMAT_64 " ep %hd cluster %d",
(FMT__D_A_H_D, status, TRACE_ARG_64(addr), ep, cluster));
return ZB_TRUE;
}

§ zb_bdb_comm_binding_cb_state_t

Enumeration Type Documentation

§ zb_bdb_comm_binding_cb_state_e

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api_zcl.h>

List of EZ-Mode binding callback states

Enumerator
ZB_BDB_COMM_BIND_SUCCESS 

Previously user applied bind finished successfully

ZB_BDB_COMM_BIND_FAIL 

Previously user applied bind failed

ZB_BDB_COMM_BIND_ASK_USER 

Ask user whether to perform binding

Function Documentation

§ zb_bdb_finding_binding_initiator()

zb_ret_t zb_bdb_finding_binding_initiator ( zb_uint8_t  endpoint,
zb_bdb_comm_binding_callback_t  user_binding_cb 
)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api_zcl.h>

Starts BDB finding and binding procedure on the initiator.

This function calls the provided user callback to report the procedure status and to allow the application to skip binding of some clusters.
It may be called several times with Success status and only once with Error status.
If any error appears, finding and binding stops.

Parameters
[in]endpoint- initiator endpoint
[in]user_binding_cb- user callback, see zb_bdb_comm_binding_callback_t()
Return values
RET_OK- on success
RET_INVALID_PARAMETER_1- endpoint is not registered
RET_INVALID_STATE- device is not joined to the network
RET_BUSY- commissioning is in progress
Example
Define callback:
static zb_bool_t finding_binding_cb(zb_int16_t status,
zb_uint16_t cluster)
{
/* Unused without trace. */
ZVUNUSED(status);
ZVUNUSED(addr);
ZVUNUSED(ep);
ZVUNUSED(cluster);
TRACE_MSG(TRACE_APP1, "finding_binding_cb status %d addr " TRACE_FORMAT_64 " ep %hd cluster %d",
(FMT__D_A_H_D, status, TRACE_ARG_64(addr), ep, cluster));
return ZB_TRUE;
}
Start finding and binding as initiator:
{
device_type = zb_get_device_type();
ZVUNUSED(device_type);
TRACE_MSG(TRACE_APP1, "Device (%hd) STARTED OK", (FMT__D, device_type));
TRACE_MSG(TRACE_APP1, "Successful steering, start f&b initiator", (FMT__0));
zb_bdb_finding_binding_initiator(ZB_SWITCH_ENDPOINT, finding_binding_cb);
break;
}
See also
Finding & binding procedure for an initiator endpoint 8.5 (BDB 3.0.1)

§ zb_bdb_finding_binding_initiator_cancel()

void zb_bdb_finding_binding_initiator_cancel ( void  )

§ zb_bdb_finding_binding_target()

zb_ret_t zb_bdb_finding_binding_target ( zb_uint8_t  endpoint)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api_zcl.h>

Starts EZ-Mode finding and binding procedure on the target's endpoint.

This function puts the device into the identifying mode. Default duration is 3 minutes.

Parameters
[in]endpoint- target endpoint
Return values
RET_OK- on success
RET_INVALID_PARAMETER_1- target endpoint is not registered
RET_INVALID_STATE- finding and binding has already started or the device is not joined
Note
endpoint should be registered on the target.
Example
Starts finding and binding target procedure upon ZB_BDB_SIGNAL_STEERING
TRACE_MSG(TRACE_APP1, "Successful steering, start f&b target", (FMT__0));
zb_bdb_finding_binding_target(ZB_OUTPUT_ENDPOINT);
break;
See also
Finding & binding procedure for a target endpoint 8.4 (BDB 3.0.1)
zb_bdb_finding_binding_target_ext()

§ zb_bdb_finding_binding_target_cancel()

void zb_bdb_finding_binding_target_cancel ( void  )

§ zb_bdb_finding_binding_target_cancel_ep()

void zb_bdb_finding_binding_target_cancel_ep ( zb_uint8_t  endpoint)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api_zcl.h>

Cancels previously started finding and binding procedure on the particular target endpoint.

Parameters
[in]endpoint- target endpoint. The ZB_ZCL_BROADCAST_ENDPOINT value is treated as cancel on all target endpoints.

§ zb_bdb_finding_binding_target_ext()

zb_ret_t zb_bdb_finding_binding_target_ext ( zb_uint8_t  endpoint,
zb_uint16_t  commissioning_time_secs 
)

#include </conan-data/ti_zigbee/9.14.00.04/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api_zcl.h>

Starts EZ-Mode finding and binding procedure on the target's endpoint with a given timeout.

Parameters
[in]endpoint- target endpoint
[in]commissioning_time_secs- time interval for the device to be in the identifying mode, in seconds. Can't be less than 3 minutes.
Return values
RET_OK- on success
RET_INVALID_PARAMETER_1- target endpoint is not registered
RET_INVALID_PARAMETER_2- commissioning_time_secs is less than ZB_BDBC_MIN_COMMISSIONING_TIME_S
RET_INVALID_STATE- finding and binding procedure has already started or the device is not joined
See also
Finding & binding procedure for a target endpoint 8.4 (BDB 3.0.1)