Macros | |
#define | STACK_NETWORK_SELECT 0x00 |
#define | STACK_2007 0x01 |
#define | STACK_PRO 0x02 |
#define | ZB_PRO_STACK |
#define | ZB_USE_NVRAM |
#define | ZB_USE_NVRAM |
#define | ZB_TIMER_32 |
#define | ZB_DEFAULT_APS_CHANNEL_MASK (ZB_TRANSCEIVER_ALL_CHANNELS_MASK) |
#define | ZB_NWK_STOCHASTIC_ADDRESS_ASSIGN |
#define | ZB_NWK_MAX_PATH_LENGTH 3 |
#define | ZB_NWK_MAX_SRC_ROUTES 3 |
#define | ZB_NEIGHBOR_TABLE_SIZE 32 |
#define | ZB_NEIGHBOR_TABLE_SIZE 32 |
#define | ZB_NEIGHBOR_TABLE_SIZE 32 |
#define | ZB_TIME_ED_IDLE ZB_MILLISECONDS_TO_BEACON_INTERVAL(7500) |
#define | ZB_NWK_ROUTING |
#define | N_SECUR_MATERIAL 3 |
#define | ZB_NWK_MESH_ROUTING |
#define | ZB_APS_GROUP_UP_Q_SIZE 8 |
#define | ZB_N_APS_KEY_PAIR_ARR_MAX_SIZE 5 |
#define | ZB_APS_SECURITY_TIME_OUT_PERIOD ZB_MILLISECONDS_TO_BEACON_INTERVAL(1700) |
#define | ZB_N_APS_ACK_WAIT_DURATION(_rx_on_when_idle) |
#define | ZB_APS_DUPS_TABLE_SIZE 32 |
#define | ZB_IEEE_ADDR_TABLE_SIZE 101 |
#define | ZB_NWK_USE_SEND_JITTER |
#define | ZB_DEFAULT_SCAN_DURATION 3 |
#define | ZB_ZDO_PENDING_LEAVE_SIZE 4 |
#define | ZB_NWK_BLACKLIST |
#define | ZB_NWK_BLACKLIST_SIZE 16 |
#define | ZB_NWK_ROUTING_TABLE_SIZE ZB_NEIGHBOR_TABLE_SIZE |
#define | ZB_NWK_NEIGHBOUR_PATH_COST_LQI_BASED |
#define | ZB_STACK_PROFILE STACK_PRO |
#define | ZB_PROTOCOL_VERSION 0x02 |
#define | ZB_IO_BUF_SIZE 148 |
#define | ZB_UINT24_48_SUPPORT |
#define | ZB_NWK_ROUTING_FAILURE_ATTEMTS_NUM |
#define | ZB_NWK_ROUTING_FAILURE_EXPIRY_STEP (ZB_NWK_ROUTING_TABLE_EXPIRY / ZB_NWK_ROUTING_FAILURE_ATTEMTS_NUM) |
#define | ZB_ZDO_PARENT_LINK_FAILURE_CNT 12 |
#define | ZB_ZDO_CHECK_FAILS_NWK_UPDATE_NOTIFY_LIMIT 4 |
#define | ZB_ZDO_CHECK_FAILS_NWK_UPDATE_NOTIFY_TIMEOUT (60 * 60 * ZB_TIME_ONE_SECOND) |
#define | ZB_ZDO_CHECK_FAILS_CLEAR_TIMEOUT (30 * ZB_TIME_ONE_SECOND) |
#define | ZB_PREDEFINED_ROUTER_ADDR 0x3344 |
#define | ZB_PREDEFINED_ED_ADDR 0x3344 |
#define | ZB_N_VIZIBLE_ADDRESSES 6 |
#define | ZB_CHECK_OOM_STATUS |
#define | ZB_ENABLE_ZCL |
#define | ZB_ENABLE_INTER_PAN_EXCHANGE |
Controls inter-PAN exchange feature. | |
#define | ZB_NEED_AES128_DEC |
#define | ZB_ZLL_ENABLE_COMMISSIONING_CLIENT |
#define | ZB_ZLL_ENABLE_COMMISSIONING_SERVER |
#define | ZB_ZLL_ADDR_ASSIGN_CAPABLE |
#define | ZB_ZLL_PRIMARY_CHANNELS {11, 15, 20, 25} |
#define | ZB_MEMTRACE_BUF_SIZE 4080 |
#define | ZB_NET_TRACE_PORTION 1020 |
#define | ZB_TRACE_SWITCH_OFF_FILE_NAME "trace_off" |
#define | ZB_WATCHDOG_SCHED_QUANT (20 * ZB_TIME_ONE_SECOND) |
#define | ZB_OOM_THRESHOLD (120 * ZB_TIME_ONE_SECOND) |
#define | ZB_SEND_OOM_DELAY (5 * ZB_TIME_ONE_SECOND) |
#define | ZB_TEST_PROFILE |
#define | ZB_PRO_TESTING_MODE |
#define | ZB_PRO_ADDRESS_ASSIGNMENT_CB |
#define | ZLL_TEST_WITH_EMBER |
#define | ZB_SEND_EMPTY_DATA_WITHOUT_APS_ENCRYPTION |
#define | MAC_FRAME_VERSION MAC_FRAME_IEEE_802_15_4_2003 |
#define | ZB_BLOCK_BROADCASTS_SLEEPY_ED |
#define | ZB_DISABLE_APS_ACK_FOR_TRANSPORT_KEY |
#define | ZB_STORE_COUNTERS |
#define | ZB_LAZY_COUNTER_INTERVAL 0x400 |
#define | ZB_NVRAM_DATASET_MIGRATION |
#define | ZB_STORE_ADDR_MAP |
#define | ZB_STORE_NEIGHBOR_TBL |
#define | ZB_NVRAM_DATASET_OWN_VERSIONING |
#define | ZB_STANDARD_TC_KEY {0x5A, 0x69, 0x67, 0x42, 0x65, 0x65, 0x41, 0x6C, 0x6C, 0x69, 0x61, 0x6E, 0x63, 0x65, 0x30, 0x39 }; |
#define | ZB_DISTRIBUTED_GLOBAL_KEY {0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf}; |
#define | ZB_TOUCHLINK_PRECONFIGURED_KEY {0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf}; |
#define | ZB_STANDARD_SECURITY |
#define | ZB_TC_GENERATES_KEYS |
#define | ZB_TC_AT_ZC |
#define | ZB_CCM_KEY_SIZE 16 |
#define | ZB_SECUR_N_SECUR_MATERIAL 3 |
#define | ZB_SECURITY_LEVEL 5 |
#define | ZB_CCM_L 2 |
#define | ZB_CCM_NONCE_LEN (15 - ZB_CCM_L) |
#define | ZB_CCM_M 4 |
#define | ZB_SECUR_NWK_COUNTER_LIMIT (((zb_uint32_t)~0) - 128) |
#define | ZB_DEFAULT_SECURE_ALL_FRAMES 1 |
#define | ZB_APS_SECUR_APS_USE_EXT_NONCE |
#define | ZB_APS_SECUR_APS_USE_EXT_NONCE |
#define | ZB_NWK_SECUR_UNSECURE_FRAME_ATTEMPTS 4 |
#define | ZB_APS_DUP_INITIAL_CLOCK 21 |
#define | ZB_APS_DUP_CHECK_TIMEOUT ZB_MILLISECONDS_TO_BEACON_INTERVAL(1000) |
#define | ZB_APS_DUPS_TABLE_SIZE 32 |
#define | ZB_MAC_INDIRECT_POLL_EXPIRE_TMO ZB_MILLISECONDS_TO_BEACON_INTERVAL(7680) |
#define | ZB_N_APS_MAX_FRAME_RETRIES 3 |
#define | ZB_N_APS_ACK_WAIT_DURATION_FROM_SLEEPY (10*ZB_TIME_ONE_SECOND) |
#define | ZB_APS_PARENT_ANNOUNCE_BASE_TIMER (10 * ZB_TIME_ONE_SECOND) |
#define | ZB_APS_PARENT_ANNOUNCE_JITTER_MAX (10 * ZB_TIME_ONE_SECOND) |
#define | ZB_N_APS_ACK_WAIT_DURATION_FROM_NON_SLEEPY (3*ZB_TIME_ONE_SECOND) |
#define | ZB_N_APS_BINDTRANS_ARR_MAX_SIZE 5 |
#define | ZB_N_APS_BINDTRANS_DST_INDEX_ARR_MAX_SIZE ZB_APS_DST_BINDING_TABLE_SIZE |
#define | ZB_APS_DISABLE_ACK_IN_COMMANDS |
#define | ZB_APS_MAX_BROADCAST_PAYLOAD_SIZE 74 |
#define | ZB_APS_MAX_MAX_BROADCAST_PAYLOAD_SIZE (74 + 8) |
#define | ZB_NWK_MAX_BROADCAST_HDR_SIZE 16 |
#define | ZB_NWK_MAX_SECURITY_HDR_SIZE 18 |
#define | ZB_NWK_MAX_BROADCAST_PAYLOAD_SIZE |
#define | ZB_APS_MAX_PAYLOAD_SIZE (ZB_APS_MAX_BROADCAST_PAYLOAD_SIZE - 8) |
#define | ZB_ZDO_MAX_PAYLOAD_SIZE (ZB_APS_MAX_PAYLOAD_SIZE-1) |
#define | ZB_NWKC_MAC_FRAME_OVERHEAD 0xB |
#define | ZB_NWKC_MIN_HEADER_OVERHEAD 0x8 |
#define | ZB_NSDU_MAX_LEN (MAX_PHY_FRM_SIZE - (ZB_NWKC_MAC_FRAME_OVERHEAD + ZB_NWKC_MIN_HEADER_OVERHEAD)) |
#define | ZB_APSC_MIN_HEADER_OVERHEAD 0x0C |
#define | ZB_ASDU_MAX_LEN (ZB_NSDU_MAX_LEN - ZB_APSC_MIN_HEADER_OVERHEAD) |
#define | ZB_APS_HEADER_MAX_LEN |
#define | ZB_APS_PAYLOAD_MAX_LEN ZB_ASDU_MAX_LEN - ZB_APS_HEADER_MAX_LEN |
#define | ZB_NWK_MAX_CHILDREN 4 |
#define | ZB_NWK_MAX_ROUTERS 4 |
#define | ZB_NWK_TREE_ROUTING_DEPTH 5 |
#define | ZB_NWK_STOCH_DEPTH 15 |
#define | ZB_NWK_ROUTE_DISCOVERY_TABLE_SIZE 5 |
#define | ZB_NWK_ROUTE_DISCOVERY_EXPIRY 10 |
#define | ZB_NWK_EXPIRY_ROUTE_DISCOVERY (ZB_N_APS_ACK_WAIT_DURATION_FROM_SLEEPY / ZB_NWK_ROUTE_DISCOVERY_EXPIRY) |
#define | ZB_MWK_INITIAL_RREQ_RETRIES 3 |
#define | ZB_NWK_RREQ_RETRIES 2 |
#define | ZB_NWK_PENDING_TABLE_SIZE 5 |
#define | ZB_NWK_PENDING_ENTRY_EXPIRY 2 |
#define | ZB_NWK_STATIC_PATH_COST 7 |
#define | ZB_NWK_SEND_AFTER_RRESP_RECV_DELAY_MS 1000 |
#define | ZB_NWK_BTR_TABLE_SIZE 16 |
#define | ZB_NWK_BRR_TABLE_SIZE 8 |
#define | ZB_NWK_MAX_BROADCAST_JITTER_INTERVAL ZB_MILLISECONDS_TO_BEACON_INTERVAL(0x40) |
#define | ZB_NWK_RREQ_RETRY_INTERVAL ZB_MILLISECONDS_TO_BEACON_INTERVAL(0xFE) |
#define | ZB_NWK_RREQ_RETRY_JITTER_MIN ZB_MILLISECONDS_TO_BEACON_INTERVAL(2) |
#define | ZB_NWK_RREQ_RETRY_JITTER_MAX ZB_MILLISECONDS_TO_BEACON_INTERVAL(128) |
#define | ZB_NWK_EXPIRY_PENDING (ZB_N_APS_ACK_WAIT_DURATION_FROM_SLEEPY / 2) /* 5 seconds */ |
#define | ZB_NWK_EXPIRY_BROADCAST 9 /* 9 seconds */ |
#define | ZB_NWK_ROUTING_TABLE_EXPIRY |
#define | ZB_NWK_MAX_BROADCAST_RETRIES 0x02 |
#define | ZB_NWK_PASSIVE_ACK_TIMEOUT ZB_MILLISECONDS_TO_BEACON_INTERVAL(500) |
#define | ZB_NWK_BROADCAST_DELIVERY_TIME() (9 * ZB_TIME_ONE_SECOND) |
#define | ZB_NWK_LINK_STATUS_PERIOD 0xf |
#define | ZB_NWK_ROUTER_AGE_LIMIT 3 |
#define | ZB_NWK_REJOIN_REQUEST_TABLE_SIZE 3 |
#define | ZB_NWK_REJOIN_TIMEOUT (ZB_TIME_ONE_SECOND * 5) |
#define | ZB_NWK_REJOIN_FIRST_POLL_DELAY (ZB_TIME_ONE_SECOND / 2) |
#define | ZB_NWK_REJOIN_POLL_ATTEMPTS 3 |
#define | ZB_NWK_CHANNEL_ACCEPT_LEVEL 0x60 |
#define | ZB_DEFAULT_PRMIT_JOINING_DURATION 0xff |
#define | ZB_DEFAULT_MAX_CHILDREN 32 |
#define | ZB_TC_REJOIN_ENABLE |
#define | ZB_REJOIN_IGNORES_FLAGS |
#define | xZB_NO_KEY_AFTER_REJOIN |
#define | ZB_LEAVE_USE_APP_CALLBACK |
#define | ZB_ZDO_INDIRECT_POLL_TIMER (5*ZB_TIME_ONE_SECOND) /* ZB_TIME_ONE_SECOND*10 */ |
#define | ZB_ZDO_MAX_PARENT_THRESHOLD_RETRY 10 |
#define | ZB_ZDO_MIN_SCAN_DURATION 0 |
#define | ZB_ZDO_MAX_SCAN_DURATION 5 |
#define | ZB_ZDO_NEW_ACTIVE_CHANNEL 0xFE |
#define | ZB_ZDO_NEW_CHANNEL_MASK 0xFF |
#define | ZB_ZDO_CHANNEL_CHECK_TIMEOUT (ZB_TIME_ONE_SECOND * 60 * 2) |
#define | ZB_ZDO_APS_CHANEL_TIMER (1 * 60) |
#define | ZB_ZDO_15_MIN_TIMEOUT (ZB_TIME_ONE_SECOND * 60 * 15) |
#define | ZB_ZDO_1_MIN_TIMEOUT (ZB_TIME_ONE_SECOND * 60) |
#define | ZB_PIM_DEFAULT_FAST_POLL_TIMEOUT (ZB_TIME_ONE_SECOND * 10) |
#define | ZB_PIM_DEFAULT_FAST_POLL_INTERVAL ZB_QUARTERECONDS_TO_BEACON_INTERVAL(2) |
#define | ZB_PIM_DEFAULT_LONG_POLL_INTERVAL (ZB_TIME_ONE_SECOND * 5) |
#define | ZB_PIM_DEFAULT_TURBO_POLL_INTERVAL ZB_MILLISECONDS_TO_BEACON_INTERVAL(100) |
#define | ZB_PIM_DEFAULT_MIN_TURBO_POLL_INTERVAL ZB_MILLISECONDS_TO_BEACON_INTERVAL(100) |
#define | ZB_PIM_DEFAULT_MAX_TURBO_POLL_INTERVAL ZB_MILLISECONDS_TO_BEACON_INTERVAL(3000) |
#define | ZB_PIM_TURBO_POLL_PACKETS_TIMEOUT (ZB_TIME_ONE_SECOND * 15) |
#define | ZB_PIM_TURBO_POLL_LEAVE_TIMEOUT (ZB_TIME_ONE_SECOND / 3) |
#define | ZB_PIM_POLL_ALLOC_TIMEOUT ZB_MILLISECONDS_TO_BEACON_INTERVAL(500) |
#define | ZB_ZDO_NWK_TIME_BTWN_SCANS 30 |
#define | ZB_ZDO_ENDDEV_BIND_TIMEOUT 30 |
#define | ZDO_TRAN_TABLE_SIZE 16 |
#define | ZB_ZDO_NEIGHBOR_FAILURE_PKT_THRESHOLD 5 |
#define | ZB_ZDO_NEIGHBOR_UNREACHABLE_TIMEOUT (ZB_TIME_ONE_SECOND * 60) |
#define | ZB_ZDO_NWK_SCAN_ATTEMPTS 1 |
#define | ZB_MAC_A_TURNAROUND_TIME_SYM 12 |
#define | ZB_MAC_PEAMBLE_LEN 4 |
#define | ZB_MAC_PHR_LEN 1 |
#define | ZB_MAC_SFD_LEN 1 |
#define | ZB_MAC_FRAME_PPDU_HDR_LEN (ZB_MAC_PEAMBLE_LEN + ZB_MAC_SFD_LEN + ZB_MAC_PHR_LEN) |
#define | ZB_MAC_SUBG_PEAMBLE_LEN 8 |
#define | ZB_MAC_SUBG_SFD_LEN 2 |
#define | ZB_MAC_SUBG_PHR_LEN 2 |
#define | ZB_MAC_SUBG_FRAME_PPDU_HDR_LEN (ZB_MAC_SUBG_PEAMBLE_LEN + ZB_MAC_SUBG_SFD_LEN + ZB_MAC_SUBG_PHR_LEN) |
#define | ZB_MAC_SUBG_FRAME_PPDU_FOOTER_LEN 2 |
#define | ZB_MAC_SUBG_SYMBOL_DURATION_USEC 10 |
#define | ZB_MAC_SUBG_OCTET_TO_SYMBOL(octets) ((octets) * 8) |
#define | ZB_MAC_SUBG_TURNAROUND_TIME_SYM 100 /* aRxTxTurnAround - see Table D-23 LBT MAC Sublayer Constants - Implementation */ |
#define | ZB_MAC_OCTET_TO_SYMBOL(octets) ((octets) * 2) |
#define | ZB_MAC_MIN_BE 3 |
#define | ZB_MAC_MAX_BE 5 |
#define | ZB_MAC_MAX_CSMA_BACKOFFS 4 |
#define | ZB_MAC_A_UNIT_BACKOFF_PERIOD 20 |
#define | ZB_MAC_CCA_PERIOD 8 |
#define | ZB_MAC_NUM_CCA 2 |
#define | ZB_TX_TOTAL_THRESHOLD 20 /* Annex E, total transmissions attempted */ |
#define | ZB_CHANNEL_BUSY_ED_VALUE 0x60 /* TODO: check it */ |
#define | ZB_CHANNEL_FREE_ED_VALUE 0x60 /* TODO: check it */ |
#define | ZB_FAILS_PERCENTAGE 4 /* use it as divider, 25% */ |
#define | ZB_MAC_QUEUE_SIZE 4 |
#define | ZB_MAC_RESPONSE_WAIT_TIME 32 |
#define | ZB_CONFIGURABLE_MAC_PIB |
#define | ZB_MAX_FRAME_TOTAL_WAIT_TIME ZB_MILLISECONDS_TO_BEACON_INTERVAL(40) |
#define | ZB_MAC_MAX_FRAME_RETRIES 3 |
#define | ZB_SET_MAC_ADDRESS |
#define | ZB_SEND_BEACON_AFTER_RANDOM_DELAY |
#define | ZB_MAC_EXT_DATA_REQ |
#define | ZB_MAC_HANDLE_BEACON_REQ_TMO 8 |
#define | ZB_DEFAULT_BDB_TRUST_CENTER_NODE_JOIN_TIMEOUT ZB_MILLISECONDS_TO_BEACON_INTERVAL(0xf * 1000) |
#define | ZB_BDBC_TCLINK_KEY_EXCHANGE_TIMEOUT ZB_MILLISECONDS_TO_BEACON_INTERVAL(5000) |
#define | ZB_BDBC_MIN_COMMISSIONING_TIME_S 180 |
#define | ZB_DEFAULT_BDB_TCLINK_KEY_EXCHANGE_ATTEMPTS_MAX 3 |
#define | ZB_STACK_SPEC_VERSION 21 |
#define | ZB_BDBC_TL_INTER_PANTRANS_ID_LIFETIME ZB_MILLISECONDS_TO_BEACON_INTERVAL(8000) |
#define | ZB_BDBC_TL_MIN_STARTUP_DELAY_TIME ZB_MILLISECONDS_TO_BEACON_INTERVAL(2000) |
#define | ZB_BDBC_TL_PRIMARY_CHANNEL_SET 0x02108800 |
#define | ZB_BDBC_TL_RX_WINDOW_DURATION ZB_MILLISECONDS_TO_BEACON_INTERVAL(5000) |
#define | ZB_BDBC_TL_SCAN_TIME_BASE_DURATION ZB_MILLISECONDS_TO_BEACON_INTERVAL(250) |
#define | ZB_BDBC_TL_SECONDARY_CHANNEL_SET (0x07fff800 ^ ZB_BDBC_TL_PRIMARY_CHANNEL_SET) |
#define | ZB_ZGP_DUPLICATE_TIMEOUT (1 * ZB_TIME_ONE_SECOND) |
zgpDuplicateTimeout value More... | |
#define | ZB_ZGPD_FIRST_CH 11 |
#define | ZB_ZGPD_LAST_CH 26 |
#define | ZB_ZGP_CHANNEL_REQ_ON_TX_CH_TIMEOUT (5 * ZB_TIME_ONE_SECOND) |
#define | ZB_ZGP_TIMEOUT_BEFORE_FORCE_CANCEL (3 * ZB_TIME_ONE_SECOND) |
#define | ZB_ZGPD_MANUF_ID_UNSPEC 0xFFFF |
#define | ZB_ZGPD_DEF_MANUFACTURER_ID 0x10d0 |
#define | ZB_ZGP_MAX_LW_UNICAST_ADDR_PER_GPD 2 |
#define | ZB_ZGP_MAX_SINK_GROUP_PER_GPD 2 |
#define | ZB_ZGP_MAX_PAIRED_ENDPOINTS 2 |
#define | ZB_ZGP_MAX_PAIRED_CONF_GPD_COMMANDS 2 |
#define | ZB_ZGP_MAX_PAIRED_CONF_CLUSTERS 2 |
#define MAC_FRAME_VERSION MAC_FRAME_IEEE_802_15_4_2003 |
#define N_SECUR_MATERIAL 3 |
Number of secure materials to store
#define STACK_NETWORK_SELECT 0x00 |
Ids of stack profiles, network selection, 2007, and Pro respectively
#define xZB_NO_KEY_AFTER_REJOIN |
Workaroud for secure rejoin
#define ZB_APS_DISABLE_ACK_IN_COMMANDS |
NWK radius to be used when sending APS command
#define ZB_APS_DUP_INITIAL_CLOCK 21 |
APS: dup check timeout.
APS dup checks resolution is 1 sec, so dup timeout is 21 sec. This interval guaranties total APS retransmission interval (1 original + 2 retransmits).
#define ZB_APS_GROUP_UP_Q_SIZE 8 |
APS: SRC binding tble size APS: DST binding table size APS: man number of groups in the system APS: max number of endpoints per group table entry APS: size of queue to be used to pass incoming group addresses packets up
#define ZB_APS_HEADER_MAX_LEN |
#define ZB_APS_MAX_MAX_BROADCAST_PAYLOAD_SIZE (74 + 8) |
Maximum proadcast aps payload size supposing NWK encryption only, no long address in NWK header - means, really possible maximum.
#define ZB_APS_MAX_PAYLOAD_SIZE (ZB_APS_MAX_BROADCAST_PAYLOAD_SIZE - 8) |
max unicast aps payload size, supposing no APS encryption
#define ZB_APS_PARENT_ANNOUNCE_BASE_TIMER (10 * ZB_TIME_ONE_SECOND) |
APS: The base amount of delay before each broadcast parent announce is sent.
#define ZB_APS_PARENT_ANNOUNCE_JITTER_MAX (10 * ZB_TIME_ONE_SECOND) |
The max amount of jitter that is added to the apsParentAnnounceBaseTimer before each broadcast parent announce is sent.
#define ZB_APS_SECUR_APS_USE_EXT_NONCE |
If defined, include long address into APS security header
#define ZB_APS_SECUR_APS_USE_EXT_NONCE |
If defined, include long address into APS security header
#define ZB_APS_SECURITY_TIME_OUT_PERIOD ZB_MILLISECONDS_TO_BEACON_INTERVAL(1700) |
If the joining device does not receive any of the keys within apsSecurityTimeOutPeriod, of receiving the NLMEJOIN. confirm primitive, it shall reset
i.e. 1.7 seconds on 2.4 GHz.
#define ZB_BLOCK_BROADCASTS_SLEEPY_ED |
Block sleepy end devices (devices with rx-on-when-idle == false) from receiving broadcasts (drop it at MAC level)
#define ZB_CCM_KEY_SIZE 16 |
SECUR: CCM key size. Hard-coded
#define ZB_CCM_L 2 |
SECUR: CCM L parameter. Fixed to 2 for security level 5
#define ZB_CCM_M 4 |
SECUR: CCM M parameter. Fixed to 4 for security level 5
#define ZB_CCM_NONCE_LEN (15 - ZB_CCM_L) |
SECUR: CCM nonce length. Now fixed.
#define ZB_DEFAULT_APS_CHANNEL_MASK (ZB_TRANSCEIVER_ALL_CHANNELS_MASK) |
ZigBee channel selection. Default value of ZB_AIB().aps_channel_mask Channels to be used for discovery and join. If here is single channel, not need to do energy scan.
Note: ZLL, HA, ZLL tests can redefine this mask by other constants
#define ZB_DEFAULT_BDB_TRUST_CENTER_NODE_JOIN_TIMEOUT ZB_MILLISECONDS_TO_BEACON_INTERVAL(0xf * 1000) |
bdbTrustCenterNodeJoinTimeout
The bdbTrustCenterNodeJoinTimeout attribute specifies a timeout in seconds for the Trust Center to remove the Trust Center link key of the newly joined node that did not successfully establish a new link key. This attribute is used by ZigBee coordinator nodes.
#define ZB_DEFAULT_MAX_CHILDREN 32 |
Default value of nib.max_children - max number of children which can join to this device
#define ZB_DEFAULT_PRMIT_JOINING_DURATION 0xff |
Default duration to permit joining (currently infinite)
#define ZB_DEFAULT_SCAN_DURATION 3 |
NWK: default energy/active scan duration
#define ZB_DEFAULT_SECURE_ALL_FRAMES 1 |
Default value for nib.secure_all_frames
#define ZB_DISTRIBUTED_GLOBAL_KEY {0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf}; |
6.3.2 Distributed security global link key
The distributed security global link key is used to join a distributed security network. This link key is provided to a company as a result of a successful certification of a product. For testing, this key SHALL have the value of:
In ZLL specification this is ZLL Certification pre-installed link key - see 8.7.2 Transfer ring the network key dur ing classical ZigBee commissioning.
"During classical ZigBee commissioning where a non-ZLL device is being joined to a ZLL network without a trust center, a pre-installed link key is used to secure the transfer of the network key when authenticating." - means,
#define ZB_IEEE_ADDR_TABLE_SIZE 101 |
NWK: size of the long-short address translation table
#define ZB_IO_BUF_SIZE 148 |
Size of queue for wait for free packet buffer Size, in bytes, of the packet buffer
Be sure keep it multiple of 4 to exclude alignment problems at ARM
#define ZB_MAC_A_TURNAROUND_TIME_SYM 12 |
RX-to-TX or TX-to-RX maximum turnaround time (in symbol periods) (see 6.9.1 and 6.9.2)
#define ZB_MAC_A_UNIT_BACKOFF_PERIOD 20 |
The number of symbols forming the basic time period used by the CSMA-CA algorithm.
See 7.4.1 MAC constants
#define ZB_MAC_CCA_PERIOD 8 |
6.9.9 Clear channel assessment (CCA) The CCA detection time shall be equal to 8 symbol periods.
#define ZB_MAC_EXT_DATA_REQ |
Define it for external MAC
#define ZB_MAC_FRAME_PPDU_HDR_LEN (ZB_MAC_PEAMBLE_LEN + ZB_MAC_SFD_LEN + ZB_MAC_PHR_LEN) |
MAC frame preamble length, octets
6.3 PPDU format Each PPDU packet consists of the following basic components: A synchronization header (SHR), which allows a receiving device to synchronize and lock onto the bit stream A PHY header (PHR), which contains frame length information A variable length payload, which carries the MAC sublayer frame
#define ZB_MAC_INDIRECT_POLL_EXPIRE_TMO ZB_MILLISECONDS_TO_BEACON_INTERVAL(7680) |
Maximum MAC packet waiting time to expire
#define ZB_MAC_MAX_BE 5 |
The maximum value of the backoff exponent, BE, in the CSMA-CA algorithm. See 7.5.1.4 for a detailed explanation of the backoff exponent.
#define ZB_MAC_MAX_CSMA_BACKOFFS 4 |
The maximum number of backoffs the CSMA-CA algorithm will attempt before declaring a channel access failure.
#define ZB_MAC_MAX_FRAME_RETRIES 3 |
MAC: The maximum number of retries allowed after a transmission failure 0-7
#define ZB_MAC_MIN_BE 3 |
The minimum value of the backoff exponent (BE) in the CSMA-CA algorithm. See 7.5.1.4 for a detailed explanation of the backoff exponent.
#define ZB_MAC_OCTET_TO_SYMBOL | ( | octets | ) | ((octets) * 2) |
Define how many symbols used to transmit given number of octets
6.5.2.2 Bit-to-symbol mapping All binary data contained in the PPDU shall be encoded using the modulation and spreading functions shown in Figure 18. This subclause describes how binary information is mapped into data symbols. The 4 LSBs (b0, b1, b2, b3) of each octet shall map into one data symbol, and the 4 MSBs (b4, b5, b6, b7) of each octet shall map into the next data symbol. Each octet of the PPDU is processed through the modulation and spreading functions (see Figure 18) sequentially, beginning with the Preamble field and ending with the last octet of the PSDU.
#define ZB_MAC_PEAMBLE_LEN 4 |
6.3.1 Preamble field, octets Table 19Preamble field length
24002483.5 MHz O-QPSK 4 octets 8 symbols
#define ZB_MAC_PHR_LEN 1 |
PHY hdr len, octets
6.3 PPDU format This subclause specifies the
#define ZB_MAC_RESPONSE_WAIT_TIME 32 |
The maximum time, in multiples of aBaseSuperframeDuration, a device shall wait for a response command frame to be available following a request command frame.
MAC: max time to wait for a response command frame, range 2-64 Default is 32, 64 set for better compatibility
#define ZB_MAC_SFD_LEN 1 |
The SFD is a field indicating the end of the SHR and the start of the packet data.
6.3.2 SFD field
#define ZB_MAX_FRAME_TOTAL_WAIT_TIME ZB_MILLISECONDS_TO_BEACON_INTERVAL(40) |
MAC: max time to wait for indirect data.
See 7.4.2 MAC PIB attributes in 802.15.4.
Note: this time must not be too big.
As an option: maybe, always send empty data packet as GP does?
#define ZB_MEMTRACE_BUF_SIZE 4080 |
(defined ZB_SERIAL_FOR_TRACE || defined ZB_TRACE_OVER_JTAG) && defined ZB_NET_TRACE
#define ZB_MWK_INITIAL_RREQ_RETRIES 3 |
nwkcInitialRREQRetries
The number of times the first broadcast transmission of a route request command frame is retried.
#define ZB_N_APS_ACK_WAIT_DURATION | ( | _rx_on_when_idle | ) |
APS: Get APS ACK wait time for the device depending on its receiver on when idle
#define ZB_N_APS_ACK_WAIT_DURATION_FROM_NON_SLEEPY (3*ZB_TIME_ONE_SECOND) |
APS: APS ACK wait time from Non Sleepy devices. After this timeout resend APS packet see ZB spec 2.2.7.1
#define ZB_N_APS_ACK_WAIT_DURATION_FROM_SLEEPY (10*ZB_TIME_ONE_SECOND) |
APS: APS ACK wait time from Sleepy devices. After this timeout resend APS packet see ZB spec 2.2.7.1
#define ZB_N_APS_BINDTRANS_ARR_MAX_SIZE 5 |
APS: maximum number of tables with information from a binding table to be sent to the devices
#define ZB_N_APS_BINDTRANS_DST_INDEX_ARR_MAX_SIZE ZB_APS_DST_BINDING_TABLE_SIZE |
APS: maximum number of elements in array with index from dst array in bind table
#define ZB_N_APS_KEY_PAIR_ARR_MAX_SIZE 5 |
APS: maximum number of tables with key-pair information
#define ZB_N_APS_MAX_FRAME_RETRIES 3 |
APS retransmissions APS: max number of packets waiting for APS ACK
Derive it from the pool size. Keep some free buffers in the pool, remember some buffers are reserved at start (I see 4 out buffers resetved). APS maximum of apscMaxFrameRetries times see ZB spec 2.2.7.1
#define ZB_N_VIZIBLE_ADDRESSES 6 |
Maximum number of addresses in the visibility limit arrays
#define ZB_NEIGHBOR_TABLE_SIZE 32 |
defined ZB_ED_ROLE && !defined ZB_ZGPD_ROLE NWK: size of the neighbor table
NWK: size of the neighbor table + ext neighbor table
#define ZB_NEIGHBOR_TABLE_SIZE 32 |
defined ZB_ED_ROLE && !defined ZB_ZGPD_ROLE NWK: size of the neighbor table
NWK: size of the neighbor table + ext neighbor table
#define ZB_NEIGHBOR_TABLE_SIZE 32 |
defined ZB_ED_ROLE && !defined ZB_ZGPD_ROLE NWK: size of the neighbor table
NWK: size of the neighbor table + ext neighbor table
#define ZB_NVRAM_DATASET_MIGRATION |
Migration datasets when page overflow in NVRAM
#define ZB_NWK_BROADCAST_DELIVERY_TIME | ( | ) | (9 * ZB_TIME_ONE_SECOND) |
NWK Broadcast delivery time See 3.5.2.1 nwkBroadcastDeliveryTime = 2*nwkMaxDepth* ((0.05+(nwkcMaxBroadcastJitter/2))+ nwkPassiveAckTimeout*nwkBroadcastRetries/1000 nwkcMaxBroadcastJitter and nwkPassiveAckTimeout are measured in OctetDurations (!).
In PICS NDF4 for PRO:
nwkBroadcastDeliveryTime = 0x44AA27 Octet durations (9 seconds on 2.4 GHz) nwkPassiveAckTimeout = 0x3D098 Octet Durations9 (500 ms on 2.4 GHz) maximum nwkMaxBroadcastRetries = 2
#define ZB_NWK_CHANNEL_ACCEPT_LEVEL 0x60 |
acceptable energy level on channel
#define ZB_NWK_LINK_STATUS_PERIOD 0xf |
nwkLinkStatusPeriod: period for link status commands, in seconds
#define ZB_NWK_MAX_BROADCAST_HDR_SIZE 16 |
max broadcast nwk payload size
#define ZB_NWK_MAX_BROADCAST_PAYLOAD_SIZE |
#define ZB_NWK_MAX_BROADCAST_RETRIES 0x02 |
The maximum number of retries allowed after a broadcast transmission failure.
See PICS NDF4.
#define ZB_NWK_MAX_CHILDREN 4 |
NWK: Max number of children per node
#define ZB_NWK_MAX_ROUTERS 4 |
NWK: Max number of routers per node
#define ZB_NWK_MESH_ROUTING |
If not defined, implement tree routing NWK: if defined, implement mesh routing
#define ZB_NWK_NEIGHBOUR_PATH_COST_LQI_BASED |
Neighbour path cost calculation method. By default, calculate neighbour path cost from LQI value as describe in ZB spec. But for sime special cases (e.g. LCGW)) we need to calculate path cost from RSSI value.
#define ZB_NWK_PASSIVE_ACK_TIMEOUT ZB_MILLISECONDS_TO_BEACON_INTERVAL(500) |
The maximum time duration in milliseconds allowed for the parent and all child devices to retransmit a broadcast message.
See PICS NDF4.
#define ZB_NWK_REJOIN_REQUEST_TABLE_SIZE 3 |
Maximum number of rejoin requests in progress
#define ZB_NWK_ROUTE_DISCOVERY_TABLE_SIZE 5 |
NWK Mesh route stuff: route discovery table size
#define ZB_NWK_ROUTER_AGE_LIMIT 3 |
nwkRouterAgeLimit: The number of missed link status command framesbefore resetting the link costs to zero.
#define ZB_NWK_ROUTING |
Scheduler callbacks queue size. Ususlly not need to change it. NWK: If defined, enable routing functionality
#define ZB_NWK_ROUTING_FAILURE_ATTEMTS_NUM |
#define ZB_NWK_ROUTING_TABLE_EXPIRY |
#define ZB_NWK_ROUTING_TABLE_SIZE ZB_NEIGHBOR_TABLE_SIZE |
NWK Mesh route stuff: routing table size
#define ZB_NWK_RREQ_RETRIES 2 |
nwkcRREQRetries
The number of times the broadcast transmission of a route request command frame is retried on relay by an intermediate ZigBee router or ZigBee coordinator.
#define ZB_NWK_SECUR_UNSECURE_FRAME_ATTEMPTS 4 |
This macro defines total number of NWK frame unsecure attempts before NWK decides that frame can not be processed. Made as Workaround for Onsemi platform, used for all. If frame was not unsecured, cut 1 byte of buffer end and try to unsecure frame again.
#define ZB_NWK_SEND_AFTER_RRESP_RECV_DELAY_MS 1000 |
Delay to wait before sending packet after receiving route replay.
Used only if ZB_CERT_HACKS().delay_pending_tx_on_rresp is 1. Useful for test TP_PRO_BV-04. Normally ZBOSS sends NWK immediately after receiving any route.
#define ZB_NWK_STOCH_DEPTH 15 |
NWK: network depth in stochastic addressing mode (NLF90)
#define ZB_NWK_STOCHASTIC_ADDRESS_ASSIGN |
If defined, do not compile some features, even Mandatory, to fir into 64k ROM at 2410/64k device in Keil debug build. PRO stack specific details NWK: If defined, use stochastic address assing (ZigBee PRO).
#define ZB_NWK_TREE_ROUTING_DEPTH 5 |
NWK: max network depth for tree routing
#define ZB_NWK_USE_SEND_JITTER |
If defined, add jitter to broadcast transmits etc.
Note: it adds zb_random() and, so. breaks some tests which supposes to know next generated address by setting random generator start.
#define ZB_PIM_DEFAULT_FAST_POLL_INTERVAL ZB_QUARTERECONDS_TO_BEACON_INTERVAL(2) |
Default fast poll interval
#define ZB_PIM_DEFAULT_FAST_POLL_TIMEOUT (ZB_TIME_ONE_SECOND * 10) |
Default fast poll timeout
#define ZB_PIM_DEFAULT_LONG_POLL_INTERVAL (ZB_TIME_ONE_SECOND * 5) |
Default long poll interval
#define ZB_PIM_DEFAULT_MAX_TURBO_POLL_INTERVAL ZB_MILLISECONDS_TO_BEACON_INTERVAL(3000) |
Maximal possible turbo poll interval
#define ZB_PIM_DEFAULT_MIN_TURBO_POLL_INTERVAL ZB_MILLISECONDS_TO_BEACON_INTERVAL(100) |
Minimal possible turbo poll interval
#define ZB_PIM_DEFAULT_TURBO_POLL_INTERVAL ZB_MILLISECONDS_TO_BEACON_INTERVAL(100) |
Default turbo poll interval (TODO: tune it)
#define ZB_PIM_POLL_ALLOC_TIMEOUT ZB_MILLISECONDS_TO_BEACON_INTERVAL(500) |
Timeout for poll buffer allocation retry
#define ZB_PIM_TURBO_POLL_LEAVE_TIMEOUT (ZB_TIME_ONE_SECOND / 3) |
Timeout for turbo poll
#define ZB_PIM_TURBO_POLL_PACKETS_TIMEOUT (ZB_TIME_ONE_SECOND * 15) |
Timeout for turbo poll
#define ZB_PRO_ADDRESS_ASSIGNMENT_CB |
defined ZB_LIMIT_VISIBILITY && !defined ZB_MEMORY_COMPACT
#define ZB_PRO_STACK |
This define switches PRO version of or off.
#define ZB_PROTOCOL_VERSION 0x02 |
Protocol version selection: see table 1.1(pro-specification)
#define ZB_SECUR_NWK_COUNTER_LIMIT (((zb_uint32_t)~0) - 128) |
Value of nwk packets counter which triggered nwk key switch
#define ZB_SECURITY_LEVEL 5 |
SECUR: security level. Now fixed to be 5
#define ZB_SEND_BEACON_AFTER_RANDOM_DELAY |
Replay to the beacon request after jitter (meaningful for DSR MAC only).
#define ZB_SET_MAC_ADDRESS |
Define it to set MAC address at start (currently - all platforms)
#define ZB_STANDARD_SECURITY |
SECUR: if defined, implement Standard security
Note: High Security is obsolet and will never be implemented.
#define ZB_STORE_COUNTERS |
Storing NWK security counter in NVRAM
#define ZB_TC_AT_ZC |
SECUR: If defined, trust Center is at ZC (currently - always)
#define ZB_TC_GENERATES_KEYS |
SECUR: If defined, generate random keys at Trust Center at start of pre-configured jey is not set.
#define ZB_TEST_PROFILE |
This define turns on/off test profile Compile Test Profile feature
#define ZB_TIME_ED_IDLE ZB_MILLISECONDS_TO_BEACON_INTERVAL(7500) |
End device idle time-out
#define ZB_TIMER_32 |
Use 32 bit timer
#define ZB_TOUCHLINK_PRECONFIGURED_KEY {0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf}; |
6.3.4 Touchlink preconfigured link key
The touchlink preconfigured link key is used to join a network via touchlink. This link key is provided to a company as a result of a successful certification of a product. For testing, this key SHALL have the value of:
In ZLL specification this is 8.7.5.1.2 Certification key (key index 15)
In BDB 8.7.1.2 Key index and encrypted network key fields. "This value SHALL be set to 0x04 during certification testing or 0x0f at all other times." In ZLL Table 67 Key encryption algorithms: 4 is Master key, 0xf is Certification key. They use same algorithm.
#define ZB_TRACE_SWITCH_OFF_FILE_NAME "trace_off" |
If defined, transport calls traffic dump by itself, generic MAC not need to do it Name for trace off switch file
If file of this name exists in the current directory, swicth off both trace and traffic dump.
#define ZB_UINT24_48_SUPPORT |
Number of packet buffers. More buffers - more memory. Less buffers - risk to be blocked due to buffer absence.
#define ZB_USE_NVRAM |
Define to let us work properly with Ember stack If defined, 2007 stack profile is implemented If defined, NVRAM is used Create *.nvram file
To be used near always to prevent flash damage (flash can do ~1000 rewrites only)
For certification test need comment. Else change Assignment to Rejoin for second and last runs
#define ZB_USE_NVRAM |
Define to let us work properly with Ember stack If defined, 2007 stack profile is implemented If defined, NVRAM is used Create *.nvram file
To be used near always to prevent flash damage (flash can do ~1000 rewrites only)
For certification test need comment. Else change Assignment to Rejoin for second and last runs
#define ZB_ZDO_15_MIN_TIMEOUT (ZB_TIME_ONE_SECOND * 60 * 15) |
15 minutes timer to measure large timeouts
#define ZB_ZDO_1_MIN_TIMEOUT (ZB_TIME_ONE_SECOND * 60) |
1 minute timer to measure large timeouts
#define ZB_ZDO_APS_CHANEL_TIMER (1 * 60) |
A countdown timer (in minutes) indicating the time to the next permitted frequency agility channel change
#define ZB_ZDO_CHANNEL_CHECK_TIMEOUT (ZB_TIME_ONE_SECOND * 60 * 2) |
15 minutes timeout. KLUDGE: it is 2 bytes value, 15 minutes is nearly maximum value that can be stored,
#define ZB_ZDO_ENDDEV_BIND_TIMEOUT 30 |
Timeout value in seconds employed in End Device Binding
#define ZB_ZDO_INDIRECT_POLL_TIMER (5*ZB_TIME_ONE_SECOND) /* ZB_TIME_ONE_SECOND*10 */ |
ZDO Indirect poll timer
#define ZB_ZDO_MAX_PARENT_THRESHOLD_RETRY 10 |
ZDO Max parent threshold retry
#define ZB_ZDO_MAX_SCAN_DURATION 5 |
Max scan duration for mgmt_nwk_update_req
#define ZB_ZDO_MIN_SCAN_DURATION 0 |
Min scan duration for mgmt_nwk_update_req
#define ZB_ZDO_NEW_ACTIVE_CHANNEL 0xFE |
Special value of the scan duration for mgmt_nwk_update_req: change active channel (by number) Table 2.88 Fields of the Mgmt_NWK_Update_req Command If ScanDuration has a value of 0xfe this is a request for channel change.
#define ZB_ZDO_NEW_CHANNEL_MASK 0xFF |
Special value of the scan duration for mgmt_nwk_update_req: change channels mask
#define ZB_ZDO_NWK_SCAN_ATTEMPTS 1 |
Integer value representing the number of scan attempts to make before the NWK layer decides which ZigBee coordinator or router to associate with
#define ZB_ZDO_NWK_TIME_BTWN_SCANS 30 |
Integer value representing the time duration (in milliseconds)
#define ZB_ZDO_PARENT_LINK_FAILURE_CNT 12 |
Number of times device failes to send packet to the parent before rejoin
#define ZB_ZDO_PENDING_LEAVE_SIZE 4 |
Number of pending Mgmt_Leave requests allowed
#define ZB_ZGP_DUPLICATE_TIMEOUT (1 * ZB_TIME_ONE_SECOND) |
zgpDuplicateTimeout value
The time the EPP of the ZGPS and ZGPP keeps the information on the received GPDF with random sequence number, in order to filter out duplicates.
The default value of 2 seconds can be modified by the application profile
#define ZB_ZGP_TIMEOUT_BEFORE_FORCE_CANCEL (3 * ZB_TIME_ONE_SECOND) |
If commissioning on the last stage, then it determines time to wait until commissioning is complete. If commissioning is not completed during this time, then commissioning cancel procedure is started.
#define ZDO_TRAN_TABLE_SIZE 16 |
ZDO: transactions table size