nRF5 SDK for Thread and Zigbee v3.2.0
Macros
AF API add-ons

Macros

#define __CAT_VA__(a, b,...)   a## __VA_ARGS__## b
 Redefinition of CAT as variadic macro. More...
 
#define ZB_AF_SIMPLE_DESC_TYPE_VA(in_num, out_num,...)   __CAT_VA__(zb_af_simple_desc_, _t, __VA_ARGS__)
 Redefinition of ZB_AF_SIMPLE_DESC_TYPE as variadic macro. More...
 
#define ZB_DECLARE_SIMPLE_DESC_VA(in_clusters_count, out_clusters_count,...)
 Redefinition of ZB_DECLARE_SIMPLE_DESC as variadic macro. More...
 
#define ZBOSS_DECLARE_DEVICE_CTX_EP_VA(device_ctx_name,...)
 Redefinition of ZBOSS_DECLARE_DEVICE_CTX_N_EP as variadic macro. More...
 

Detailed Description

Macro Definition Documentation

#define __CAT_VA__ (   a,
  b,
  ... 
)    a## __VA_ARGS__## b

Redefinition of CAT as variadic macro.

Parameters
IN]a Mandatory argument to concatenate.
IN]b Mandatory argument to concatenate.
IN]... Optional argument to concatenate.
#define ZB_AF_SIMPLE_DESC_TYPE_VA (   in_num,
  out_num,
  ... 
)    __CAT_VA__(zb_af_simple_desc_, _t, __VA_ARGS__)

Redefinition of ZB_AF_SIMPLE_DESC_TYPE as variadic macro.

Parameters
IN]... Optional argument to concatenate to the type name.
#define ZB_DECLARE_SIMPLE_DESC_VA (   in_clusters_count,
  out_clusters_count,
  ... 
)
Value:
typedef ZB_PACKED_PRE struct zb_af_simple_desc_## __VA_ARGS__## _s \
{ \
zb_uint8_t endpoint; /* Endpoint. */ \
zb_uint16_t app_profile_id; /* Application profile identifier. */ \
zb_uint16_t app_device_id; /* Application device identifier. */ \
zb_bitfield_t app_device_version:4; /* Application device version. */ \
zb_bitfield_t reserved:4; /* Reserved. */ \
zb_uint8_t app_input_cluster_count; /* Application input cluster count. */ \
zb_uint8_t app_output_cluster_count; /* Application output cluster count. */ \
/* Application input and output cluster list. */ \
zb_uint16_t app_cluster_list[in_clusters_count + out_clusters_count]; \
} ZB_PACKED_STRUCT zb_af_simple_desc_## __VA_ARGS__## _t
unsigned short zb_uint16_t
Project-local 2-byte unsigned int type.
Definition: zb_types.h:120
unsigned char zb_uint8_t
Project-local 1-byte unsigned int type.
Definition: zb_types.h:116
zb_uint32_t zb_bitfield_t
Type to be used for unsigned bit fields inside structure.
Definition: zb_types.h:154

Redefinition of ZB_DECLARE_SIMPLE_DESC as variadic macro.

Parameters
IN]in_clusters_count Number of input clusters.
IN]out_clusters_count Number of output clusters.
IN]... Optional argument to concatenate to the type name.
#define ZBOSS_DECLARE_DEVICE_CTX_EP_VA (   device_ctx_name,
  ... 
)
Value:
zb_af_endpoint_desc_t *ep_list_##device_ctx_name[] = { \
__VA_ARGS__ \
}; \
ZBOSS_DECLARE_DEVICE_CTX(device_ctx_name, ep_list_##device_ctx_name, \
(ZB_ZCL_ARRAY_SIZE(ep_list_##device_ctx_name, zb_af_endpoint_desc_t*)))
Endpoint descriptor.
Definition: zboss_api_af.h:331
#define ZBOSS_DECLARE_DEVICE_CTX(device_ctx_name, ep_list_name, ep_count)
Definition: zboss_api_af.h:596

Redefinition of ZBOSS_DECLARE_DEVICE_CTX_N_EP as variadic macro.

Parameters
IN]device_ctx_name Device context variable name.
IN]... Variables holding context for endpoints.

Documentation feedback | Developer Zone | Subscribe | Updated