ZLL Commissioning Common#

API and Callbacks for the ZLL Commissioning Common Component.

Common code for the ZigBee 3.0 touchlink commissioning mechanism. This component is required for both server and client side implementations.

Modules#

Zll Commissioning Common

API#

sl_status_t

Generate a random network key and initializes the security state of the device.

bool

Indicate whether a touch link procedure is currently in progress.

void

Reset the local device to a factory new state.

void

Unsets the factory new status for a Zigbee device.

sl_status_t

Disable touchlink processing.

sl_status_t

Enable touchlink processing.

Enumerations#

enum
INITIAL = 0x0000
SCAN_FOR_TOUCH_LINK = 0x0001
SCAN_FOR_DEVICE_INFORMATION = 0x0002
SCAN_FOR_IDENTIFY = 0x0004
SCAN_FOR_RESET = 0x0008
TARGET_NETWORK_FOUND = 0x0010
ABORTING_TOUCH_LINK = 0x0020
SCAN_COMPLETE = 0x0040
TOUCH_LINK_TARGET = 0x0080
FORMING_NETWORK = 0x0100
RESETTING_TO_FACTORY_NEW = 0x0200
}

Macros#

#define
touchLinkInProgress ()
#define
scanForTouchLink ()
#define
scanForDeviceInformation ()
#define
scanForIdentify ()
#define
scanForReset ()
#define
targetNetworkFound ()
#define
abortingTouchLink ()
#define
scanComplete ()
#define
touchLinkTarget ()
#define
formingNetwork ()
#define
resettingToFactoryNew ()
#define
ZLL_FRAME_CONTROL_LEGACY 0x00
#define
ZLL_FRAME_CONTROL_CLIENT_TO_SERVER 0x11
#define
ZLL_FRAME_CONTROL_SERVER_TO_CLIENT 0x19
#define
ZLL_HEADER_FRAME_CONTROL_OFFSET 0
#define
ZLL_HEADER_SEQUENCE_NUMBER_OFFSET 1
#define
ZLL_HEADER_COMMAND_ID_OFFSET 2
#define
ZLL_HEADER_TRANSACTION_ID_OFFSET 3
#define
ZLL_HEADER_OVERHEAD 7
#define
debugPrintln (...)
#define
debugPrint (...)
#define
debugExec (x)
#define
sl_zigbee_af_zll_commissioning_initial_security_state_cb sl_zigbee_af_zll_commissioning_common_initial_security_state_cb
#define
sl_zigbee_af_zll_commissioning_touch_link_complete_cb sl_zigbee_af_zll_commissioning_common_touch_link_complete_cb
#define
sl_zigbee_af_zll_commissioning_reset_to_factory_new_cb sl_zigbee_af_zll_commissioning_common_reset_to_factory_new_cb

API Documentation#

sl_zigbee_af_zll_set_initial_security_state#

sl_status_t sl_zigbee_af_zll_set_initial_security_state (void )

Generate a random network key and initializes the security state of the device.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function is a convenience wrapper for sl_zigbee_zll_set_initial_security_state, which must be called before starting or joining a network. The plugin initializes the security state for the initiator during touch linking. The target must initialize its own security state prior to forming a network either by using this function or by calling sl_zigbee_zll_set_initial_security_state directly.

Returns

  • An ::sl_status_t value that indicates the success or failure of the command.


sl_zigbee_af_zll_touch_link_in_progress#

bool sl_zigbee_af_zll_touch_link_in_progress (void )

Indicate whether a touch link procedure is currently in progress.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Returns

  • True if a touch link is in progress or false otherwise.


sl_zigbee_af_zll_reset_to_factory_new#

void sl_zigbee_af_zll_reset_to_factory_new (void )

Reset the local device to a factory new state.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function causes the device to leave the network and clear its network parameters, resets its attributes to their default values, and clears the group and scene tables.


sl_zigbee_af_zll_unset_factory_new#

void sl_zigbee_af_zll_unset_factory_new (void )

Unsets the factory new status for a Zigbee device.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function is used to clear the factory new status of a Zigbee device, indicating that the device has been previously commissioned and is no longer in its factory default state.


sl_zigbee_af_zll_disable#

sl_status_t sl_zigbee_af_zll_disable (void )

Disable touchlink processing.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function will cause the device to refuse network start/join requests if it receives them and will not allow touchlinking. Note that this will have the effect of overriding the sl_zigbee_af_zll_no_touchlink_for_nfn function.


sl_zigbee_af_zll_enable#

sl_status_t sl_zigbee_af_zll_enable (void )

Enable touchlink processing.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function will cause the device to accept network start/join requests if it receives them and will not allow touchlinking. Note that this will have the effect of overriding the sl_zigbee_af_zll_no_touchlink_for_nfn function.


Enumeration Documentation#

StateEnum#

StateEnum
Enumerator
INITIAL
SCAN_FOR_TOUCH_LINK
SCAN_FOR_DEVICE_INFORMATION
SCAN_FOR_IDENTIFY
SCAN_FOR_RESET
TARGET_NETWORK_FOUND
ABORTING_TOUCH_LINK
SCAN_COMPLETE
TOUCH_LINK_TARGET
FORMING_NETWORK
RESETTING_TO_FACTORY_NEW

Variable Documentation#

sli_zigbee_af_zll_network#

sl_zigbee_zll_network_t sli_zigbee_af_zll_network

sli_zigbee_af_zll_flags#

uint16_t sli_zigbee_af_zll_flags

sli_zigbee_af_initiator_rejoin_retry_count#

uint8_t sli_zigbee_af_initiator_rejoin_retry_count