nRF5 SDK for Thread and Zigbee v3.0.0
Macros

Macros

#define TRACE_ENABLED(m)   TRACE_ENABLED_(m)
 Check that trace is enabled for provided level. To be used in constructions like: More...
 
#define ZB_TRACE_FILE_ID   12345
 
#define ZB_SET_TRACE_LEVEL(l)   g_trace_level = (l);
 
#define ZB_SET_TRACE_MASK(m)   g_trace_mask = (m);
 
#define ZB_SET_TRACE_OFF()   g_o_trace_level = g_trace_level, g_trace_level = 0
 
#define ZB_SET_TRACE_ON()   g_trace_level = g_o_trace_level
 
#define ZB_HW_IS_INSIDE_ISR()   0
 
#define TRACE_ENTER_INT()   g_trace_inside_intr = 1
 
#define TRACE_LEAVE_INT()   g_trace_inside_intr = 0
 
#define ZB_TRACE_INSIDE_INTR()   (g_trace_inside_intr || ZB_HW_IS_INSIDE_ISR())
 
#define ZB_TRACE_INSIDE_INTR_BLOCK()   ZB_TRACE_INSIDE_INTR()
 
#define TRACE_MSG(lm, fmts, args)
 Put trace output. More...
 
#define TRACE_FORMAT_64   "%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx"
 
#define TRACE_FORMAT_128   "%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx"
 
#define TRACE_ARG_64(a)   (zb_uint8_t)((a)[7]),(zb_uint8_t)((a)[6]),(zb_uint8_t)((a)[5]),(zb_uint8_t)((a)[4]),(zb_uint8_t)((a)[3]),(zb_uint8_t)((a)[2]),(zb_uint8_t)((a)[1]),(zb_uint8_t)((a)[0])
 
#define TRACE_ARG_128(a)   (zb_uint8_t)((a)[0]),(zb_uint8_t)((a)[1]),(zb_uint8_t)((a)[2]),(zb_uint8_t)((a)[3]),(zb_uint8_t)((a)[4]),(zb_uint8_t)((a)[5]),(zb_uint8_t)((a)[6]),(zb_uint8_t)((a)[7]),(zb_uint8_t)((a)[8]),(zb_uint8_t)((a)[9]),(zb_uint8_t)((a)[10]),(zb_uint8_t)((a)[11]),(zb_uint8_t)((a)[12]),(zb_uint8_t)((a)[13]),(zb_uint8_t)((a)[14]),(zb_uint8_t)((a)[15])
 

General trace messages

#define TRACE_ERROR   (zb_uint_t)-1, 1
 Error message.
 
#define TRACE_INFO1   (zb_uint_t)-1, 2
 Information message level 1.
 
#define TRACE_INFO2   (zb_uint_t)-1, 3
 Information message level 2.
 
#define TRACE_INFO3   (zb_uint_t)-1, 4
 Information message level 3.
 

Trace subsystems.

#define TRACE_SUBSYSTEM_COMMON   0x0001
 
#define TRACE_SUBSYSTEM_MEM   0x0002
 
#define TRACE_SUBSYSTEM_MAC   0x0004
 
#define TRACE_SUBSYSTEM_NWK   0x0008
 
#define TRACE_SUBSYSTEM_APS   0x0010
 
#define TRACE_SUBSYSTEM_CLOUD   0x0020
 
#define TRACE_SUBSYSTEM_ZDO   0x0040
 
#define TRACE_SUBSYSTEM_SECUR   0x0080
 
#define TRACE_SUBSYSTEM_ZCL   0x0100
 
#define TRACE_SUBSYSTEM_ZLL   0x0200
 
#define TRACE_SUBSYSTEM_JSON   TRACE_SUBSYSTEM_ZLL
 
#define TRACE_SUBSYSTEM_SSL   0x0400
 
#define TRACE_SUBSYSTEM_APP   0x0800
 
#define TRACE_SUBSYSTEM_LWIP   0x1000 /* LWIP is used, else free */
 
#define TRACE_SUBSYSTEM_ALIEN   0x2000 /* Some special debug */
 
#define TRACE_SUBSYSTEM_MACLL   TRACE_SUBSYSTEM_ALIEN
 
#define TRACE_SUBSYSTEM_VENSTAR   TRACE_SUBSYSTEM_ALIEN
 
#define TRACE_SUBSYSTEM_ZGP   0x4000
 
#define TRACE_SUBSYSTEM_USB   0x8000
 
#define TRACE_SUBSYSTEM_SPI   TRACE_SUBSYSTEM_USB
 
#define TRACE_SUBSYSTEM_HTTP
 
#define TRACE_SUBSYSTEM_OTA   TRACE_SUBSYSTEM_ZGP
 
#define TRACE_SUBSYSTEM_TRANSPORT   TRACE_SUBSYSTEM_LWIP
 
#define TRACE_SUBSYSTEM_UART   TRACE_SUBSYSTEM_LWIP
 
#define TRACE_SUBSYSTEM_SPECIAL1   TRACE_SUBSYSTEM_ALIEN
 
#define TRACE_SUBSYSTEM_BATTERY   TRACE_SUBSYSTEM_SSL
 
#define TRACE_SUBSYSTEM_MAC_API   TRACE_SUBSYSTEM_SSL
 

Trace data format definitions.

#define TRACE_ARG_SIZE(n_h, n_d, n_l, n_p, n_a)   __FILE__,__LINE__, (n_h*4 + n_d*4 + n_l*4 + n_p*4 + n_a*8)
 
#define FMT__0   TRACE_ARG_SIZE(0,0,0,0,0)
 
#define FMT__A   TRACE_ARG_SIZE(0,0,0,0,1)
 
#define FMT__A_A   TRACE_ARG_SIZE(0,0,0,0,2)
 
#define FMT__A_A_A_A   TRACE_ARG_SIZE(0,0,0,0,4)
 
#define FMT__A_D_A_P   TRACE_ARG_SIZE(0,1,0,1,2)
 
#define FMT__A_D_D   TRACE_ARG_SIZE(0,2,0,0,1)
 
#define FMT__A_D_D_P_H   TRACE_ARG_SIZE(1,2,0,1,1)
 
#define FMT__A_D_H   TRACE_ARG_SIZE(1,1,0,0,1)
 
#define FMT__A_D_P_H_H_H   TRACE_ARG_SIZE(3,1,0,1,1)
 
#define FMT__A_H   TRACE_ARG_SIZE(1,0,0,0,1)
 
#define FMT__A_H_H   TRACE_ARG_SIZE(2,0,0,0,1)
 
#define FMT__A_P   TRACE_ARG_SIZE(0,0,0,1,1)
 
#define FMT__AA   TRACE_ARG_SIZE(0,0,0,0,2)
 
#define FMT__C   TRACE_ARG_SIZE(1,0,0,0,0)
 
#define FMT__C_C_H_H   TRACE_ARG_SIZE(4,0,0,0,0)
 
#define FMT__C_H   TRACE_ARG_SIZE(2,0,0,0,0)
 
#define FMT__D   TRACE_ARG_SIZE(0,1,0,0,0)
 
#define FMT__D_A   TRACE_ARG_SIZE(0,1,0,0,1)
 
#define FMT__D_A_A_H   TRACE_ARG_SIZE(1,1,0,0,2)
 
#define FMT__D_A_D_D_D_D_D_D_D_D   TRACE_ARG_SIZE(0,9,0,0,1)
 
#define FMT__D_A_D_P_H_H_H   TRACE_ARG_SIZE(3,2,0,1,1)
 
#define FMT__D_A_H_H   TRACE_ARG_SIZE(2,1,0,0,1)
 
#define FMT__D_A_P   TRACE_ARG_SIZE(0,1,0,1,1)
 
#define FMT__D_C   TRACE_ARG_SIZE(1,1,0,0,0)
 
#define FMT__D_D   TRACE_ARG_SIZE(0,2,0,0,0)
 
#define FMT__D_D_A   TRACE_ARG_SIZE(0,2,0,0,1)
 
#define FMT__D_D_A   TRACE_ARG_SIZE(0,2,0,0,1)
 
#define FMT__D_D_A_A   TRACE_ARG_SIZE(0,2,0,0,2)
 
#define FMT__D_D_A_D   TRACE_ARG_SIZE(0,3,0,0,1)
 
#define FMT__D_D_A_D_D_D_D   TRACE_ARG_SIZE(0,6,0,0,1)
 
#define FMT__D_D_D   TRACE_ARG_SIZE(0,3,0,0,0)
 
#define FMT__D_D_D_C   TRACE_ARG_SIZE(1,3,0,0,0)
 
#define FMT__D_D_D_D   TRACE_ARG_SIZE(0,4,0,0,0)
 
#define FMT__D_D_D_D_D   TRACE_ARG_SIZE(0,5,0,0,0)
 
#define FMT__D_D_D_D_D_D   TRACE_ARG_SIZE(0,6,0,0,0)
 
#define FMT__D_D_D_D_D_D_D   TRACE_ARG_SIZE(0,7,0,0,0)
 
#define FMT__D_D_D_D_D_D_D_D   TRACE_ARG_SIZE(0,8,0,0,0)
 
#define FMT__D_D_D_D_D_D_D_D_D_D_D   TRACE_ARG_SIZE(0,11,0,0,0)
 
#define FMT__D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D_D   TRACE_ARG_SIZE(0,17,0,0,0)
 
#define FMT__D_D_D_D_D_D_P   TRACE_ARG_SIZE(0,6,0,1,0)
 
#define FMT__D_D_D_D_H   TRACE_ARG_SIZE(1,4,0,0,0)
 
#define FMT__D_D_D_H   TRACE_ARG_SIZE(1,3,0,0,0)
 
#define FMT__D_D_D_H_H   TRACE_ARG_SIZE(2,3,0,0,0)
 
#define FMT__D_D_D_L_L   TRACE_ARG_SIZE(0,3,2,0,0)
 
#define FMT__D_D_D_P   TRACE_ARG_SIZE(0,3,0,1,0)
 
#define FMT__D_D_H   TRACE_ARG_SIZE(1,2,0,0,0)
 
#define FMT__D_D_H_D_H   TRACE_ARG_SIZE(2,3,0,0,0)
 
#define FMT__D_D_H_H   TRACE_ARG_SIZE(2,2,0,0,0)
 
#define FMT__D_D_H_P_D   TRACE_ARG_SIZE(1,3,0,1,0)
 
#define FMT__D_D_L   TRACE_ARG_SIZE(0,2,1,0,0)
 
#define FMT__D_D_L_P   TRACE_ARG_SIZE(0,2,1,1,0)
 
#define FMT__D_D_P   TRACE_ARG_SIZE(0,2,0,1,0)
 
#define FMT__D_D_P_D   TRACE_ARG_SIZE(0,3,0,1,0)
 
#define FMT__D_D_P_H   TRACE_ARG_SIZE(1,2,0,1,0)
 
#define FMT__D_D_P_H_H_H   TRACE_ARG_SIZE(3,2,0,1,0)
 
#define FMT__D_D_P_P_P   TRACE_ARG_SIZE(0,2,0,3,0)
 
#define FMT__D_H   TRACE_ARG_SIZE(1,1,0,0,0)
 
#define FMT__D_H_D   TRACE_ARG_SIZE(1,2,0,0,0)
 
#define FMT__D_H_D_D   TRACE_ARG_SIZE(1,3,0,0,0)
 
#define FMT__D_H_D_D_H_D   TRACE_ARG_SIZE(2,4,0,0,0)
 
#define FMT__D_H_D_H   TRACE_ARG_SIZE(2,2,0,0,0)
 
