Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*****************************************************************************
- *
- * MODULE: Basic Cluster
- *
- * COMPONENT: BasicClientCommands.h
- *
- * AUTHOR: Lee Mitchell
- *
- * DESCRIPTION: Send a Basic cluster command
- *
- * $HeadURL: https://www.collabnet.nxp.com/svn/lprf_sware/Projects/Components/ZCL/Trunk/Clusters/General/Source/BasicClientCommands.c $
- *
- * $Revision: 65575 $
- *
- * $LastChangedBy: nxp57621 $
- *
- * $LastChangedDate: 2014-11-14 12:35:30 +0100 (Fri, 14 Nov 2014) $
- *
- * $Id: BasicClientCommands.c 65575 2014-11-14 11:35:30Z nxp57621 $
- *
- ****************************************************************************
- *
- * This software is owned by NXP B.V. and/or its supplier and is protected
- * under applicable copyright laws. All rights are reserved. We grant You,
- * and any third parties, a license to use this software solely and
- * exclusively on NXP products [NXP Microcontrollers such as JN5168, JN5164,
- * JN5161, JN5148, JN5142, JN5139].
- * You, and any third parties must reproduce the copyright and warranty notice
- * and any other legend of ownership on each copy or partial copy of the software.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * Copyright NXP B.V. 2012. All rights reserved
- *
- ****************************************************************************/
- /****************************************************************************/
- /*** Include files ***/
- /****************************************************************************/
- #include <jendefs.h>
- #include "zcl.h"
- #include "zcl_customcommand.h"
- #include "Basic.h"
- #include "pdum_apl.h"
- #include "zps_apl.h"
- #include "zps_apl_af.h"
- #include "dbg.h"
- #ifdef DEBUG_CLD_BASIC
- #define TRACE_BASIC TRUE
- #else
- #define TRACE_BASIC FALSE
- #endif
- /****************************************************************************/
- /*** Macro Definitions ***/
- /****************************************************************************/
- /****************************************************************************/
- /*** Type Definitions ***/
- /****************************************************************************/
- /****************************************************************************/
- /*** Local Function Prototypes ***/
- /****************************************************************************/
- /****************************************************************************/
- /*** Exported Variables ***/
- /****************************************************************************/
- /****************************************************************************/
- /*** Local Variables ***/
- /****************************************************************************/
- /****************************************************************************/
- /*** Public Functions ***/
- /****************************************************************************/
- /****************************************************************************
- **
- ** NAME: eCLD_BasicCommandResetToFactoryDefaultsSend
- **
- ** DESCRIPTION:
- ** Builds and sends a basic cluster command
- **
- ** PARAMETERS: Name Usage
- ** uint8 u8SourceEndPointId Source EP Id
- ** uint8 u8DestinationEndPointId Destination EP Id
- ** tsZCL_Address *psDestinationAddress Destination Address
- ** uint8 *pu8TransactionSequenceNumber Sequence number Pointer
- **
- ** RETURN:
- ** teZCL_Status
- **
- ****************************************************************************/
- PUBLIC teZCL_Status eCLD_BasicCommandResetToFactoryDefaultsSend(
- uint8 u8SourceEndPointId,
- uint8 u8DestinationEndPointId,
- tsZCL_Address *psDestinationAddress,
- uint8 *pu8TransactionSequenceNumber)
- {
- return eZCL_CustomCommandSend(u8SourceEndPointId,
- u8DestinationEndPointId,
- psDestinationAddress,
- GENERAL_CLUSTER_ID_BASIC,
- FALSE,
- E_CLD_BASIC_CMD_RESET_TO_FACTORY_DEFAULTS,
- pu8TransactionSequenceNumber,
- 0,
- FALSE,
- 0,
- 0);
- }
- /****************************************************************************
- **
- ** NAME: eCLD_BasicCommandResetToFactoryDefaultsReceive
- **
- ** DESCRIPTION:
- ** handles rx of reset to factory defaults message
- **
- ** PARAMETERS: Name Usage
- ** ZPS_tsAfEvent *pZPSevent Zigbee stack event structure
- ** tsZCL_EndPointDefinition *psEndPointDefinition EP structure
- ** tsZCL_ClusterInstance *psClusterInstance Cluster structure
- ** uint8 *pu8TransactionSequenceNumber Sequence number Pointer
- **
- ** RETURN:
- ** teZCL_Status
- **
- ****************************************************************************/
- PUBLIC teZCL_Status eCLD_BasicCommandResetToFactoryDefaultsReceive(
- ZPS_tsAfEvent *pZPSevent,
- uint8 *pu8TransactionSequenceNumber)
- {
- return eZCL_CustomCommandReceive(pZPSevent,
- pu8TransactionSequenceNumber,
- 0,
- 0,
- E_ZCL_ACCEPT_EXACT);
- }
- #ifdef CLD_BAS_CMD_MAN_SPEC_SET_LED_INTENSITY
- /****************************************************************************
- **
- ** NAME: eCLD_BasicCommandSetLedIntensitySend
- **
- ** DESCRIPTION:
- ** Builds and sends a basic cluster command
- **
- ** PARAMETERS: Name Usage
- ** uint8 u8SourceEndPointId Source EP Id
- ** uint8 u8DestinationEndPointId Destination EP Id
- ** tsZCL_Address *psDestinationAddress Destination Address
- ** uint8 *pu8TransactionSequenceNumber Sequence number Pointer
- **
- ** RETURN:
- ** teZCL_Status
- **
- ****************************************************************************/
- PUBLIC teZCL_Status eCLD_BasicCommandSetLedIntensitySend(
- uint8 u8SourceEndPointId,
- uint8 u8DestinationEndPointId,
- tsZCL_Address *psDestinationAddress,
- uint8 *pu8TransactionSequenceNumber,
- tsCLD_Basic_SetLedIntensityPayload *psPayload)
- {
- tsZCL_TxPayloadItem asPayloadDefinition[] = {
- {1, E_ZCL_UINT8, &psPayload->u8IntensityLevel}
- };
- return eZCL_CustomCommandSend(u8SourceEndPointId,
- u8DestinationEndPointId,
- psDestinationAddress,
- GENERAL_CLUSTER_ID_BASIC,
- FALSE,
- E_CLD_BASIC_CMD_MAN_SPEC_SET_LED_INTENSITY,
- pu8TransactionSequenceNumber,
- asPayloadDefinition,
- TRUE,
- ZCL_MANUFACTURER_CODE,
- sizeof(asPayloadDefinition) / sizeof(tsZCL_TxPayloadItem)
- );
- }
- /****************************************************************************
- **
- ** NAME: eCLD_BasicCommandSetLedIntensityReceive
- **
- ** DESCRIPTION:
- ** handles rx of reset to factory defaults message
- **
- ** PARAMETERS: Name Usage
- ** ZPS_tsAfEvent *pZPSevent Zigbee stack event structure
- ** tsZCL_EndPointDefinition *psEndPointDefinition EP structure
- ** tsZCL_ClusterInstance *psClusterInstance Cluster structure
- ** uint8 *pu8TransactionSequenceNumber Sequence number Pointer
- **
- ** RETURN:
- ** teZCL_Status
- **
- ****************************************************************************/
- PUBLIC teZCL_Status eCLD_BasicCommandSetLedIntensityReceive(
- ZPS_tsAfEvent *pZPSevent,
- uint8 *pu8TransactionSequenceNumber,
- tsCLD_Basic_SetLedIntensityPayload *psPayload)
- {
- uint16 u16ActualQuantity;
- tsZCL_RxPayloadItem asPayloadDefinition[] = {
- {1, &u16ActualQuantity, E_ZCL_UINT8, &psPayload->u8IntensityLevel}
- };
- return eZCL_CustomCommandReceive(pZPSevent,
- pu8TransactionSequenceNumber,
- asPayloadDefinition,
- sizeof(asPayloadDefinition) / sizeof(tsZCL_RxPayloadItem),
- E_ZCL_ACCEPT_LESS|E_ZCL_DISABLE_DEFAULT_RESPONSE);
- }
- #endif
- #ifdef CLD_BAS_CMD_MAN_SPEC_SET_VIBRATION_INTENSITY
- /****************************************************************************
- **
- ** NAME: eCLD_BasicCommandSetVibrationIntensitySend
- **
- ** DESCRIPTION:
- ** Builds and sends a basic cluster command
- **
- ** PARAMETERS: Name Usage
- ** uint8 u8SourceEndPointId Source EP Id
- ** uint8 u8DestinationEndPointId Destination EP Id
- ** tsZCL_Address *psDestinationAddress Destination Address
- ** uint8 *pu8TransactionSequenceNumber Sequence number Pointer
- **
- ** RETURN:
- ** teZCL_Status
- **
- ****************************************************************************/
- PUBLIC teZCL_Status eCLD_BasicCommandSetVibrationIntensitySend(
- uint8 u8SourceEndPointId,
- uint8 u8DestinationEndPointId,
- tsZCL_Address *psDestinationAddress,
- uint8 *pu8TransactionSequenceNumber,
- tsCLD_Basic_SetVibrationIntensityPayload *psPayload)
- {
- tsZCL_TxPayloadItem asPayloadDefinition[] = {
- {1, E_ZCL_UINT8, &psPayload->u8IntensityLevel}
- };
- return eZCL_CustomCommandSend(u8SourceEndPointId,
- u8DestinationEndPointId,
- psDestinationAddress,
- GENERAL_CLUSTER_ID_BASIC,
- FALSE,
- E_CLD_BASIC_CMD_MAN_SPEC_SET_VIBRATION_INTENSITY,
- pu8TransactionSequenceNumber,
- asPayloadDefinition,
- TRUE,
- ZCL_MANUFACTURER_CODE,
- sizeof(asPayloadDefinition) / sizeof(tsZCL_TxPayloadItem)
- );
- }
- /****************************************************************************
- **
- ** NAME: eCLD_BasicCommandSetVibrationIntensityReceive
- **
- ** DESCRIPTION:
- ** handles rx of reset to factory defaults message
- **
- ** PARAMETERS: Name Usage
- ** ZPS_tsAfEvent *pZPSevent Zigbee stack event structure
- ** tsZCL_EndPointDefinition *psEndPointDefinition EP structure
- ** tsZCL_ClusterInstance *psClusterInstance Cluster structure
- ** uint8 *pu8TransactionSequenceNumber Sequence number Pointer
- **
- ** RETURN:
- ** teZCL_Status
- **
- ****************************************************************************/
- PUBLIC teZCL_Status eCLD_BasicCommandSetVibrationIntensityReceive(
- ZPS_tsAfEvent *pZPSevent,
- uint8 *pu8TransactionSequenceNumber,
- tsCLD_Basic_SetVibrationIntensityPayload *psPayload)
- {
- uint16 u16ActualQuantity;
- tsZCL_RxPayloadItem asPayloadDefinition[] = {
- {1, &u16ActualQuantity, E_ZCL_UINT8, &psPayload->u8IntensityLevel}
- };
- return eZCL_CustomCommandReceive(pZPSevent,
- pu8TransactionSequenceNumber,
- asPayloadDefinition,
- sizeof(asPayloadDefinition) / sizeof(tsZCL_RxPayloadItem),
- E_ZCL_ACCEPT_LESS|E_ZCL_DISABLE_DEFAULT_RESPONSE);
- }
- #endif
- /****************************************************************************/
- /*** Private Functions ***/
- /****************************************************************************/
- /****************************************************************************/
- /*** END OF FILE ***/
- /****************************************************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement