Logo
Developing with ZBOSS for Zigbee
General parameters to be set before start

Data Structures

struct  zb_tx_power_params_s
 A struct with params for zb_get_tx_power_async and zb_set_tx_power_async. More...
 

Typedefs

typedef struct zb_tx_power_params_s zb_tx_power_params_t
 A struct with params for zb_get_tx_power_async and zb_set_tx_power_async. More...
 
typedef void(* zb_set_manufacturer_code_cb_t) (zb_ret_t status)
 
typedef zb_uint8_t nwk_requested_timeout_t
 Type for End Device (ED) timeout request. More...
 
typedef zb_uint8_t nwk_keepalive_supported_method_t
 Type for ZC/ZR supported keepalive methods. More...
 

Functions

void zb_set_channel_mask (zb_uint32_t channel_mask)
 
void zb_get_tx_power_async (zb_bufid_t param)
 Get transceiver power for given page and channel asynchronously. More...
 
void zb_set_tx_power_async (zb_bufid_t param)
 Set transceiver power to a given value on a given page and channel asynchronously. More...
 
void zb_set_rx_on_when_idle (zb_bool_t rx_on)
 
void zb_set_long_address (const zb_ieee_addr_t addr)
 
void zb_set_pan_id (zb_uint16_t pan_id)
 Set 16-bit PAN ID. More...
 
void zb_set_node_descriptor_manufacturer_code_req (zb_uint16_t manuf_code, zb_set_manufacturer_code_cb_t cb)
 
void zb_set_extended_pan_id (const zb_ext_pan_id_t ext_pan_id)
 
void zb_set_network_coordinator_role (zb_uint32_t channel_mask)
 
void zb_set_network_router_role (zb_uint32_t channel_mask)
 
void zb_set_network_ed_role (zb_uint32_t channel_mask)
 
void zb_set_network_coordinator_role_legacy (zb_uint32_t channel_mask)
 
void zb_set_network_router_role_legacy (zb_uint32_t channel_mask)
 
void zb_set_network_ed_role_legacy (zb_uint32_t channel_mask)
 
void zb_set_network_coordinator_role_ext (zb_channel_list_t channel_list)
 
void zb_set_network_router_role_ext (zb_channel_list_t channel_list)
 
void zb_set_network_ed_role_ext (zb_channel_list_t channel_list)
 
void zb_channel_list_init (zb_channel_list_t channel_list)
 
zb_ret_t zb_channel_list_add (zb_channel_list_t channel_list, zb_uint8_t page_num, zb_uint32_t channel_mask)
 
void zb_set_max_children (zb_uint8_t max_children)
 
void zb_set_ed_timeout (zb_uint_t to)
 
void zb_set_keepalive_timeout (zb_uint_t to)
 
void zb_set_keepalive_mode (nwk_keepalive_supported_method_t mode)
 

Channel pages' numbers

Note: These values were members of enum zb_channel_page_num_e type but were converted to a set of macros due to MISRA violations.

#define ZB_CHANNEL_PAGE0_2_4_GHZ   0U
 
#define ZB_CHANNEL_PAGE23_SUB_GHZ   23U
 
#define ZB_CHANNEL_PAGE24_SUB_GHZ   24U
 
#define ZB_CHANNEL_PAGE25_SUB_GHZ   25U
 
#define ZB_CHANNEL_PAGE26_SUB_GHZ   26U
 
#define ZB_CHANNEL_PAGE27_SUB_GHZ   27U
 
#define ZB_CHANNEL_PAGE28_SUB_GHZ   28U
 
#define ZB_CHANNEL_PAGE29_SUB_GHZ   29U
 
#define ZB_CHANNEL_PAGE30_SUB_GHZ   30U
 
#define ZB_CHANNEL_PAGE31_SUB_GHZ   31U
 

End Device (ED) timeout request

#define ED_AGING_TIMEOUT_10SEC   0U
 
#define ED_AGING_TIMEOUT_2MIN   1U
 
#define ED_AGING_TIMEOUT_4MIN   2U
 
#define ED_AGING_TIMEOUT_8MIN   3U
 
#define ED_AGING_TIMEOUT_16MIN   4U
 
#define ED_AGING_TIMEOUT_32MIN   5U
 
#define ED_AGING_TIMEOUT_64MIN   6U
 
#define ED_AGING_TIMEOUT_128MIN   7U
 
#define ED_AGING_TIMEOUT_256MIN   8U
 
#define ED_AGING_TIMEOUT_512MIN   9U
 
#define ED_AGING_TIMEOUT_1024MIN   10U
 
#define ED_AGING_TIMEOUT_2048MIN   11U
 
#define ED_AGING_TIMEOUT_4096MIN   12U
 
#define ED_AGING_TIMEOUT_8192MIN   13U
 
#define ED_AGING_TIMEOUT_16384MIN   14U
 

ZC/ZR supported keepalive methods

