Developing with ZBOSS SDK for Zigbee

Data Structures

struct  zb_zdo_signal_leave_params_s
 Leave parameters. More...
 
struct  zb_zdo_signal_nlme_status_indication_params_s
 NLME status indication parameters. More...
 
struct  zb_zdo_signal_leave_indication_params_s
 Leave Indication parameters. More...
 
struct  zb_nwk_signal_device_associated_params_s
 Association parameters. More...
 
struct  zb_zdo_signal_device_annce_params_s
 Association parameters. More...
 
struct  zb_zdo_signal_can_sleep_params_s
 Sleep signal parameters. More...
 
struct  zb_zdo_signal_macsplit_dev_boot_params_s
 Macsplit device boot parameters. More...
 
struct  zb_zdo_signal_fb_initiator_finished_params_s
 F&B Initiator Finished signal parameters. More...
 
struct  zb_zdo_signal_device_update_params_s
 Device Updated signal parameters. More...
 
struct  zb_zdo_signal_device_authorized_params_s
 Device Authorized signal parameters. More...
 
struct  zb_zdo_app_signal_hdr_s
 

Macros

#define ZB_ZDO_SIGNAL_GET_PARAMS(sg_p, type)   ((type *)ZB_SAFE_PTR_CAST((((zb_uint8_t *)sg_p) + sizeof(zb_zdo_app_signal_hdr_t))))
 
#define ZB_ZDO_SIGNAL_CUT_HEADER(buf)   zb_buf_cut_left(buf, sizeof(zb_zdo_app_signal_hdr_t))
 Cuts ZBOSS signal headers while keeping the signal parameter (if it was in the buffer). More...
 
#define ZB_GET_APP_SIGNAL_STATUS(param)   zb_buf_get_status(param)
 Get status from the application signal. More...
 

Typedefs

typedef enum zb_zdp_status_e zb_zdp_status_t
 
typedef enum zb_zdo_app_signal_type_e zb_zdo_app_signal_type_t
 
typedef zb_zdo_app_signal_type_t zb_zdo_app_signal_t
 
typedef struct zb_zdo_signal_leave_params_s zb_zdo_signal_leave_params_t
 Leave parameters. More...
 
typedef struct zb_zdo_signal_nlme_status_indication_params_s zb_zdo_signal_nlme_status_indication_params_t
 NLME status indication parameters. More...
 
typedef struct zb_zdo_signal_leave_indication_params_s zb_zdo_signal_leave_indication_params_t
 Leave Indication parameters. More...
 
typedef struct zb_nwk_signal_device_associated_params_s zb_nwk_signal_device_associated_params_t
 Association parameters. More...
 
typedef struct zb_zdo_signal_device_annce_params_s zb_zdo_signal_device_annce_params_t
 Association parameters. More...
 
typedef struct zb_zdo_signal_can_sleep_params_s zb_zdo_signal_can_sleep_params_t
 Sleep signal parameters. More...
 
typedef struct zb_zdo_signal_macsplit_dev_boot_params_s zb_zdo_signal_macsplit_dev_boot_params_t
 Macsplit device boot parameters. More...
 
typedef enum zb_zdo_fb_initiator_finished_status_e zb_zdo_fb_initiator_finished_status_t
 Status codes for F&B Initiator Finished signal.
 
typedef struct zb_zdo_signal_fb_initiator_finished_params_s zb_zdo_signal_fb_initiator_finished_params_t
 F&B Initiator Finished signal parameters.
 
typedef struct zb_zdo_signal_device_update_params_s zb_zdo_signal_device_update_params_t
 Device Updated signal parameters.
 
typedef enum zb_zdo_authorization_type_e zb_zdo_authorization_type_t
 Authorization types for ZB_ZDO_SIGNAL_DEVICE_AUTHORIZED.
 
typedef enum zb_zdo_legacy_device_authorization_status_e zb_zdo_legacy_device_authorization_status_t
 Authorization statuses for ZB_ZDO_AUTHORIZATION_TYPE_LEGACY value of zb_zdo_authorization_type_t type.
 
