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#

EmberStatus

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.

EmberStatus

Disable touchlink processing.

EmberStatus

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
#define
#define
#define
#define
#define
#define
#define
#define
emberAfPluginZllCommissioningInitialSecurityStateCallback emberAfPluginZllCommissioningCommonInitialSecurityStateCallback
#define
emberAfPluginZllCommissioningTouchLinkCompleteCallback emberAfPluginZllCommissioningCommonTouchLinkCompleteCallback
#define
emberAfPluginZllCommissioningResetToFactoryNewCallback emberAfPluginZllCommissioningCommonResetToFactoryNewCallback

API Documentation#

emberAfZllSetInitialSecurityState#

EmberStatus emberAfZllSetInitialSecurityState (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 ::emberZllSetInitialSecurityState, 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 ::emberZllSetInitialSecurityState directly.

Returns

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


emberAfZllTouchLinkInProgress#

bool emberAfZllTouchLinkInProgress (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.


emberAfZllResetToFactoryNew#

void emberAfZllResetToFactoryNew (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.


emberAfZllDisable#

EmberStatus emberAfZllDisable (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 emberAfZllNoTouchlinkForNFN function.


emberAfZllEnable#

EmberStatus emberAfZllEnable (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 emberAfZllNoTouchlinkForNFN 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#

EmberZllNetwork sli_zigbee_af_zll_network

sli_zigbee_af_zll_flags#

uint16_t sli_zigbee_af_zll_flags

sli_zigbee_af_initiatorRejoinRetryCount#

uint8_t sli_zigbee_af_initiatorRejoinRetryCount

Macro Definition Documentation#

touchLinkInProgress#

#define touchLinkInProgress
Value:
(sli_zigbee_af_zll_flags \
& (SCAN_FOR_TOUCH_LINK \
| SCAN_FOR_DEVICE_INFORMATION \
| SCAN_FOR_IDENTIFY \
| SCAN_FOR_RESET \
| TOUCH_LINK_TARGET))

scanForTouchLink#

#define scanForTouchLink
Value:
()

scanForDeviceInformation#

#define scanForDeviceInformation
Value:
()

scanForIdentify#

#define scanForIdentify
Value:
()

scanForReset#

#define scanForReset
Value:
()

targetNetworkFound#

#define targetNetworkFound
Value:
()

abortingTouchLink#

#define abortingTouchLink
Value:
()

scanComplete#

#define scanComplete
Value:
()

touchLinkTarget#

#define touchLinkTarget
Value:
()

formingNetwork#

#define formingNetwork
Value:
()

resettingToFactoryNew#

#define resettingToFactoryNew
Value:
()

ZLL_FRAME_CONTROL_LEGACY#

#define ZLL_FRAME_CONTROL_LEGACY
Value:
0x00

ZLL_FRAME_CONTROL_CLIENT_TO_SERVER#

#define ZLL_FRAME_CONTROL_CLIENT_TO_SERVER
Value:
0x11

ZLL_FRAME_CONTROL_SERVER_TO_CLIENT#

#define ZLL_FRAME_CONTROL_SERVER_TO_CLIENT
Value:
0x19

ZLL_HEADER_FRAME_CONTROL_OFFSET#

#define ZLL_HEADER_FRAME_CONTROL_OFFSET
Value:
0

ZLL_HEADER_SEQUENCE_NUMBER_OFFSET#

#define ZLL_HEADER_SEQUENCE_NUMBER_OFFSET
Value:
1

ZLL_HEADER_COMMAND_ID_OFFSET#

#define ZLL_HEADER_COMMAND_ID_OFFSET
Value:
2

ZLL_HEADER_TRANSACTION_ID_OFFSET#

#define ZLL_HEADER_TRANSACTION_ID_OFFSET
Value:
3

ZLL_HEADER_OVERHEAD#

#define ZLL_HEADER_OVERHEAD
Value:
7

debugPrintln#

#define debugPrintln

debugPrint#

#define debugPrint

debugExec#

#define debugExec

emberAfPluginZllCommissioningInitialSecurityStateCallback#

#define emberAfPluginZllCommissioningInitialSecurityStateCallback
Value:
emberAfPluginZllCommissioningCommonInitialSecurityStateCallback

emberAfPluginZllCommissioningTouchLinkCompleteCallback#

#define emberAfPluginZllCommissioningTouchLinkCompleteCallback
Value:
emberAfPluginZllCommissioningCommonTouchLinkCompleteCallback

emberAfPluginZllCommissioningResetToFactoryNewCallback#

#define emberAfPluginZllCommissioningResetToFactoryNewCallback
Value:
emberAfPluginZllCommissioningCommonResetToFactoryNewCallback