#define ED_KEEPALIVE_DISABLED   0U
 
#define MAC_DATA_POLL_KEEPALIVE   1U
 
#define ED_TIMEOUT_REQUEST_KEEPALIVE   2U
 
#define BOTH_KEEPALIVE_METHODS   3U
 

Detailed Description

Macro Definition Documentation

§ BOTH_KEEPALIVE_METHODS

#define BOTH_KEEPALIVE_METHODS   3U

§ ED_AGING_TIMEOUT_1024MIN

§ ED_AGING_TIMEOUT_10SEC

§ ED_AGING_TIMEOUT_128MIN

§ ED_AGING_TIMEOUT_16384MIN

§ ED_AGING_TIMEOUT_16MIN

§ ED_AGING_TIMEOUT_2048MIN

§ ED_AGING_TIMEOUT_256MIN

§ ED_AGING_TIMEOUT_2MIN

§ ED_AGING_TIMEOUT_32MIN

§ ED_AGING_TIMEOUT_4096MIN

§ ED_AGING_TIMEOUT_4MIN

§ ED_AGING_TIMEOUT_512MIN

§ ED_AGING_TIMEOUT_64MIN

§ ED_AGING_TIMEOUT_8192MIN

§ ED_AGING_TIMEOUT_8MIN

§ ED_KEEPALIVE_DISABLED

§ ED_TIMEOUT_REQUEST_KEEPALIVE

#define ED_TIMEOUT_REQUEST_KEEPALIVE   2U

§ MAC_DATA_POLL_KEEPALIVE

#define MAC_DATA_POLL_KEEPALIVE   1U

§ ZB_CHANNEL_PAGE0_2_4_GHZ

§ ZB_CHANNEL_PAGE23_SUB_GHZ

§ ZB_CHANNEL_PAGE24_SUB_GHZ

§ ZB_CHANNEL_PAGE25_SUB_GHZ

§ ZB_CHANNEL_PAGE26_SUB_GHZ

§ ZB_CHANNEL_PAGE27_SUB_GHZ

§ ZB_CHANNEL_PAGE28_SUB_GHZ

§ ZB_CHANNEL_PAGE29_SUB_GHZ

§ ZB_CHANNEL_PAGE30_SUB_GHZ

§ ZB_CHANNEL_PAGE31_SUB_GHZ

Typedef Documentation

§ nwk_keepalive_supported_method_t

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Type for ZC/ZR supported keepalive methods.

Holds one of keepalive_supported_method. Kept only for backward compatibility as keepalive_supported_method were declared previously as enum. Can be removed in future releases.

§ nwk_requested_timeout_t

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Type for End Device (ED) timeout request.

Deprecated:
holds one of nwk_requested_timeout. Kept only for backward compatibility as nwk_requested_timeout were declared previously as enum. Can be removed in future releases.

§ zb_set_manufacturer_code_cb_t

typedef void(* zb_set_manufacturer_code_cb_t) (zb_ret_t status)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Declares callback that is called after setting manufacturer code

Parameters
status- status of manufacturer code setting

§ zb_tx_power_params_t

Function Documentation

§ zb_channel_list_add()

zb_ret_t zb_channel_list_add ( zb_channel_list_t  channel_list,
zb_uint8_t  page_num,
zb_uint32_t  channel_mask 
)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Add channel mask for a specified channel page in a channel list

Parameters
channel_list- pointer to a channel list
page_num- channel page number - channel_pages_numbers
channel_mask- Zigbee channel mask
Returns
RET_OK if ok, else error code

§ zb_channel_list_init()

void zb_channel_list_init ( zb_channel_list_t  channel_list)

§ zb_get_tx_power_async()

void zb_get_tx_power_async ( zb_bufid_t  param)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Get transceiver power for given page and channel asynchronously.

This function requires param to contain zb_tx_power_params_t. Will return status RET_UNINITIALIZED if the channel/page storage hasn't been initialized yet.

Parameters
param- buffer, containing zb_tx_power_params_t.

§ zb_set_channel_mask()

void zb_set_channel_mask ( zb_uint32_t  channel_mask)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set channel mask on device.

Parameters
channel_mask- Zigbee channel mask

Example:

zb_set_channel((1l<<13) | (1l<<14));

§ zb_set_ed_timeout()

void zb_set_ed_timeout ( zb_uint_t  to)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set end device timeout.

Use it on End Device to specify End Device timeout period used in ED Timeout request.

Parameters
to- index in nwk_requested_timeout

§ zb_set_extended_pan_id()

void zb_set_extended_pan_id ( const zb_ext_pan_id_t  ext_pan_id)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set APS Use Extended Pan ID (apsUseExtendedPANID attribute)

Note: that function is obsolete. Use zb_set_use_extended_pan_id() instead!

Parameters
ext_pan_id- Long (64-bit) Extended Pan ID

§ zb_set_keepalive_mode()

void zb_set_keepalive_mode ( nwk_keepalive_supported_method_t  mode)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set keep alive mode.