typedef enum zb_zdo_tclk_authorization_status_e zb_zdo_tclk_authorization_status_t
 Authorization statuses for ZB_ZDO_AUTHORIZATION_TYPE_R21_TCLK value of zb_zdo_authorization_type_t type.
 
typedef struct zb_zdo_signal_device_authorized_params_s zb_zdo_signal_device_authorized_params_t
 Device Authorized signal parameters.
 
typedef struct zb_zdo_app_signal_hdr_s zb_zdo_app_signal_hdr_t
 
typedef zb_zdo_app_signal_hdr_t zb_zdo_app_event_t
 

Enumerations

enum  zb_zdp_status_e {
  ZB_ZDP_STATUS_SUCCESS = 0x00, ZB_ZDP_STATUS_INV_REQUESTTYPE = 0x80, ZB_ZDP_STATUS_DEVICE_NOT_FOUND = 0x81, ZB_ZDP_STATUS_INVALID_EP = 0x82,
  ZB_ZDP_STATUS_NOT_ACTIVE = 0x83, ZB_ZDP_STATUS_NOT_SUPPORTED = 0x84, ZB_ZDP_STATUS_TIMEOUT = 0x85, ZB_ZDP_STATUS_NO_MATCH = 0x86,
  ZB_ZDP_STATUS_NO_ENTRY = 0x88, ZB_ZDP_STATUS_NO_DESCRIPTOR = 0x89, ZB_ZDP_STATUS_INSUFFICIENT_SPACE = 0x8a, ZB_ZDP_STATUS_NOT_PERMITTED = 0x8b,
  ZB_ZDP_STATUS_TABLE_FULL = 0x8c, ZB_ZDP_STATUS_NOT_AUTHORIZED = 0x8d, ZB_ZDP_STATUS_INVALID_INDEX = 0x8f, ZB_ZDP_STATUS_TIMEOUT_BY_STACK = 0xff
}
 
enum  zb_zdo_app_signal_type_e {
  ZB_ZDO_SIGNAL_DEFAULT_START, ZB_ZDO_SIGNAL_SKIP_STARTUP, ZB_ZDO_SIGNAL_DEVICE_ANNCE, ZB_ZDO_SIGNAL_LEAVE,
  ZB_ZDO_SIGNAL_ERROR, ZB_BDB_SIGNAL_DEVICE_FIRST_START, ZB_BDB_SIGNAL_DEVICE_REBOOT, ZB_BDB_SIGNAL_STEERING,
  ZB_BDB_SIGNAL_FORMATION, ZB_BDB_SIGNAL_FINDING_AND_BINDING_TARGET_FINISHED, ZB_BDB_SIGNAL_FINDING_AND_BINDING_INITIATOR_FINISHED, ZB_NWK_SIGNAL_DEVICE_ASSOCIATED,
  ZB_ZDO_SIGNAL_LEAVE_INDICATION, ZB_BDB_SIGNAL_WWAH_REJOIN_STARTED, ZB_COMMON_SIGNAL_CAN_SLEEP, ZB_ZDO_SIGNAL_PRODUCTION_CONFIG_READY,
  ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT, ZB_SIGNAL_SUBGHZ_SUSPEND, ZB_SIGNAL_SUBGHZ_RESUME, ZB_ZDO_SIGNAL_DEVICE_AUTHORIZED,
  ZB_ZDO_SIGNAL_DEVICE_UPDATE, ZB_NWK_SIGNAL_PANID_CONFLICT_DETECTED, ZB_NLME_STATUS_INDICATION
}
 
enum  zb_zdo_fb_initiator_finished_status_e { ZB_ZDO_FB_INITIATOR_STATUS_SUCCESS = 0, ZB_ZDO_FB_INITIATOR_STATUS_CANCEL, ZB_ZDO_FB_INITIATOR_STATUS_ALARM, ZB_ZDO_FB_INITIATOR_STATUS_ERROR }
 Status codes for F&B Initiator Finished signal. More...
 
enum  zb_zdo_authorization_type_e { ZB_ZDO_AUTHORIZATION_TYPE_LEGACY, ZB_ZDO_AUTHORIZATION_TYPE_R21_TCLK }
 Authorization types for ZB_ZDO_SIGNAL_DEVICE_AUTHORIZED. More...
 