#define FMT__D_H_D_H_H   TRACE_ARG_SIZE(3,2,0,0,0)
 
#define FMT__D_H_D_P   TRACE_ARG_SIZE(1,2,0,1,0)
 
#define FMT__D_H_D_P_D   TRACE_ARG_SIZE(1,3,0,1,0)
 
#define FMT__D_H_H   TRACE_ARG_SIZE(2,1,0,0,0)
 
#define FMT__D_H_H_D   TRACE_ARG_SIZE(2,2,0,0,0)
 
#define FMT__D_H_H_D_D_D_D   TRACE_ARG_SIZE(2,5,0,0,0)
 
#define FMT__D_H_H_H   TRACE_ARG_SIZE(3,1,0,0,0)
 
#define FMT__D_H_H_H_H   TRACE_ARG_SIZE(4,1,0,0,0)
 
#define FMT__D_H_H_H_H_H   TRACE_ARG_SIZE(5,1,0,0,0)
 
#define FMT__D_H_H_H_H_H_H_D_D_D_D   TRACE_ARG_SIZE(6,5,0,0,0)
 
#define FMT__D_H_L   TRACE_ARG_SIZE(1,1,1,0,0)
 
#define FMT__D_H_P   TRACE_ARG_SIZE(1,1,0,1,0)
 
#define FMT__D_L   TRACE_ARG_SIZE(0,1,1,0,0)
 
#define FMT__D_L_L   TRACE_ARG_SIZE(0,1,2,0,0)
 
#define FMT__D_L_L_D   TRACE_ARG_SIZE(0,2,2,0,0)
 
#define FMT__D_L_L_H   TRACE_ARG_SIZE(1,1,2,0,0)
 
#define FMT__D_L_L_L   TRACE_ARG_SIZE(0,1,3,0,0)
 
#define FMT__D_P   TRACE_ARG_SIZE(0,1,0,1,0)
 
#define FMT__D_P_D   TRACE_ARG_SIZE(0,2,0,1,0)
 
#define FMT__D_P_D_D   TRACE_ARG_SIZE(0,3,0,1,0)
 
#define FMT__D_P_H_H_D_D   TRACE_ARG_SIZE(2,3,0,1,0)
 
#define FMT__D_P_H_H_D_H_H   TRACE_ARG_SIZE(4,2,0,1,0)
 
#define FMT__D_P_H_H_H_H   TRACE_ARG_SIZE(4,1,0,1,0)
 
#define FMT__D_P_H_H_H_H_H   TRACE_ARG_SIZE(5,1,0,1,0)
 
#define FMT__D_P_H_H_H_H_H_H   TRACE_ARG_SIZE(6,1,0,1,0)
 
#define FMT__D_P_H_P   TRACE_ARG_SIZE(1,1,0,1,0)
 
#define FMT__D_P_P   TRACE_ARG_SIZE(0,1,0,2,0)
 
#define FMT__D_P_P_D_D_H_H   TRACE_ARG_SIZE(2,3,0,2,0)
 
#define FMT__D_P_P_H   TRACE_ARG_SIZE(1,1,0,2,0)
 
#define FMT__H   TRACE_ARG_SIZE(1,0,0,0,0)
 
#define FMT__H_A   TRACE_ARG_SIZE(1,0,0,0,1)
 
#define FMT__H_A_A   TRACE_ARG_SIZE(1,0,0,0,2)
 
#define FMT__H_A_A_H_H   TRACE_ARG_SIZE(3,0,0,0,2)
 
#define FMT__H_A_H   TRACE_ARG_SIZE(2,0,0,0,1)
 
#define FMT__H_A_H_H_H   TRACE_ARG_SIZE(4,0,0,0,1)
 
#define FMT__H_A_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(9,0,0,0,1)
 
#define FMT__H_C_D_C   TRACE_ARG_SIZE(3,1,0,0,0)
 
#define FMT__H_C_H_C   TRACE_ARG_SIZE(4,0,0,0,0)
 
#define FMT__H_D   TRACE_ARG_SIZE(1,1,0,0,0)
 
#define FMT__H_D_A   TRACE_ARG_SIZE(1,1,0,0,1)
 
#define FMT__H_D_A_H_D   TRACE_ARG_SIZE(2,2,0,0,1)
 
#define FMT__H_D_A_H_H   TRACE_ARG_SIZE(3,1,0,0,1)
 
#define FMT__H_D_A_H_H_H_H   TRACE_ARG_SIZE(5,1,0,0,1)
 
#define FMT__H_D_D   TRACE_ARG_SIZE(1,2,0,0,0)
 
#define FMT__H_D_D_D   TRACE_ARG_SIZE(1,3,0,0,0)
 
#define FMT__H_D_D_D_D   TRACE_ARG_SIZE(1,4,0,0,0)
 
#define FMT__H_D_D_D_D_H   TRACE_ARG_SIZE(2,4,0,0,0)
 
#define FMT__H_D_D_D_H_H_D   TRACE_ARG_SIZE(3,4,0,0,0)
 
#define FMT__H_D_D_H   TRACE_ARG_SIZE(2,2,0,0,0)
 
#define FMT__H_D_D_H_D   TRACE_ARG_SIZE(2,3,0,0,0)
 
#define FMT__H_D_D_H_D_H   TRACE_ARG_SIZE(3,3,0,0,0)
 
#define FMT__H_D_D_H_H   TRACE_ARG_SIZE(3,2,0,0,0)
 
#define FMT__H_D_D_H_H_H   TRACE_ARG_SIZE(4,2,0,0,0)
 
#define FMT__H_D_D_H_H_H_H   TRACE_ARG_SIZE(5,2,0,0,0)
 
#define FMT__H_D_D_H_P   TRACE_ARG_SIZE(2,2,0,1,0)
 
#define FMT__H_D_D_P   TRACE_ARG_SIZE(1,2,0,1,0)
 