Use it to set which method a device should use in poll context.

Parameters
mode- the keepalive mode a device wants to set

§ zb_set_keepalive_timeout()

void zb_set_keepalive_timeout ( zb_uint_t  to)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set keep alive timeout.

Use it on End Device to specify how often device should poll its parent.

Parameters
to- timeout, in beacon intervals

§ zb_set_long_address()

void zb_set_long_address ( const zb_ieee_addr_t  addr)

§ zb_set_max_children()

void zb_set_max_children ( zb_uint8_t  max_children)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set the maximum number of connected devices. Used for coordinators and routers

Deprecated:
This function will be removed in the next Major release after March 2025 Use zb_nwk_set_max_ed_capacity() instead
Parameters
max_children- maximum number of connected devices

§ zb_set_network_coordinator_role()

void zb_set_network_coordinator_role ( zb_uint32_t  channel_mask)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a Zigbee 3.0 (not SE!) coordinator

Parameters
channel_mask- Zigbee channel mask
Note
BDB channel sets that are set using zb_set_bdb_primary_channel_set() and zb_set_bdb_secondary_channel_set(), are always reset to zero after changing network role of the device.

§ zb_set_network_coordinator_role_ext()

void zb_set_network_coordinator_role_ext ( zb_channel_list_t  channel_list)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a Zigbee 3.0 BDB coordinator with channel list. Provides functionality to set mask for 2.4 GHz or Sub-GHz page.

Parameters
channel_list- Zigbee channels list

§ zb_set_network_coordinator_role_legacy()

void zb_set_network_coordinator_role_legacy ( zb_uint32_t  channel_mask)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a legacy (pre-r21) Zigbee coordinator

Parameters
channel_mask- Zigbee channel mask

§ zb_set_network_ed_role()

void zb_set_network_ed_role ( zb_uint32_t  channel_mask)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a Zigbee Zigbee 3.0 (not SE!) End Device

Parameters
channel_mask- Zigbee channel mask
Note
BDB channel sets that are set using zb_set_bdb_primary_channel_set() and zb_set_bdb_secondary_channel_set(), are always reset to zero after changing network role of the device.

§ zb_set_network_ed_role_ext()

void zb_set_network_ed_role_ext ( zb_channel_list_t  channel_list)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a Zigbee 3.0 BDB End Device with channel list. Provides functionality to set mask for 2.4 GHz or Sub-GHz page.

Parameters
channel_list- Zigbee channels list

§ zb_set_network_ed_role_legacy()

void zb_set_network_ed_role_legacy ( zb_uint32_t  channel_mask)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a legacy (pre-r21) Zigbee End Device

Parameters
channel_mask- Zigbee channel mask

§ zb_set_network_router_role()

void zb_set_network_router_role ( zb_uint32_t  channel_mask)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a Zigbee Zigbee 3.0 (not SE!) router

Parameters
channel_mask- Zigbee channel mask
Note
BDB channel sets that are set using zb_set_bdb_primary_channel_set() and zb_set_bdb_secondary_channel_set(), are always reset to zero after changing network role of the device.

§ zb_set_network_router_role_ext()

void zb_set_network_router_role_ext ( zb_channel_list_t  channel_list)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a Zigbee 3.0 BDB router with channel list. Provides functionality to set mask for Sub-GHz and 2.4GHz page.

Parameters
channel_list- Zigbee channels list

§ zb_set_network_router_role_legacy()

void zb_set_network_router_role_legacy ( zb_uint32_t  channel_mask)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Initiate device as a legacy (pre-r21) Zigbee router

Parameters
channel_mask- Zigbee channel mask

§ zb_set_node_descriptor_manufacturer_code_req()

void zb_set_node_descriptor_manufacturer_code_req ( zb_uint16_t  manuf_code,
zb_set_manufacturer_code_cb_t  cb 
)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set Manufacturer code of Node Descriptor Request

Parameters
manuf_code- manufacturer code to set
cb- callback that is called after manufacturer code setting

§ zb_set_pan_id()

§ zb_set_rx_on_when_idle()

void zb_set_rx_on_when_idle ( zb_bool_t  rx_on)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set RxOnWhenIdle attribute

Parameters
rx_on- attribute value

Example:

/* Set RX on when idle configuration, switch device to rx off */

§ zb_set_tx_power_async()

void zb_set_tx_power_async ( zb_bufid_t  param)

#include </home/developer/.conan/data/ti_zigbee/1.01.00.10/library-lprf/ga/build/f6d18801b7b469a709ae7e8290b03ecdc7a7ad4c/zboss_r23/include/zboss_api.h>

Set transceiver power to a given value on a given page and channel asynchronously.

This function requires param to contain zb_tx_power_params_t. If the power change is for the current channel, the function will attempt to change power immediately, otherwise it will save the change until channel switch.

Parameters
param- buffer, containing zb_tx_power_params_t.