enum  zb_zdo_legacy_device_authorization_status_e { ZB_ZDO_LEGACY_DEVICE_AUTHORIZATION_SUCCESS, ZB_ZDO_LEGACY_DEVICE_AUTHORIZATION_FAILED }
 Authorization statuses for ZB_ZDO_AUTHORIZATION_TYPE_LEGACY value of zb_zdo_authorization_type_t type. More...
 
enum  zb_zdo_tclk_authorization_status_e { ZB_ZDO_TCLK_AUTHORIZATION_SUCCESS, ZB_ZDO_TCLK_AUTHORIZATION_TIMEOUT, ZB_ZDO_TCLK_AUTHORIZATION_FAILED }
 Authorization statuses for ZB_ZDO_AUTHORIZATION_TYPE_R21_TCLK value of zb_zdo_authorization_type_t type. More...
 

Functions

void zboss_signal_handler (zb_uint8_t param)
 
zb_zdo_app_signal_type_t zb_get_app_signal (zb_uint8_t param, zb_zdo_app_signal_hdr_t **sg_p)
 Unpack application signal buffer in zboss_signal_handler() More...
 

Detailed Description

There are tools that allow an application to handle Zigbee events like network formation, association status, leave indication, and others. Due to its nature, different Zigbee events appear asynchronously and ZBOSS informs the application about it through application signals. The application may handle or ignore a received signal. All application signals are processed in the application with a predefined callback function zboss_signal_handler(). It is mandatory for each application to implement this function, even if there is no need to process a signal.

There are policies that should be taken into account while implementing zboss_signal_handler() function:

Macro Definition Documentation

◆ ZB_GET_APP_SIGNAL_STATUS

#define ZB_GET_APP_SIGNAL_STATUS (   param)    zb_buf_get_status(param)

Get status from the application signal.

Parameters
param- buffer reference
Returns
status zb_ret_t

◆ ZB_ZDO_SIGNAL_CUT_HEADER

#define ZB_ZDO_SIGNAL_CUT_HEADER (   buf)    zb_buf_cut_left(buf, sizeof(zb_zdo_app_signal_hdr_t))

Cuts ZBOSS signal headers while keeping the signal parameter (if it was in the buffer).

Parameters
buf- pointer to a zb_buf_t structure. The buffer must be the one passed into zboss_signal_handler.

◆ ZB_ZDO_SIGNAL_GET_PARAMS

#define ZB_ZDO_SIGNAL_GET_PARAMS (   sg_p,
  type 
)    ((type *)ZB_SAFE_PTR_CAST((((zb_uint8_t *)sg_p) + sizeof(zb_zdo_app_signal_hdr_t))))

Obtains pointer to parameters passed with application signal.

Parameters
sg_p- pointer to application signal
type- parameter type
Returns
pointer to signal parameters

Example

simple_gw_dev_annce_cb(dev_annce_params->device_short_addr);

Typedef Documentation

◆ zb_nwk_signal_device_associated_params_t

Association parameters.

Stack passes this parameter to application when some device associates to that.

◆ zb_zdo_app_signal_hdr_t

Application signal header

◆ zb_zdo_app_signal_type_t

The signals passed to zboss_signal_handler()

Note
If an application requires the parameters to be passed to the zboss_signal_handler, it is recommended to inherit zb_zdo_app_signal_type_t and introduce the structure according to the pattern below:
typedef struct zb_zdo_app_my_custom_signal_s
{
zb_my_custom_data_type_t my_custom_data;
}

◆ zb_zdo_signal_can_sleep_params_t

Sleep signal parameters.

Stack passes this parameter to application when device ready to sleep.

◆ zb_zdo_signal_device_annce_params_t

Association parameters.

Stack passes this parameter to application when some device joins/rejoins to network.

◆ zb_zdo_signal_leave_indication_params_t

Leave Indication parameters.

Stack passes this parameter to application upon receipt of leave indication primitive.

◆ zb_zdo_signal_leave_params_t

Leave parameters.

Stack passes this parameter to application when device leave the network.

◆ zb_zdo_signal_macsplit_dev_boot_params_t

Macsplit device boot parameters.

Macsplit passes this parameter to application when device is booted.

◆ zb_zdo_signal_nlme_status_indication_params_t

NLME status indication parameters.

Stack passes this parameter to application when NLME status indication is generated.

◆ zb_zdp_status_t

ZDP status values (2.4.5 ZDP Enumeration Description)

Enumeration Type Documentation

◆ zb_zdo_app_signal_type_e

The signals passed to zboss_signal_handler()

Note
If an application requires the parameters to be passed to the zboss_signal_handler, it is recommended to inherit zb_zdo_app_signal_type_t and introduce the structure according to the pattern below:
typedef struct zb_zdo_app_my_custom_signal_s
{
zb_my_custom_data_type_t my_custom_data;
}
Enumerator
ZB_ZDO_SIGNAL_DEFAULT_START 

Obsolete signal, used for pre-R21 ZBOSS API compatibility. Not recommended to use.

When generated:

  • After the device has been started and the non-BDB commissioning completed.
  • In case of the commissioning error.

Status codes:

  • RET_OK: Device has started and joined the network.
  • RET_ERROR: An error of any type.

Signal parameters:

  • none
ZB_ZDO_SIGNAL_SKIP_STARTUP 

Notifies the application that ZBOSS framework (scheduler, buffer pool, etc.) has started, but no join/rejoin/formation/BDB initialization has been done yet.

When generated:

Status codes:

  • RET_OK: Only ZBOSS framework has been initialized.
  • Does not return error status.

Signal parameters:

  • none
TRACE_MSG(TRACE_APP1, "ZB_ZDO_SIGNAL_SKIP_STARTUP: start commissioning", (FMT__0));
{
ZB_SCHEDULE_APP_ALARM_CANCEL(sp_com_button_pressed_reset_fd, ZB_ALARM_ANY_PARAM);
}
/* NVRAM is loaded, init relay state */
{
sp_relay_on_off((zb_bool_t )ZB_ZCL_GET_ATTRIBUTE_VAL_8(attr_desc_on_off));
#ifdef SP_CONTROL4_COMPATIBLE
{
/* Increment BOOT_COUNT attribute */
g_dev_ctx.c4_attr.boot_count++;
ZB_SCHEDULE_APP_CALLBACK(sp_write_app_data, 0);
}
#endif /* SP_CONTROL4_COMPATIBLE */
}
/* Have zb_bdb_is_factory_new() check inside */
ZB_SCHEDULE_APP_CALLBACK(sp_start_join, SP_FIRST_JOIN_ATTEMPT);
break;
ZB_ZDO_SIGNAL_DEVICE_ANNCE 

Notifies the application about the new device appearance.

When generated:

  • Upon receiving the Device_annce command.

Status codes:

  • RET_OK: Device_annce command was received.
  • Does not return error status.

Signal parameters:

{
simple_gw_dev_annce_cb(dev_annce_params->device_short_addr);
}
break;
ZB_ZDO_SIGNAL_LEAVE 

Notifies the application that the device itself has left the network.

When generated:

  • Upon sending the "Leave" command.

Status codes:

  • RET_OK: Device has sent the "Leave" command.
  • Does not return error status.

Signal parameters:

{
light_control_retry_join(leave_params->leave_type);
}
break;
ZB_ZDO_SIGNAL_ERROR 

Corrupted or incorrect signal information.

When generated:

  • Incorrect buffer length detected by zb_get_app_signal (less then zb_zdo_app_signal_hdr_t)

Status codes:

  • none

Signal parameters:

  • none
ZB_BDB_SIGNAL_DEVICE_FIRST_START 

Device started for the first time after the NVRAM erase.

When generated:

  • Upon completing the typical device startup (network formation for ZC or rejoin/discovery/association for ZR and ZED).
  • This signal is exclusive to ZB_BDB_SIGNAL_DEVICE_REBOOT
Note
No ZB_BDB_SIGNAL_STEERING or ZB_BDB_SIGNAL_FORMATION signals will be generated.

Status codes:

  • RET_OK: Device started after the NVRAM erase
  • RET_ERROR: An error of any type.

Signal parameters:

  • none
TRACE_MSG(TRACE_APP1, "Device STARTED OK", (FMT__0));
#ifdef TEST_APS_FRAGMENTATION
ZB_SCHEDULE_APP_ALARM(send_frag_data, 0, ZB_TIME_ONE_SECOND / 2);
#endif
break;
ZB_BDB_SIGNAL_DEVICE_REBOOT 

Device started using the NVRAM contents.

When generated:

Note
No ZB_BDB_SIGNAL_STEERING or ZB_BDB_SIGNAL_FORMATION signals will be generated.

Status codes:

  • RET_OK: Device started using configuration stored in NVRAM
  • RET_ERROR: An error of any type.

Signal parameters:

  • none
TRACE_MSG(TRACE_APP1, "Device RESTARTED OK", (FMT__0));
#ifndef ZB_USE_BUTTONS
/* Do not have buttons in simulator - just start periodic on/off sending */
cmd_in_progress = ZB_FALSE;
ZB_SCHEDULE_APP_ALARM(button_press_handler, 0, 7 * ZB_TIME_ONE_SECOND);
#endif
break;
ZB_BDB_SIGNAL_STEERING 

BDB network steering completed (Network steering only).

When generated:

  • Upon completing Network steering initiated by bdb_start_top_level_commissioning(ZB_BDB_NETWORK_STEERING).

Status codes:

  • RET_OK: Network steering completed.
  • Does not return error status.

Has additional data of type zb_zdo_signal_leave_indication_params_t. Signal parameters:

  • none
ZB_BDB_SIGNAL_FORMATION 

BDB network formation completed (Network formation only).

When generated:

  • Upon completing Network formation initiated by bdb_start_top_level_commissioning(ZB_BDB_NETWORK_FORMATION).

Status codes:

  • RET_OK: Network formation completed.
  • Does not return error status.

Signal parameters:

  • none
ZB_BDB_SIGNAL_FINDING_AND_BINDING_TARGET_FINISHED 

BDB finding and binding for a target endpoint completed.

When generated:

  • F&B target timeout expires.

Status codes:

  • RET_OK: F&B completed successfully.
  • RET_ERROR: An error of any type.

Signal parameters:

  • none
ZB_BDB_SIGNAL_FINDING_AND_BINDING_INITIATOR_FINISHED 

BDB finding and binding for an initiator endpoint completed.

When generated:

  • F&B with a Target succeeded or F&B initiator timeout expired or cancelled.

Status codes:

Signal parameters:

ZB_NWK_SIGNAL_DEVICE_ASSOCIATED 

Obsolete signal, used for pre-R21 ZBOSS API compatibility. Use ZB_ZDO_SIGNAL_DEVICE_ANNCE signal instead!

When generated:

  • Indicates that there is a new device associated with Zigbee Coordinator or router.

Status codes:

  • RET_OK: New device associated.
  • Does not return error status.

Signal parameters:

ZB_ZDO_SIGNAL_LEAVE_INDICATION 

Network leave indication.

When generated:

  • The child device has left the network.

Status codes:

  • RET_OK: Leave command received from the child device.
  • RET_ERROR: An error of any type.

Signal parameters:

{
if (!leave_ind_params->rejoin)
{
simple_gw_leave_indication(leave_ind_params->device_addr);
}
}
break;
ZB_BDB_SIGNAL_WWAH_REJOIN_STARTED 

WWAH Rejoin start indication.

When generated:

  • Device lost communication with the parent and started WWAH Rejoin procedure.

Status codes:

  • RET_OK: Leave command received from the child device.
  • Does not return error status.

Signal parameters: no

ZB_COMMON_SIGNAL_CAN_SLEEP 

Notifies the application that the MCU can sleep for the specified period of time.

Note
Signal will not be generated if the sleep interval is less than sleep threshold ZB_SCHED_SLEEP_THRESHOLD_MS. To change the sleep threshold see zb_ret_t zb_sleep_set_threshold()

When generated:

  • ZBOSS scheduler detects that the sleep mode can be enabled on the device.

Status codes:

  • RET_OK: The sleep mode can be enabled on the device.
  • Does not return error status.

Signal parameters:

{
/* zb_zdo_signal_can_sleep_params_t *can_sleep_params = ZB_ZDO_SIGNAL_GET_PARAMS(sg_p, zb_zdo_signal_can_sleep_params_t); */
#ifdef ZB_USE_SLEEP
#endif
break;
}
ZB_ZDO_SIGNAL_PRODUCTION_CONFIG_READY 

Notifies the application that the application specific part of the production configuration was found and restored and provides the application with this data.

When generated:

  • After restoring the production configuration.

Status codes:

  • RET_OK: The application specific part of the production configuration exists.
  • RET_ERROR: An error of any type.

Signal parameters:

  • Passed up with application specific data from production configuration.
ZB_NWK_SIGNAL_NO_ACTIVE_LINKS_LEFT 

Notifies the application about the Neighbor Table expiration. It means that the neighbor devices did not send the Link Status messages for ZB_NWK_ROUTER_AGE_LIMIT * ZB_NWK_LINK_STATUS_PERIOD seconds.

When generated:

  • All routes expired (usually when the link is down).

Status codes:

  • RET_OK: All routers expired.
  • Does not return error status.

Signal parameters:

  • none
ZB_SIGNAL_SUBGHZ_SUSPEND 

ZC / our MAC suspended our device tx: out of Duty cycle (sub-ghz only)

Signal parameter - number of minutes to suspend, -1 if unknown
ZB_SIGNAL_SUBGHZ_RESUME 

ZC resumed our device tx (sub-ghz only)

ZB_ZDO_SIGNAL_DEVICE_AUTHORIZED 

Notifies the Zigbee Trust center application about a new device is authorized in the network. For Zigbee R21 devices it means that the TCLK exchange procedure was finished, for the legacy devices it means that the Transport key was send to the device.

When generated:

  • Authorization success
  • Authorization failed
  • Authorization timeout

Status codes:

ZB_ZDO_SIGNAL_DEVICE_UPDATE 

Notifies the Zigbee Trust center or parent router application about a new device joined, rejoined or left the network.

When generated:

  • Standard device secured rejoin
  • Standard device unsecured join
  • Device left
  • Standard device trust center rejoin

Status codes:

  • RET_OK: Device information updated.
  • Does not return error status.

Signal parameters:

ZB_NWK_SIGNAL_PANID_CONFLICT_DETECTED 

PAN ID conflict has been detected. Application has to decide whether to initiate its resolution or not.

Signal parameter
See also
zb_start_pan_id_conflict_resolution
ZB_NLME_STATUS_INDICATION 

NLME status indication. Application may implement additional logic based on receiving some statuses.

Signal parameter
zb_zdo_signal_nlme_status_indication_params_t
See also
zb_nwk_command_status_t is the full list of NLME statuses

◆ zb_zdo_authorization_type_e

Authorization types for ZB_ZDO_SIGNAL_DEVICE_AUTHORIZED.

Enumerator
ZB_ZDO_AUTHORIZATION_TYPE_LEGACY 

Authorization type for legacy devices ( < r21)

ZB_ZDO_AUTHORIZATION_TYPE_R21_TCLK 

Authorization type for r21 device through TCLK

◆ zb_zdo_fb_initiator_finished_status_e

Status codes for F&B Initiator Finished signal.

Enumerator
ZB_ZDO_FB_INITIATOR_STATUS_SUCCESS 

F&B with a Target on the Initiator side is success completed

ZB_ZDO_FB_INITIATOR_STATUS_CANCEL 

F&B on the Initiator side is canceled

ZB_ZDO_FB_INITIATOR_STATUS_ALARM 

F&B on the Initiator side is finished by timeout

ZB_ZDO_FB_INITIATOR_STATUS_ERROR 

F&B on the Initiator side is failure finished

◆ zb_zdo_legacy_device_authorization_status_e

Authorization statuses for ZB_ZDO_AUTHORIZATION_TYPE_LEGACY value of zb_zdo_authorization_type_t type.

Enumerator
ZB_ZDO_LEGACY_DEVICE_AUTHORIZATION_SUCCESS 