#define FMT__H_D_H   TRACE_ARG_SIZE(2,1,0,0,0)
 
#define FMT__H_D_H_D   TRACE_ARG_SIZE(2,2,0,0,0)
 
#define FMT__H_D_H_D_D   TRACE_ARG_SIZE(2,3,0,0,0)
 
#define FMT__H_D_H_D_H_H   TRACE_ARG_SIZE(4,2,0,0,0)
 
#define FMT__H_D_H_H   TRACE_ARG_SIZE(3,1,0,0,0)
 
#define FMT__H_D_H_H_H   TRACE_ARG_SIZE(4,1,0,0,0)
 
#define FMT__H_D_H_H_H_H   TRACE_ARG_SIZE(5,1,0,0,0)
 
#define FMT__H_D_H_H_H_H_H_H   TRACE_ARG_SIZE(7,1,0,0,0)
 
#define FMT__H_D_P_H_H_H_H_H   TRACE_ARG_SIZE(6,1,0,1,0)
 
#define FMT__H_D_P_H_H_H_H_H_H_H   TRACE_ARG_SIZE(8,1,0,1,0)
 
#define FMT__H_D_P_P_P   TRACE_ARG_SIZE(1,1,0,3,0)
 
#define FMT__H_H   TRACE_ARG_SIZE(2,0,0,0,0)
 
#define FMT__H_H_A   TRACE_ARG_SIZE(2,0,0,0,1)
 
#define FMT__H_H_A_A   TRACE_ARG_SIZE(2,0,0,0,2)
 
#define FMT__H_H_D   TRACE_ARG_SIZE(2,1,0,0,0)
 
#define FMT__H_H_D_D   TRACE_ARG_SIZE(2,2,0,0,0)
 
#define FMT__H_H_D_D_D   TRACE_ARG_SIZE(2,3,0,0,0)
 
#define FMT__H_H_D_H   TRACE_ARG_SIZE(3,1,0,0,0)
 
#define FMT__H_H_D_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(10,1,0,0,0)
 
#define FMT__D_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(8,1,0,0,0)
 
#define FMT__H_H_D_H_P   TRACE_ARG_SIZE(3,1,0,1,0)
 
#define FMT__H_D_P   TRACE_ARG_SIZE(1,1,0,1,0)
 
#define FMT__H_H_D_P   TRACE_ARG_SIZE(2,1,0,1,0)
 
#define FMT__H_H_H   TRACE_ARG_SIZE(3,0,0,0,0)
 
#define FMT__H_H_H_D   TRACE_ARG_SIZE(3,1,0,0,0)
 
#define FMT__H_H_H_D_D_H_A_H_A   TRACE_ARG_SIZE(5,2,0,0,2)
 
#define FMT__H_H_H_D_D_D   TRACE_ARG_SIZE(3,3,0,0,0)
 
#define FMT__H_H_H_D_H   TRACE_ARG_SIZE(4,1,0,0,0)
 
#define FMT__H_H_H_D_H_P   TRACE_ARG_SIZE(4,1,0,1,0)
 
#define FMT__H_H_H_H   TRACE_ARG_SIZE(4,0,0,0,0)
 
#define FMT__H_H_H_H_D   TRACE_ARG_SIZE(4,1,0,0,0)
 
#define FMT__H_H_H_H_D_H   TRACE_ARG_SIZE(5,1,0,0,0)
 
#define FMT__H_H_H_H_H   TRACE_ARG_SIZE(5,0,0,0,0)
 
#define FMT__H_H_H_H_H_H   TRACE_ARG_SIZE(6,0,0,0,0)
 
#define FMT__H_H_H_H_H_H_H   TRACE_ARG_SIZE(7,0,0,0,0)
 
#define FMT__H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(8,0,0,0,0)
 
#define FMT__H_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(9,0,0,0,0)
 
#define FMT__H_H_H_H_H_H_H_H_P_P   TRACE_ARG_SIZE(8,0,0,2,0)
 
#define FMT__H_H_H_H_H_H_P_P   TRACE_ARG_SIZE(6,0,0,2,0)
 
#define FMT__H_H_H_H_H_H_P_P_P_P   TRACE_ARG_SIZE(6,2,0,4,0)
 
#define FMT__H_H_H_H_P_P_P   TRACE_ARG_SIZE(4,0,0,3,0)
 
#define FMT__H_H_H_P   TRACE_ARG_SIZE(3,0,0,1,0)
 
#define FMT__H_H_L   TRACE_ARG_SIZE(2,0,1,0,0)
 
#define FMT__H_H_L_H   TRACE_ARG_SIZE(3,0,1,0,0)
 
#define FMT__H_H_L_H_P   TRACE_ARG_SIZE(3,0,1,4,0)
 
#define FMT__H_H_P   TRACE_ARG_SIZE(2,0,0,1,0)
 
#define FMT__H_H_P_D   TRACE_ARG_SIZE(2,1,0,1,0)
 
#define FMT__H_H_P_P_P   TRACE_ARG_SIZE(2,0,0,3,0)
 
#define FMT__H_L   TRACE_ARG_SIZE(1,0,1,0,0)
 
#define FMT__H_L_A   TRACE_ARG_SIZE(1,0,1,0,1)
 
#define FMT__H_L_D   TRACE_ARG_SIZE(1,1,1,0,0)
 
#define FMT__H_L_H   TRACE_ARG_SIZE(2,0,1,0,0)
 
#define FMT__H_L_D_D   TRACE_ARG_SIZE(1,2,1,0,0)
 
#define FMT__H_L_D_P   TRACE_ARG_SIZE(1,1,1,1,0)
 
#define FMT__H_L_H_D   TRACE_ARG_SIZE(2,1,1,0,0)
 
#define FMT__H_L_H_D_D   TRACE_ARG_SIZE(2,2,1,0,0)
 
#define FMT__H_L_H_H_H_H_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(13,0,1,0,0)
 
#define FMT__H_D_H_H_H_H_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(13,1,0,0,0)
 
#define FMT__H_L_H_H_P   TRACE_ARG_SIZE(3,0,1,4,0)
 
#define FMT__H_L_L_H_A   TRACE_ARG_SIZE(2,0,2,0,1)
 
#define FMT__H_P   TRACE_ARG_SIZE(1,0,0,1,0)
 
#define FMT__H_P_D   TRACE_ARG_SIZE(1,1,0,1,0)
 
#define FMT__H_P_D_D_H_P   TRACE_ARG_SIZE(2,2,0,2,0)
 
#define FMT__H_P_H   TRACE_ARG_SIZE(2,0,0,1,0)
 
#define FMT__H_P_H_D   TRACE_ARG_SIZE(2,1,0,1,0)
 
#define FMT__H_P_H_D_H   TRACE_ARG_SIZE(3,1,0,1,0)
 
#define FMT__H_P_H_H   TRACE_ARG_SIZE(3,0,0,1,0)
 
#define FMT__H_P_H_H_H   TRACE_ARG_SIZE(4,0,0,1,0)
 
#define FMT__H_P_H_H_D   TRACE_ARG_SIZE(3,1,0,1,0)
 
#define FMT__H_P_H_H_H_H   TRACE_ARG_SIZE(5,0,0,1,0)
 
#define FMT__H_P_H_P   TRACE_ARG_SIZE(2,0,0,2,0)
 
#define FMT__H_P_H_P_H   TRACE_ARG_SIZE(3,0,0,2,0)
 
#define FMT__H_P_H_P_H_H   TRACE_ARG_SIZE(4,0,0,2,0)
 
#define FMT__H_P_H_P_H_H_P   TRACE_ARG_SIZE(4,0,0,3,0)
 
#define FMT__H_P_L_H   TRACE_ARG_SIZE(2,0,1,1,0)
 
#define FMT__H_P_P_P   TRACE_ARG_SIZE(1,0,0,3,0)
 
#define FMT__H_P_P_P_D_P_P   TRACE_ARG_SIZE(1,1,0,5,0)
 
#define FMT__H_P_P_P_P   TRACE_ARG_SIZE(1,0,0,4,0)
 
#define FMT__H_P_P_P_P_P   TRACE_ARG_SIZE(1,0,0,5,0)
 
#define FMT__L   TRACE_ARG_SIZE(0,0,1,0,0)
 
#define FMT__L_A   TRACE_ARG_SIZE(0,0,1,0,1)
 
#define FMT__L_D   TRACE_ARG_SIZE(0,1,1,0,0)
 
#define FMT__L_D_D   TRACE_ARG_SIZE(0,2,1,0,0)
 
#define FMT__L_D_D_D   TRACE_ARG_SIZE(0,3,1,0,0)
 
#define FMT__L_H   TRACE_ARG_SIZE(1,0,1,0,0)
 
#define FMT__L_H_H   TRACE_ARG_SIZE(2,0,1,0,0)
 
#define FMT__L_H_H_H   TRACE_ARG_SIZE(3,0,1,0,0)
 
#define FMT__L_L   TRACE_ARG_SIZE(0,0,2,0,0)
 
#define FMT__L_L_L   TRACE_ARG_SIZE(0,0,3,0,0)
 
#define FMT__L_L_A_A   TRACE_ARG_SIZE(0,0,2,0,2)
 
#define FMT__L_D_A_A   TRACE_ARG_SIZE(0,1,1,0,2)
 
#define FMT__L_L_A_A_H_L_H_H_H_H_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(13,0,3,0,2)
 
#define FMT__L_L_D_D   TRACE_ARG_SIZE(0,2,2,0,0)
 
#define FMT__L_L_H_L_H_H_H_H_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(13,0,3,0,0)
 
#define FMT__L_L_L_D   TRACE_ARG_SIZE(0,1,3,0,0)
 
#define FMT__L_L_L_L   TRACE_ARG_SIZE(0,0,4,0,0)
 
#define FMT__L_L_L_L_L   TRACE_ARG_SIZE(0,0,5,0,0)
 
#define FMT__L_L_L_L_L_L_L   TRACE_ARG_SIZE(0,0,7,0,0)
 
#define FMT__L_P   TRACE_ARG_SIZE(0,0,1,1,0)
 
#define FMT__P   TRACE_ARG_SIZE(0,0,0,1,0)
 
#define FMT__P_A   TRACE_ARG_SIZE(0,0,0,1,1)
 
#define FMT__P_D   TRACE_ARG_SIZE(0,1,0,1,0)
 
#define FMT__P_D_D   TRACE_ARG_SIZE(0,2,0,1,0)
 
#define FMT__P_D_D_D   TRACE_ARG_SIZE(0,3,0,1,0)
 
#define FMT__P_D_D_D_D   TRACE_ARG_SIZE(0,4,0,1,0)
 
#define FMT__P_D_D_D_D_D   TRACE_ARG_SIZE(0,5,0,1,0)
 
#define FMT__P_D_D_D_D_D_D   TRACE_ARG_SIZE(0,6,0,1,0)
 
#define FMT__P_D_D_D_D_D_D_D   TRACE_ARG_SIZE(0,7,0,1,0)
 
#define FMT__P_D_D_D_H_D   TRACE_ARG_SIZE(1,4,0,1,0)
 
#define FMT__P_D_D_H   TRACE_ARG_SIZE(1,2,0,1,0)
 
#define FMT__P_D_D_L_L_P   TRACE_ARG_SIZE(0,2,2,2,0)
 
#define FMT__P_D_H   TRACE_ARG_SIZE(1,1,0,1,0)
 
#define FMT__P_D_P   TRACE_ARG_SIZE(0,1,0,2,0)
 
#define FMT__P_D_P_D   TRACE_ARG_SIZE(0,2,0,2,0)
 
#define FMT__P_H   TRACE_ARG_SIZE(1,0,0,1,0)
 
#define FMT__P_H_D   TRACE_ARG_SIZE(1,1,0,1,0)
 
#define FMT__P_H_D_D   TRACE_ARG_SIZE(1,2,0,1,0)
 
#define FMT__P_H_D_D_H   TRACE_ARG_SIZE(2,2,0,1,0)
 
#define FMT__P_H_D_P   TRACE_ARG_SIZE(1,1,0,2,0)
 
#define FMT__P_H_D_H   TRACE_ARG_SIZE(2,1,0,1,0)
 
#define FMT__P_H_D_L   TRACE_ARG_SIZE(1,1,1,1,0)
 
#define FMT__P_H_H   TRACE_ARG_SIZE(2,0,0,1,0)
 
#define FMT__P_H_H_D_D   TRACE_ARG_SIZE(2,2,0,1,0)
 
#define FMT__P_H_H_H   TRACE_ARG_SIZE(3,0,0,1,0)
 
#define FMT__P_H_H_H_A   TRACE_ARG_SIZE(3,0,0,1,1)
 
#define FMT__P_H_H_H_H   TRACE_ARG_SIZE(4,0,0,1,0)
 
#define FMT__P_H_H_H_H_D   TRACE_ARG_SIZE(4,1,0,1,0)
 
#define FMT__P_H_H_H_H_H_H   TRACE_ARG_SIZE(6,0,0,1,0)
 
#define FMT__P_H_H_H_H_H_H_H   TRACE_ARG_SIZE(7,0,0,1,0)
 
#define FMT__P_H_H_H_L   TRACE_ARG_SIZE(3,0,1,1,0)
 
#define FMT__P_H_H_L   TRACE_ARG_SIZE(2,0,1,1,0)
 
#define FMT__P_H_L   TRACE_ARG_SIZE(1,0,1,1,0)
 
#define FMT__P_H_L_H_L   TRACE_ARG_SIZE(2,0,2,1,0)
 
#define FMT__P_H_P   TRACE_ARG_SIZE(1,0,0,2,0)
 
#define FMT__P_H_P_D   TRACE_ARG_SIZE(1,1,0,2,0)
 
#define FMT__P_H_P_D_D   TRACE_ARG_SIZE(1,2,0,2,0)
 
#define FMT__P_H_P_D_D_D   TRACE_ARG_SIZE(1,3,0,2,0)
 
#define FMT__P_H_P_H   TRACE_ARG_SIZE(2,0,0,2,0)
 
#define FMT__P_H_P_H_L   TRACE_ARG_SIZE(2,0,1,2,0)
 
#define FMT__P_H_P_P   TRACE_ARG_SIZE(1,0,0,3,0)
 
#define FMT__P_H_P_L   TRACE_ARG_SIZE(1,0,1,2,0)
 
#define FMT__P_H_P_P_H   TRACE_ARG_SIZE(2,0,0,3,0)
 
#define FMT__P_H_P_P_P   TRACE_ARG_SIZE(1,0,0,4,0)
 
#define FMT__P_L   TRACE_ARG_SIZE(0,0,1,1,0)
 
#define FMT__P_L_D   TRACE_ARG_SIZE(0,1,1,1,0)
 
#define FMT__P_L_H   TRACE_ARG_SIZE(1,0,1,1,0)
 
#define FMT__P_L_P   TRACE_ARG_SIZE(0,0,1,2,0)
 
#define FMT__P_L_L_D   TRACE_ARG_SIZE(0,1,2,1,0)
 
#define FMT__P_L_L_L   TRACE_ARG_SIZE(0,0,3,1,0)
 
#define FMT__P_L_P_L   TRACE_ARG_SIZE(0,0,2,2,0)
 
#define FMT__P_L_P_P_P   TRACE_ARG_SIZE(0,0,1,4,0)
 
#define FMT__P_P   TRACE_ARG_SIZE(0,0,0,2,0)
 
#define FMT__P_P_D   TRACE_ARG_SIZE(0,1,0,2,0)
 
#define FMT__P_P_D_D   TRACE_ARG_SIZE(0,2,0,2,0)
 
#define FMT__P_P_D_D_H   TRACE_ARG_SIZE(1,2,0,2,0)
 
#define FMT__P_P_D_D_P   TRACE_ARG_SIZE(0,2,0,3,0)
 
#define FMT__P_P_D_H_H   TRACE_ARG_SIZE(2,1,0,2,0)
 
#define FMT__P_P_D_H_P   TRACE_ARG_SIZE(1,1,0,3,0)
 
#define FMT__P_P_D_P   TRACE_ARG_SIZE(0,1,0,3,0)
 
#define FMT__P_P_D_P_D   TRACE_ARG_SIZE(0,2,0,3,0)
 
#define FMT__P_P_D_P_H   TRACE_ARG_SIZE(1,1,0,3,0)
 
#define FMT__P_P_H   TRACE_ARG_SIZE(1,0,0,2,0)
 
#define FMT__P_P_H_D   TRACE_ARG_SIZE(1,1,0,2,0)
 
#define FMT__P_P_H_H   TRACE_ARG_SIZE(2,0,0,2,0)
 
#define FMT__P_P_H_H_P   TRACE_ARG_SIZE(2,0,0,3,0)
 
#define FMT__P_P_H_H_H   TRACE_ARG_SIZE(3,0,0,2,0)
 
#define FMT__P_P_H_P   TRACE_ARG_SIZE(1,0,0,3,0)
 
#define FMT__P_P_H_P_D_P   TRACE_ARG_SIZE(1,2,0,4,0)
 
#define FMT__P_P_H_P_H   TRACE_ARG_SIZE(2,0,0,3,0)
 
#define FMT__P_P_L_D   TRACE_ARG_SIZE(0,1,1,2,0)
 
