Network Steering#

API and Callbacks for the Network Steering Component.

This component performs the necessary steps to join the network of any Zigbee Profile. It first tries to perform a join using an install code using the primary channel mask, and then the secondary channel mask. If that does not work, it then tries to use the default well-known link key (ZigBeeAlliance09) to join on the primary channel mask, and then the secondary channel mask. Finally, if the previous two key types fail, the component tries to use the distributed security link key (D0D1D2...) to join on the primary channel mask, and then the secondary channel mask.

Modules#

Network Steering

API#

Initiate a network-steering procedure.

Stops the network steering procedure.

Enumerations#

enum
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_NONE = 0x00
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_INSTALL_CODE = 0x01
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_CENTRALIZED = 0x02
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_DISTRIBUTED = 0x03
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_INSTALL_CODE = 0x04
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_CENTRALIZED = 0x05
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_DISTRIBUTED = 0x06
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_USE_ALL_KEYS = 0x07
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_USE_ALL_KEYS = 0x08
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_FINISHED = 0x09
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_UPDATE_TCLK = 0x10
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_VERIFY_TCLK = 0x20
}
enum
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_OPTIONS_NONE = 0x00
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_OPTIONS_NO_TCLK_UPDATE = 0x01
}

Variables#

uint32_t

The first set of channels on which to search for joinable networks.

uint32_t

The second set of channels on which to search for joinable networks.

API Documentation#

sl_zigbee_af_network_steering_start#

sl_status_t sl_zigbee_af_network_steering_start (void )

Initiate a network-steering procedure.

Parameters
N/A

If the node is currently on a network, it performs network steering in which it opens up the network with a broadcast permit join message.

If the node is not on a network, it scans a series of primary channels (see sli_zigbee_af_network_steering_primary_channel_mask) to find possible networks to join. If it is unable to join any of those networks, it tries scanning on a set of secondary channels (see sli_zigbee_af_network_steering_secondary_channel_mask). Upon completion of this process, the plugin calls sl_zigbee_af_network_steering_complete_cb with information regarding the success or failure of the procedure.

This procedure will try to join networks using install codes, the centralized default key, and the distributed default key.

Returns

  • An sl_status_t value that indicates the success or failure of the initiating of the network steering process.

Note

  • Do not call this API from a stack status callback, as this plugin acts when its own stack status callback is invoked.


Definition at line 170 of file app/framework/plugin/network-steering/network-steering.h

sl_zigbee_af_network_steering_stop#

sl_status_t sl_zigbee_af_network_steering_stop (void )

Stops the network steering procedure.

Parameters
N/A

Returns

  • An sl_status_t value that indicates the success or failure of the initiating of the network steering process.


Definition at line 178 of file app/framework/plugin/network-steering/network-steering.h

Enumeration Documentation#

sl_zigbee_af_plugin_network_steering_state_t#

sl_zigbee_af_plugin_network_steering_state_t
Enumerator
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_NONE
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_INSTALL_CODE
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_CENTRALIZED
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_DISTRIBUTED
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_INSTALL_CODE
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_CENTRALIZED
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_DISTRIBUTED
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_PRIMARY_USE_ALL_KEYS
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_SECONDARY_USE_ALL_KEYS
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_SCAN_FINISHED
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_UPDATE_TCLK
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_STATE_VERIFY_TCLK

Definition at line 76 of file app/framework/plugin/network-steering/network-steering.h

sl_zigbee_af_plugin_network_steering_options_t#

sl_zigbee_af_plugin_network_steering_options_t
Enumerator
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_OPTIONS_NONE
SL_ZIGBEE_AF_PLUGIN_NETWORK_STEERING_OPTIONS_NO_TCLK_UPDATE

Definition at line 117 of file app/framework/plugin/network-steering/network-steering.h

Typedef Documentation#

sl_zigbee_af_plugin_network_steering_joining_state_t#

typedef uint8_t sl_zigbee_af_plugin_network_steering_joining_state_t

Definition at line 114 of file app/framework/plugin/network-steering/network-steering.h

sl_zigbee_af_plugin_network_steering_options_t#

typedef uint8_t sl_zigbee_af_plugin_network_steering_options_t

Definition at line 125 of file app/framework/plugin/network-steering/network-steering.h

Variable Documentation#

sli_zigbee_af_network_steering_options_mask#

sl_zigbee_af_plugin_network_steering_options_t sli_zigbee_af_network_steering_options_mask

Definition at line 127 of file app/framework/plugin/network-steering/network-steering.h

sli_zigbee_af_network_steering_primary_channel_mask#

uint32_t sli_zigbee_af_network_steering_primary_channel_mask

The first set of channels on which to search for joinable networks.


Definition at line 133 of file app/framework/plugin/network-steering/network-steering.h

sli_zigbee_af_network_steering_secondary_channel_mask#

uint32_t sli_zigbee_af_network_steering_secondary_channel_mask

The second set of channels on which to search for joinable networks.


Definition at line 135 of file app/framework/plugin/network-steering/network-steering.h