Authorization success

ZB_ZDO_LEGACY_DEVICE_AUTHORIZATION_FAILED 

Authorization failed

◆ zb_zdo_tclk_authorization_status_e

Authorization statuses for ZB_ZDO_AUTHORIZATION_TYPE_R21_TCLK value of zb_zdo_authorization_type_t type.

Enumerator
ZB_ZDO_TCLK_AUTHORIZATION_SUCCESS 

Authorization success

ZB_ZDO_TCLK_AUTHORIZATION_TIMEOUT 

Authorization timeout

ZB_ZDO_TCLK_AUTHORIZATION_FAILED 

Authorization failed

◆ zb_zdp_status_e

ZDP status values (2.4.5 ZDP Enumeration Description)

Enumerator
ZB_ZDP_STATUS_SUCCESS 

The requested operation or transmission was completed successfully.

ZB_ZDP_STATUS_INV_REQUESTTYPE 

The supplied request type was invalid.

ZB_ZDP_STATUS_DEVICE_NOT_FOUND 

The requested device did not exist on a device following a child descriptor request to a parent.

ZB_ZDP_STATUS_INVALID_EP 

The supplied endpoint was equal to 0x00 or between 0xf1 and 0xff.

ZB_ZDP_STATUS_NOT_ACTIVE 

The requested endpoint is not described by a simple descriptor.

ZB_ZDP_STATUS_NOT_SUPPORTED 

The requested optional feature is not supported on the target device.

ZB_ZDP_STATUS_TIMEOUT 

A timeout has occurred with the requested operation.

ZB_ZDP_STATUS_NO_MATCH 

The end device bind request was unsuccessful due to a failure to match any suitable clusters.

ZB_ZDP_STATUS_NO_ENTRY 

The unbind request was unsuccessful due to the coordinator or source device not having an entry in its binding table to unbind.

ZB_ZDP_STATUS_NO_DESCRIPTOR 

A child descriptor was not available following a discovery request to a parent.

ZB_ZDP_STATUS_INSUFFICIENT_SPACE 

The device does not have storage space to support the requested operation.

ZB_ZDP_STATUS_NOT_PERMITTED 

The device is not in the proper state to support the requested operation.

ZB_ZDP_STATUS_TABLE_FULL 

The device does not have table space to support the operation.

ZB_ZDP_STATUS_NOT_AUTHORIZED 

The permissions configuration table on the target indicates that the request is not authorized from this device.

ZB_ZDP_STATUS_INVALID_INDEX 

The index in the received command is out of bounds.

ZB_ZDP_STATUS_TIMEOUT_BY_STACK 

Custom internal statuses.

Function Documentation

◆ zb_get_app_signal()

zb_zdo_app_signal_type_t zb_get_app_signal ( zb_uint8_t  param,
zb_zdo_app_signal_hdr_t **  sg_p 
)

Unpack application signal buffer in zboss_signal_handler()

Parameters
param- parameter of zboss_signal_handler()
sg_p- pointer to the extended signal info, if application wants it. Can be NULL.
Returns
Application signal

◆ zboss_signal_handler()

void zboss_signal_handler ( zb_uint8_t  param)

ZBOSS application signal handler.

Mandatory for all applications implemented on the top of ZBOSS stack. See zb_zdo_app_signal_type_e.