#define FMT__P_P_P   TRACE_ARG_SIZE(0,0,0,3,0)
 
#define FMT__P_P_P_H   TRACE_ARG_SIZE(1,0,0,3,0)
 
#define FMT__P_P_P_D   TRACE_ARG_SIZE(0,1,0,3,0)
 
#define FMT__P_P_P_D_P   TRACE_ARG_SIZE(0,1,0,4,0)
 
#define FMT__P_P_P_H_H   TRACE_ARG_SIZE(2,0,0,3,0)
 
#define FMT__P_P_P_P   TRACE_ARG_SIZE(0,0,0,4,0)
 
#define FMT__D_D_L_D   TRACE_ARG_SIZE(0,3,1,0,0)
 
#define FMT__D_D_L_L   TRACE_ARG_SIZE(0,2,2,0,0)
 
#define FMT__D_D_D_D_L_L   TRACE_ARG_SIZE(0,4,2,0,0)
 
#define FMT__L_D_D_D_D_L_L   TRACE_ARG_SIZE(0,4,3,0,0)
 
#define FMT__L_L_L_D_D   TRACE_ARG_SIZE(0,2,3,0,0)
 
#define FMT__D_H_P_H   TRACE_ARG_SIZE(2,1,0,1,0)
 
#define FMT__H_D_H_H_D   TRACE_ARG_SIZE(3,2,0,0,0)
 
#define FMT__D_A_B_H_H   TRACE_ARG_SIZE(2,1,0,0,3)
 
#define FMT__A_A_P   TRACE_ARG_SIZE(0,0,0,1,2)
 
#define FMT__B   TRACE_ARG_SIZE(0,0,0,0,2)
 
#define FMT__B_H_B   TRACE_ARG_SIZE(1,0,0,0,4)
 
#define FMT__A_D   TRACE_ARG_SIZE(0,1,0,0,1)
 
#define FMT__L_D_P_H   TRACE_ARG_SIZE(1,1,1,1,0)
 
#define FMT__D_D_H_H_H   TRACE_ARG_SIZE(3,2,0,0,0)
 
#define FMT__P_B_D_D   TRACE_ARG_SIZE(0,2,0,1,2)
 
#define FMT__H_B_H_B   TRACE_ARG_SIZE(2,0,0,0,4)
 
#define FMT__B_A   TRACE_ARG_SIZE(0,0,0,0,3)
 
#define FMT__D_H_A   TRACE_ARG_SIZE(1,1,0,0,1)
 
#define FMT__D_A_H   TRACE_ARG_SIZE(1,1,0,0,1)
 
#define FMT__D_D_D_A_B   TRACE_ARG_SIZE(0,3,0,0,3)
 
#define FMT__D_B_A   TRACE_ARG_SIZE(0,1,0,0,3)
 
#define FMT__H_B_A   TRACE_ARG_SIZE(1,0,0,0,3)
 
#define FMT__D_D_H_H_D_D_D_D   TRACE_ARG_SIZE(2,6,0,0,0)
 
#define FMT__P_D_H_H_H_A   TRACE_ARG_SIZE(3,1,0,1,1)
 
#define FMT__H_A_H_H_H_H_H   TRACE_ARG_SIZE(6,0,0,0,1)
 
#define FMT__H_D_A_H   TRACE_ARG_SIZE(2,1,0,0,1)
 
#define FMT__D_A_H_D   TRACE_ARG_SIZE(1,2,0,0,1)
 
#define FMT__P_H_H_H_H_H_H_H_H   TRACE_ARG_SIZE(8,0,0,1,0)
 
#define FMT__D_D_H_L_H_H   TRACE_ARG_SIZE(3,2,1,0,0)
 
#define FMT__D_H_L_H_H   TRACE_ARG_SIZE(3,1,1,0,0)
 
#define FMT__H_D_H_L_H_H   TRACE_ARG_SIZE(4,1,1,0,0)
 
#define FMT__D_H_D_H_L_H_H   TRACE_ARG_SIZE(4,2,1,0,0)
 
#define FMT__D_D_H_H_H_D_D_D_D   TRACE_ARG_SIZE(3,6,0,0,0)
 
#define FMT__H_D_H_L   TRACE_ARG_SIZE(2,1,1,0,0)
 
#define FMT__H_H_L_L   TRACE_ARG_SIZE(2,0,2,0,0)
 
#define FMT__D_D_H_H_D_H_D_D_D_D   TRACE_ARG_SIZE(3,7,0,0,0)
 
#define FMT__D_A_D_A   TRACE_ARG_SIZE(0,2,0,0,2)
 
#define FMT__H_H_H_L_H_H_H   TRACE_ARG_SIZE(6,0,1,0,0)
 
#define FMT__H_D_D_D_D_D   TRACE_ARG_SIZE(1,5,0,0,0)
 
#define FMT__P_P_D_D_L   TRACE_ARG_SIZE(0,2,1,2,0)
 
#define FMT__P_L_L   TRACE_ARG_SIZE(0,0,2,1,0)
 
#define FMT__P_P_L_L   TRACE_ARG_SIZE(0,0,2,2,0)
 
#define FMT__H_H_D_D_H   TRACE_ARG_SIZE(3,3,0,0,0)
 
#define FMT__L_D_H_H_H_H   TRACE_ARG_SIZE(4,1,1,0,0)
 
#define FMT__P_A_A   TRACE_ARG_SIZE(0,0,0,1,2)
 
#define FMT__D_D_P_H_H_H_H   TRACE_ARG_SIZE(4,2,1,0,0)
 
#define FMT__P_P_D_D_D   TRACE_ARG_SIZE(0,4,2,0,0)
 
#define FMT__H_H_H_D_D   TRACE_ARG_SIZE(3,3,0,0,0)
 

First argument to ZB_TRACE

#define TRACE_COMMON1   TRACE_SUBSYSTEM_COMMON, 1
 
