Definitions for the ZLL Commissioning Client plugin.

License#

Copyright 2018 Silicon Laboratories Inc. www.silabs.com

The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.

/***************************************************************************/
#ifndef SL_ZIGBEE_ZLL_COMMISSIONING_CLIENT_H
#define SL_ZIGBEE_ZLL_COMMISSIONING_CLIENT_H

EmberStatus emberAfZllInitiateTouchLink(void);

EmberStatus emberAfZllDeviceInformationRequest(void);

EmberStatus emberAfZllIdentifyRequest(void);

EmberStatus emberAfZllResetToFactoryNewRequest(void);

void emberAfZllAbortTouchLink(void);
 // end of name API

void emberAfPluginZllCommissioningClientTouchLinkFailedCallback(EmberAfZllCommissioningStatus status);
 // END addtogroup

// For legacy code
#define emberAfPluginZllCommissioningTouchLinkFailedCallback \
  emberAfPluginZllCommissioningClientTouchLinkFailedCallback
 // end of zll_commissioning_cb // end of name Callbacks // end of zll-commissioning-client

#endif // SL_ZIGBEE_ZLL_COMMISSIONING_CLIENT_H

API#

Initiate the touch link procedure.

Initiate a touch link to retrieve information about a target device.

Initiate a touch link to cause a target device to identify itself.

Initiate a touch link for the purpose of resetting a target device.

void

Abort the touch link procedure.

Callbacks#

void

Touch link failed.

Macros#

#define
emberAfPluginZllCommissioningTouchLinkFailedCallback emberAfPluginZllCommissioningClientTouchLinkFailedCallback

API Documentation#

emberAfZllInitiateTouchLink#

EmberStatus emberAfZllInitiateTouchLink (void )

Initiate the touch link procedure.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function causes the stack to broadcast a series of ScanRequest commands via inter-PAN messaging. The plugin selects the target that sent a ScanResponse command with the strongest RSSI and attempts to link with it. If touch linking completes successfully, the plugin calls emberAfPluginZllCommissioningTouchLinkCompleteCallback with information about the network and the target. If touch linking fails, the plugin calls emberAfPluginZllCommissioningTouchLinkFailedCallback.

Returns

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


emberAfZllDeviceInformationRequest#

EmberStatus emberAfZllDeviceInformationRequest (void )

Initiate a touch link to retrieve information about a target device.

Parameters
TypeDirectionArgument NameDescription
voidN/A

As with a traditional touch link, this function causes the stack to broadcast messages to discover a target device. When the target is selected (based on RSSI), the plugin will retrieve information about it by unicasting a series of DeviceInformationRequest commands via inter-PAN messaging. If the process completes successfully, the plugin calls emberAfPluginZllCommissioningTouchLinkCompleteCallback with information about the target. If touch linking fails, the plugin calls emberAfPluginZllCommissioningTouchLinkFailedCallback.

Returns

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


emberAfZllIdentifyRequest#

EmberStatus emberAfZllIdentifyRequest (void )

Initiate a touch link to cause a target device to identify itself.

Parameters
TypeDirectionArgument NameDescription
voidN/A

As with a traditional touch link, this function causes the stack to broadcast messages to discover a target device. When the target is selected (based on RSSI), the plugin will cause it to identify itself by unicasting an IdentifyRequest command via inter-PAN messaging. If the process completes successfully, the plugin calls emberAfPluginZllCommissioningTouchLinkCompleteCallback with information about the target. If touch linking fails, the plugin calls emberAfPluginZllCommissioningTouchLinkFailedCallback.

Returns

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


emberAfZllResetToFactoryNewRequest#

EmberStatus emberAfZllResetToFactoryNewRequest (void )

Initiate a touch link for the purpose of resetting a target device.

Parameters
TypeDirectionArgument NameDescription
voidN/A

As with a traditional touch link, this function causes the stack to broadcast messages to discover a target device. When the target is selected (based on RSSI), the plugin will reset it by unicasting a ResetToFactoryNewRequest command via inter-PAN messaging. If the process completes successfully, the plugin calls emberAfPluginZllCommissioningTouchLinkCompleteCallback with information about the target. If touch linking fails, the plugin calls emberAfPluginZllCommissioningTouchLinkFailedCallback.

Returns

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


emberAfZllAbortTouchLink#

void emberAfZllAbortTouchLink (void )

Abort the touch link procedure.

Parameters
TypeDirectionArgument NameDescription
voidN/A

This function can be called to cancel the touch link procedure. This can be useful, for example, if the touch link target is incorrect.


Callbacks Documentation#

emberAfPluginZllCommissioningClientTouchLinkFailedCallback#

void emberAfPluginZllCommissioningClientTouchLinkFailedCallback (EmberAfZllCommissioningStatus status)

Touch link failed.

Parameters
TypeDirectionArgument NameDescription
EmberAfZllCommissioningStatusN/Astatus

The reason the touch link failed. Ver.: always

This function is called by the ZLL Commissioning Client plugin if touch linking fails.