Parameters
param- reference to the buffer which contains signal. See zb_get_app_signal.
ZB_ZCL_GET_ATTRIBUTE_VAL_8
#define ZB_ZCL_GET_ATTRIBUTE_VAL_8(attr_desc)
Definition: zb_zcl_common.h:798
zb_zdo_signal_device_annce_params_s
Association parameters.
Definition: zboss_api_zdo.h:777
zb_zdo_signal_leave_indication_params_s::device_addr
zb_ieee_addr_t device_addr
Definition: zboss_api_zdo.h:720
ZB_COMMON_SIGNAL_CAN_SLEEP
@ ZB_COMMON_SIGNAL_CAN_SLEEP
Definition: zboss_api_zdo.h:430
ZB_BDB_SIGNAL_DEVICE_FIRST_START
@ ZB_BDB_SIGNAL_DEVICE_FIRST_START
Definition: zboss_api_zdo.h:182
ZB_ZDO_SIGNAL_DEVICE_ANNCE
@ ZB_ZDO_SIGNAL_DEVICE_ANNCE
Definition: zboss_api_zdo.h:143
zb_zcl_attr_s
ZCL attribute definition structure.
Definition: zb_zcl_common.h:613
zb_bool_t
zb_bool_t
General purpose boolean type.
Definition: zb_types.h:127
zb_zdo_app_signal_type_t
enum zb_zdo_app_signal_type_e zb_zdo_app_signal_type_t
ZB_ZDO_SIGNAL_SKIP_STARTUP
@ ZB_ZDO_SIGNAL_SKIP_STARTUP
Definition: zboss_api_zdo.h:121
ZB_SCHEDULE_APP_CALLBACK
#define ZB_SCHEDULE_APP_CALLBACK(func, param)
Definition: zboss_api_core.h:302
ZB_SCHEDULE_APP_ALARM
#define ZB_SCHEDULE_APP_ALARM(func, param, timeout_bi)
Definition: zboss_api_core.h:355
ZB_BDB_SIGNAL_DEVICE_REBOOT
@ ZB_BDB_SIGNAL_DEVICE_REBOOT
Definition: zboss_api_zdo.h:200
ZB_ZCL_CLUSTER_ID_ON_OFF
@ ZB_ZCL_CLUSTER_ID_ON_OFF
Definition: zb_zcl_common.h:203
ZB_FALSE
@ ZB_FALSE
Definition: zb_types.h:129
zb_zdo_signal_leave_params_s
Leave parameters.
Definition: zboss_api_zdo.h:697
bdb_start_top_level_commissioning
zb_bool_t bdb_start_top_level_commissioning(zb_uint8_t mode_mask)
Start top level commissioning procedure with specified mode mask. When the selected commissioning pro...
zb_zcl_get_attr_desc_a
zb_zcl_attr_t * zb_zcl_get_attr_desc_a(zb_uint8_t ep, zb_uint16_t cluster_id, zb_uint8_t cluster_role, zb_uint16_t attr_id)
ZB_SCHEDULE_APP_ALARM_CANCEL
#define ZB_SCHEDULE_APP_ALARM_CANCEL(func, param)
Definition: zboss_api_core.h:401
ZB_ZDO_SIGNAL_LEAVE
@ ZB_ZDO_SIGNAL_LEAVE
Definition: zboss_api_zdo.h:157
zb_zdo_signal_device_annce_params_s::device_short_addr
zb_uint16_t device_short_addr
Definition: zboss_api_zdo.h:779
ZB_TIME_ONE_SECOND
#define ZB_TIME_ONE_SECOND
Definition: zboss_api_core.h:170
zb_bdb_is_factory_new
zb_bool_t zb_bdb_is_factory_new(void)
ZB_ALARM_ANY_PARAM
#define ZB_ALARM_ANY_PARAM
Definition: zboss_api_core.h:364
ZB_ZCL_CLUSTER_SERVER_ROLE
@ ZB_ZCL_CLUSTER_SERVER_ROLE
Definition: zb_zcl_common.h:183
zb_sleep_now
void zb_sleep_now(void)
ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID
@ ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID
OnOff attribute.
Definition: zb_zcl_on_off.h:61
ZB_BDB_NETWORK_STEERING
@ ZB_BDB_NETWORK_STEERING
Definition: zboss_api_zcl.h:1874
ZB_ZDO_SIGNAL_LEAVE_INDICATION
@ ZB_ZDO_SIGNAL_LEAVE_INDICATION
Definition: zboss_api_zdo.h:383
ZB_ZDO_SIGNAL_GET_PARAMS
#define ZB_ZDO_SIGNAL_GET_PARAMS(sg_p, type)
Definition: zboss_api_zdo.h:682
zb_zdo_signal_leave_indication_params_s::rejoin
zb_uint8_t rejoin
Definition: zboss_api_zdo.h:721
zb_zdo_signal_leave_indication_params_s
Leave Indication parameters.
Definition: zboss_api_zdo.h:718