#define TRACE_COMMON2   TRACE_SUBSYSTEM_COMMON, 2
 
#define TRACE_COMMON3   TRACE_SUBSYSTEM_COMMON, 3
 

Detailed Description

Macro Definition Documentation

#define TRACE_ARG_128 (   a)    (zb_uint8_t)((a)[0]),(zb_uint8_t)((a)[1]),(zb_uint8_t)((a)[2]),(zb_uint8_t)((a)[3]),(zb_uint8_t)((a)[4]),(zb_uint8_t)((a)[5]),(zb_uint8_t)((a)[6]),(zb_uint8_t)((a)[7]),(zb_uint8_t)((a)[8]),(zb_uint8_t)((a)[9]),(zb_uint8_t)((a)[10]),(zb_uint8_t)((a)[11]),(zb_uint8_t)((a)[12]),(zb_uint8_t)((a)[13]),(zb_uint8_t)((a)[14]),(zb_uint8_t)((a)[15])

Trace format arguments for 128-bit numver.

TRACE_MSG(TRACE_ERROR, "KEY: tclk_key1 = " TRACE_FORMAT_128,
(FMT__A_A, TRACE_ARG_128(s_tclk_key1)));
#define TRACE_ARG_64 (   a)    (zb_uint8_t)((a)[7]),(zb_uint8_t)((a)[6]),(zb_uint8_t)((a)[5]),(zb_uint8_t)((a)[4]),(zb_uint8_t)((a)[3]),(zb_uint8_t)((a)[2]),(zb_uint8_t)((a)[1]),(zb_uint8_t)((a)[0])

Trace format arguments for 64-bit address.

TRACE_MSG(TRACE_ERROR, "aps ext pan id " TRACE_FORMAT_64, (FMT__A, TRACE_ARG_64(ZB_AIB().aps_use_extended_pan_id)));
#define TRACE_ENABLED (   m)    TRACE_ENABLED_(m)

Check that trace is enabled for provided level. To be used in constructions like:

if (TRACE_ENABLED(TRACE_APS3))
{
call_some_complex_trace();
}
Parameters
m- trace level macro.
Returns
1 if enabled, 0 if disabled.
#define TRACE_FORMAT_128   "%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx"

Trace format for 128-bit number (key etc).

TRACE_MSG(TRACE_ERROR, "KEY: tclk_key1 = " TRACE_FORMAT_128,
(FMT__A_A, TRACE_ARG_128(s_tclk_key1)));
#define TRACE_FORMAT_64   "%hx.%hx.%hx.%hx.%hx.%hx.%hx.%hx"

Trace format for 64-bit address.

TRACE_MSG(TRACE_ERROR, "aps ext pan id " TRACE_FORMAT_64, (FMT__A, TRACE_ARG_64(ZB_AIB().aps_use_extended_pan_id)));
#define TRACE_MSG (   lm,
  fmts,
  args 
)
Value:
do { \
_T1(lm, fmts, args); \
} while (0)

Put trace output.

Parameters
lm- trace subsystem and level marker.
fmts- printf()-like format string.
args- format string substitution parameters with a size marker.
Example
TRACE_MSG(TRACE_APP1, ">> bulb_nvram_read_app_data page %hd pos %d", (FMT__H_D, page, pos));
#define TRACE_SUBSYSTEM_APP   0x0800

User Application

#define TRACE_SUBSYSTEM_APS   0x0010

APS subsystem.

#define TRACE_SUBSYSTEM_CLOUD   0x0020

Interface to the Cloud if used, else free

#define TRACE_SUBSYSTEM_COMMON   0x0001

Common subsystem.

#define TRACE_SUBSYSTEM_HTTP
Value:
TRACE_SUBSYSTEM_USB /* HTTP == LWIP usage (tcp),
* but not SSL */
#define TRACE_SUBSYSTEM_JSON   TRACE_SUBSYSTEM_ZLL

JSON decoding is used in app, else free

#define TRACE_SUBSYSTEM_MAC   0x0004

MAC subsystem.

#define TRACE_SUBSYSTEM_MEM   0x0002

MEM subsystem (buffers pool).

#define TRACE_SUBSYSTEM_NWK   0x0008

NWK subsystem.

#define TRACE_SUBSYSTEM_SECUR   0x0080

Security subsystem.

#define TRACE_SUBSYSTEM_SSL   0x0400

SSL subsystem

#define TRACE_SUBSYSTEM_ZCL   0x0100

ZCL subsystem.

#define TRACE_SUBSYSTEM_ZDO   0x0040

ZDO subsystem.

#define TRACE_SUBSYSTEM_ZGP   0x4000

ZGP subsystem

#define TRACE_SUBSYSTEM_ZLL   0x0200

ZLL subsystem.

#define ZB_SET_TRACE_LEVEL (   l)    g_trace_level = (l);

Set trace level at runtime

That macro can switch trace level on and off. Trace level must be included into build at compile time by setting ZB_TRACE_LEVEL compiler time define.

Parameters
l- new trace level.
Example
#define ZB_SET_TRACE_MASK (   m)    g_trace_mask = (m);

Set trace mask at runtime

That macro can switch trace mask on and off. Trace mask must be included into build at compile time by setting ZB_TRACE_MASK compiler time define.

Parameters
m- new trace mask.
Example
#define ZB_SET_TRACE_OFF ( )    g_o_trace_level = g_trace_level, g_trace_level = 0

Switch off all trace at runtime

#define ZB_SET_TRACE_ON ( )    g_trace_level = g_o_trace_level

Switch on trace at runtime

That macro enables trace which was active before call to ZB_SET_TRACE_OFF().

#define ZB_TRACE_FILE_ID   12345

Trace file id used by win_com_dump to identify source file.

Must be first define in the .c file, just before first include directive.

Example
#define ZB_TRACE_FILE_ID 45638
#include "bulb.h"

Documentation feedback | Developer Zone | Subscribe | Updated