Registration function

The following eZLO_RegisterOnOffLightEndPoint() function is the endpoint registration function for an On/Off Light device.

teZCL_Status eZLO_RegisterOnOffLightEndPoint(
     uint8 u8EndPointIdentifier,
     CL_ZCLCallBackFunction cbCallBack,
         tsZLO_OnOffLightDevice *psDeviceInfo);

Description

This function is used to register an endpoint that supports an On/Off Light device. The function must be called after eZCL_Initialise().

The specified identifier for the endpoint is a number in the range 1 to 240 (endpoint 0 is reserved for ZigBee use). Application endpoints are normally numbered consecutively starting at 1. The specified number must be less than or equal to the value of ZLO_NUMBER_OF_ENDPOINTS defined in the zcl_options.h file, which represents the highest endpoint number used for applications.

While invoking this function, specify a user-defined callback function, which is invoked when an event associated with the endpoint occurs. This callback function is defined according to the typedef:

typedef void(* tfpZCL_ZCLCallBackFunction)
(tsZCL_CallBackEvent *pCallBackEvent);

Also provide a pointer to a tsZLO_OnOffLightDevice structure, described in Section 3.1.2. This structure stores all variables relating to the colour Controller device associated with the endpoint. This function sets the sEndPoint and sClusterInstance fields of this structure and these fields must not be directly written to by the application.

The function is called multiple times if more than one endpoint is used - for example, if more than one On/Off Light device is housed in the same hardware, sharing the same module.

Parameters

  • u8EndPointIdentifier: Endpoint that is to be associated with the registered structure and callback function.

  • cbCallBack: Pointer to the callback function that is used to indicate events to the application for this endpoint.

  • psDeviceInfo: Pointer to the structure that acts as storage for all variables related to the device being registered. on this endpoint (see Section 3.1.2). The sEndPoint and sClusterInstance fields are set by this register function for internal use and must not be written to by the application.

Returns

  1. E_ZCL_SUCCESS

  2. E_ZCL_FAIL

  3. E_ZCL_ERR_PARAMETER_NULL

  4. E_ZCL_ERR_PARAMETER_RANGE

  5. E_ZCL_ERR_EP_RANGE

  6. E_ZCL_ERR_CLUSTER_0

  7. E_ZCL_ERR_CALLBACK_NULL

  8. E_ZCL_ERR_CLUSTER_NULL

  9. E_ZCL_ERR_SECURITY_RANGE

  10. E_ZCL_ERR_CLUSTER_ID_RANGE

  11. E_ZCL_ERR_MANUFACTURER_SPECIFIC

  12. E_ZCL_ERR_ATTRIBUTE_TYPE_UNSUPPORTED

  13. E_ZCL_ERR_ATTRIBUTE_ID_ORDER

  14. E_ZCL_ERR_ATTRIBUTES_ACCESS

The above codes are described in the ZCL User Guide (JNUG3132).

Parent topic:On/Off light