Developing with ZBOSS SDK for Zigbee

Typedefs

typedef zb_uint8_t zb_channel_page_num_e
 Type for channel pages' numbers. More...
 
typedef enum nwk_requested_timeout_e nwk_requested_timeout_t
 
typedef enum nwk_keepalive_supported_method_e nwk_keepalive_supported_method_t
 

Enumerations

enum  nwk_requested_timeout_e {
  ED_AGING_TIMEOUT_10SEC = 0, ED_AGING_TIMEOUT_2MIN, ED_AGING_TIMEOUT_4MIN, ED_AGING_TIMEOUT_8MIN,
  ED_AGING_TIMEOUT_16MIN, ED_AGING_TIMEOUT_32MIN, ED_AGING_TIMEOUT_64MIN, ED_AGING_TIMEOUT_128MIN,
  ED_AGING_TIMEOUT_256MIN, ED_AGING_TIMEOUT_512MIN, ED_AGING_TIMEOUT_1024MIN, ED_AGING_TIMEOUT_2048MIN,
  ED_AGING_TIMEOUT_4096MIN, ED_AGING_TIMEOUT_8192MIN, ED_AGING_TIMEOUT_16384MIN
}
 
enum  nwk_keepalive_supported_method_e { ED_KEEPALIVE_DISABLED = 0, MAC_DATA_POLL_KEEPALIVE, ED_TIMEOUT_REQUEST_KEEPALIVE, BOTH_KEEPALIVE_METHODS }
 

Functions

void zb_set_channel_mask (zb_uint32_t channel_mask)
 
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 (zb_uint16_t manuf_code)
 
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_coordinator_role_legacy (zb_uint32_t channel_mask)
 
void zb_set_network_router_role (zb_uint32_t channel_mask)
 
void zb_set_network_router_role_legacy (zb_uint32_t channel_mask)
 
void zb_set_network_ed_role (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_ed_role_ext (zb_channel_list_t channel_list)
 
void zb_se_set_bdb_mode_enabled (zb_uint8_t enabled)
 
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

#define ZB_CHANNEL_PAGE0_2_4_GHZ   0U
 
#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
 

Detailed Description

Typedef Documentation

◆ nwk_keepalive_supported_method_t

Enumeration, which stores all values that a ZC/ZR can set as the supported keepalive method

◆ nwk_requested_timeout_t

Enumeration, which store all values, which can be used in End Device timeout request

◆ zb_channel_page_num_e

Type for channel pages' numbers.

Enumeration Type Documentation

◆ nwk_keepalive_supported_method_e

Enumeration, which stores all values that a ZC/ZR can set as the supported keepalive method

Enumerator
ED_KEEPALIVE_DISABLED 

ZC/ZR doesn't support Keepalive feature

MAC_DATA_POLL_KEEPALIVE 

ZC/ZR supports Keepalive feature by means of MAC Data Poll

ED_TIMEOUT_REQUEST_KEEPALIVE 

ZC/ZR supports Keepalive feature by means of ED Timeout Request

BOTH_KEEPALIVE_METHODS 

ZC/ZR supports both MAC Data Poll and ED Timeout Request as Keepalive methods

◆ nwk_requested_timeout_e

Enumeration, which store all values, which can be used in End Device timeout request

Enumerator
ED_AGING_TIMEOUT_10SEC 

10 second timeout

ED_AGING_TIMEOUT_2MIN 

2 minutes

ED_AGING_TIMEOUT_4MIN 

4 minutes

ED_AGING_TIMEOUT_8MIN 

8 minutes

ED_AGING_TIMEOUT_16MIN 

16 minutes

ED_AGING_TIMEOUT_32MIN 

32 minutes

ED_AGING_TIMEOUT_64MIN 

64 minutes

ED_AGING_TIMEOUT_128MIN 

128 minutes

ED_AGING_TIMEOUT_256MIN 

256 minutes

ED_AGING_TIMEOUT_512MIN 

512 minutes

ED_AGING_TIMEOUT_1024MIN 

1024 minutes

ED_AGING_TIMEOUT_2048MIN 

2048 minutes

ED_AGING_TIMEOUT_4096MIN 

4096 minutes

ED_AGING_TIMEOUT_8192MIN 

8192 minutes

ED_AGING_TIMEOUT_16384MIN 

16384 minutes

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 
)

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)

Initialize a channel list

Parameters
channel_list- pointer to a channel list

◆ zb_set_channel_mask()

void zb_set_channel_mask ( zb_uint32_t  channel_mask)

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)

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_e

◆ zb_set_extended_pan_id()

void zb_set_extended_pan_id ( const zb_ext_pan_id_t  ext_pan_id)

Set Extended Pan ID (apsUseExtendedPANID attribute)

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)

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)

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)

Set 64-bit long address

Parameters
addr- long address structure

◆ zb_set_max_children()

void zb_set_max_children ( zb_uint8_t  max_children)

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

Parameters
max_children- maximum number of connected devices.

◆ zb_set_network_coordinator_role()

void zb_set_network_coordinator_role ( zb_uint32_t  channel_mask)

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

Parameters
channel_mask- Zigbee channel mask

◆ zb_set_network_coordinator_role_ext()

void zb_set_network_coordinator_role_ext ( zb_channel_list_t  channel_list)

Initiate device as a Zigbee 3.0 BDB coordinator with channel list. Provides functionality to set mask for Sub-GHz and 2.4GHz 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)

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)

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

Parameters
channel_mask- Zigbee channel mask

◆ zb_set_network_ed_role_ext()

void zb_set_network_ed_role_ext ( zb_channel_list_t  channel_list)

Initiate device as a Zigbee 3.0 BDB End Device with channel list. Provides functionality to set mask for Sub-GHz and 2.4GHz 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)

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)

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

Parameters
channel_mask- Zigbee channel mask

◆ zb_set_network_router_role_legacy()

void zb_set_network_router_role_legacy ( zb_uint32_t  channel_mask)

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

Parameters
channel_mask- Zigbee channel mask

◆ zb_set_node_descriptor_manufacturer_code()

void zb_set_node_descriptor_manufacturer_code ( zb_uint16_t  manuf_code)

Set Manufacturer code of Node Descriptor

Parameters
manuf_code- Manufacturer code

◆ zb_set_pan_id()

void zb_set_pan_id ( zb_uint16_t  pan_id)

Set 16-bit PAN ID.

Parameters
[in]pan_id- PAN ID

◆ zb_set_rx_on_when_idle()

void zb_set_rx_on_when_idle ( zb_bool_t  rx_on)

Set RxOnWhenIdle attribute

Parameters
rx_on- attribute value

Example:

zb_set_rx_on_when_idle(ZB_FALSE); // switch device to rx off