added sourcecode

This commit is contained in:
formtapez
2019-04-30 09:40:22 +02:00
parent 236ce2626f
commit f963cac972
7 changed files with 10038 additions and 0 deletions

2635
src/ZigUP/CC2530DB/ZigUP.ewd Executable file

File diff suppressed because it is too large Load Diff

5330
src/ZigUP/CC2530DB/ZigUP.ewp Executable file

File diff suppressed because it is too large Load Diff

30
src/ZigUP/CC2530DB/ZigUP.eww Executable file
View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<workspace>
<project>
<path>$WS_DIR$\ZigUP.ewp</path>
</project>
<batchBuild>
<batchDefinition>
<name>ALL</name>
<member>
<project>ZigUP</project>
<configuration>CoordinatorEB</configuration>
</member>
<member>
<project>ZigUP</project>
<configuration>RouterEB</configuration>
</member>
<member>
<project>ZigUP</project>
<configuration>EndDeviceEB</configuration>
</member>
<member>
<project>ZigUP</project>
<configuration>RouterZLight</configuration>
</member>
</batchDefinition>
</batchBuild>
</workspace>

90
src/ZigUP/Source/OSAL_ZigUP.c Executable file
View File

@@ -0,0 +1,90 @@
/*********************************************************************
* INCLUDES
*/
#include "ZComDef.h"
#include "hal_drivers.h"
#include "OSAL.h"
#include "OSAL_Tasks.h"
#if defined ( MT_TASK )
#include "MT.h"
#include "MT_TASK.h"
#endif
#include "nwk.h"
#include "APS.h"
#include "ZDApp.h"
#if defined ( ZIGBEE_FREQ_AGILITY ) || defined ( ZIGBEE_PANID_CONFLICT )
#include "ZDNwkMgr.h"
#endif
#if defined ( ZIGBEE_FRAGMENTATION )
#include "aps_frag.h"
#endif
#include "zcl_zigup.h"
/*********************************************************************
* GLOBAL VARIABLES
*/
// The order in this table must be identical to the task initialization calls below in osalInitTask.
const pTaskEventHandlerFn tasksArr[] = {
macEventLoop,
nwk_event_loop,
Hal_ProcessEvent,
#if defined( MT_TASK )
MT_ProcessEvent,
#endif
APS_event_loop,
#if defined ( ZIGBEE_FRAGMENTATION )
APSF_ProcessEvent,
#endif
ZDApp_event_loop,
#if defined ( ZIGBEE_FREQ_AGILITY ) || defined ( ZIGBEE_PANID_CONFLICT )
ZDNwkMgr_event_loop,
#endif
zcl_event_loop,
zclZigUP_event_loop
};
const uint8 tasksCnt = sizeof( tasksArr ) / sizeof( tasksArr[0] );
uint16 *tasksEvents;
/*********************************************************************
* FUNCTIONS
*********************************************************************/
/*********************************************************************
* @fn osalInitTasks
*
* @brief This function invokes the initialization function for each task.
*
* @param void
*
* @return none
*/
void osalInitTasks( void )
{
uint8 taskID = 0;
tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt);
osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt));
macTaskInit( taskID++ );
nwk_init( taskID++ );
Hal_Init( taskID++ );
#if defined( MT_TASK )
MT_TaskInit( taskID++ );
#endif
APS_Init( taskID++ );
#if defined ( ZIGBEE_FRAGMENTATION )
APSF_Init( taskID++ );
#endif
ZDApp_Init( taskID++ );
#if defined ( ZIGBEE_FREQ_AGILITY ) || defined ( ZIGBEE_PANID_CONFLICT )
ZDNwkMgr_Init( taskID++ );
#endif
zcl_Init( taskID++ );
zclZigUP_Init( taskID );
}

1300
src/ZigUP/Source/zcl_zigup.c Executable file

File diff suppressed because it is too large Load Diff

397
src/ZigUP/Source/zcl_zigup.h Executable file
View File

@@ -0,0 +1,397 @@
#ifndef ZCL_ZIGUP_H
#define ZCL_ZIGUP_H
#ifdef __cplusplus
extern "C"
{
#endif
/*********************************************************************
* INCLUDES
*/
#include "zcl.h"
#include "zcl_general.h"
/*********************************************************************
* CONSTANTS
*/
#define ZIGUP_ENDPOINT 8
#define LIGHT_OFF 0x00
#define LIGHT_ON 0x01
// Application Events
#define ZIGUP_IDENTIFY_TIMEOUT_EVT 0x0001
#define ZIGUP_REPORTING_EVT 0x0002
// Custom attribute IDs
#define ATTRID_CPU_TEMP 41361
#define ATTRID_EXT_TEMP 41362
#define ATTRID_EXT_HUMI 41363
#define ATTRID_S0_COUNTS 41364
#define ATTRID_ADC_VOLT 41365
#define ATTRID_DIG_INPUT 41366
// Bitmasks
#define b00000000 0x00
#define b00000001 0x01
#define b00000010 0x02
#define b00000011 0x03
#define b00000100 0x04
#define b00000101 0x05
#define b00000110 0x06
#define b00000111 0x07
#define b00001000 0x08
#define b00001001 0x09
#define b00001010 0x0a
#define b00001011 0x0b
#define b00001100 0x0c
#define b00001101 0x0d
#define b00001110 0x0e
#define b00001111 0x0f
#define b00010000 0x10
#define b00010001 0x11
#define b00010010 0x12
#define b00010011 0x13
#define b00010100 0x14
#define b00010101 0x15
#define b00010110 0x16
#define b00010111 0x17
#define b00011000 0x18
#define b00011001 0x19
#define b00011010 0x1a
#define b00011011 0x1b
#define b00011100 0x1c
#define b00011101 0x1d
#define b00011110 0x1e
#define b00011111 0x1f
#define b00100000 0x20
#define b00100001 0x21
#define b00100010 0x22
#define b00100011 0x23
#define b00100100 0x24
#define b00100101 0x25
#define b00100110 0x26
#define b00100111 0x27
#define b00101000 0x28
#define b00101001 0x29
#define b00101010 0x2a
#define b00101011 0x2b
#define b00101100 0x2c
#define b00101101 0x2d
#define b00101110 0x2e
#define b00101111 0x2f
#define b00110000 0x30
#define b00110001 0x31
#define b00110010 0x32
#define b00110011 0x33
#define b00110100 0x34
#define b00110101 0x35
#define b00110110 0x36
#define b00110111 0x37
#define b00111000 0x38
#define b00111001 0x39
#define b00111010 0x3a
#define b00111011 0x3b
#define b00111100 0x3c
#define b00111101 0x3d
#define b00111110 0x3e
#define b00111111 0x3f
#define b01000000 0x40
#define b01000001 0x41
#define b01000010 0x42
#define b01000011 0x43
#define b01000100 0x44
#define b01000101 0x45
#define b01000110 0x46
#define b01000111 0x47
#define b01001000 0x48
#define b01001001 0x49
#define b01001010 0x4a
#define b01001011 0x4b
#define b01001100 0x4c
#define b01001101 0x4d
#define b01001110 0x4e
#define b01001111 0x4f
#define b01010000 0x50
#define b01010001 0x51
#define b01010010 0x52
#define b01010011 0x53
#define b01010100 0x54
#define b01010101 0x55
#define b01010110 0x56
#define b01010111 0x57
#define b01011000 0x58
#define b01011001 0x59
#define b01011010 0x5a
#define b01011011 0x5b
#define b01011100 0x5c
#define b01011101 0x5d
#define b01011110 0x5e
#define b01011111 0x5f
#define b01100000 0x60
#define b01100001 0x61
#define b01100010 0x62
#define b01100011 0x63
#define b01100100 0x64
#define b01100101 0x65
#define b01100110 0x66
#define b01100111 0x67
#define b01101000 0x68
#define b01101001 0x69
#define b01101010 0x6a
#define b01101011 0x6b
#define b01101100 0x6c
#define b01101101 0x6d
#define b01101110 0x6e
#define b01101111 0x6f
#define b01110000 0x70
#define b01110001 0x71
#define b01110010 0x72
#define b01110011 0x73
#define b01110100 0x74
#define b01110101 0x75
#define b01110110 0x76
#define b01110111 0x77
#define b01111000 0x78
#define b01111001 0x79
#define b01111010 0x7a
#define b01111011 0x7b
#define b01111100 0x7c
#define b01111101 0x7d
#define b01111110 0x7e
#define b01111111 0x7f
#define b10000000 0x80
#define b10000001 0x81
#define b10000010 0x82
#define b10000011 0x83
#define b10000100 0x84
#define b10000101 0x85
#define b10000110 0x86
#define b10000111 0x87
#define b10001000 0x88
#define b10001001 0x89
#define b10001010 0x8a
#define b10001011 0x8b
#define b10001100 0x8c
#define b10001101 0x8d
#define b10001110 0x8e
#define b10001111 0x8f
#define b10010000 0x90
#define b10010001 0x91
#define b10010010 0x92
#define b10010011 0x93
#define b10010100 0x94
#define b10010101 0x95
#define b10010110 0x96
#define b10010111 0x97
#define b10011000 0x98
#define b10011001 0x99
#define b10011010 0x9a
#define b10011011 0x9b
#define b10011100 0x9c
#define b10011101 0x9d
#define b10011110 0x9e
#define b10011111 0x9f
#define b10100000 0xa0
#define b10100001 0xa1
#define b10100010 0xa2
#define b10100011 0xa3
#define b10100100 0xa4
#define b10100101 0xa5
#define b10100110 0xa6
#define b10100111 0xa7
#define b10101000 0xa8
#define b10101001 0xa9
#define b10101010 0xaa
#define b10101011 0xab
#define b10101100 0xac
#define b10101101 0xad
#define b10101110 0xae
#define b10101111 0xaf
#define b10110000 0xb0
#define b10110001 0xb1
#define b10110010 0xb2
#define b10110011 0xb3
#define b10110100 0xb4
#define b10110101 0xb5
#define b10110110 0xb6
#define b10110111 0xb7
#define b10111000 0xb8
#define b10111001 0xb9
#define b10111010 0xba
#define b10111011 0xbb
#define b10111100 0xbc
#define b10111101 0xbd
#define b10111110 0xbe
#define b10111111 0xbf
#define b11000000 0xc0
#define b11000001 0xc1
#define b11000010 0xc2
#define b11000011 0xc3
#define b11000100 0xc4
#define b11000101 0xc5
#define b11000110 0xc6
#define b11000111 0xc7
#define b11001000 0xc8
#define b11001001 0xc9
#define b11001010 0xca
#define b11001011 0xcb
#define b11001100 0xcc
#define b11001101 0xcd
#define b11001110 0xce
#define b11001111 0xcf
#define b11010000 0xd0
#define b11010001 0xd1
#define b11010010 0xd2
#define b11010011 0xd3
#define b11010100 0xd4
#define b11010101 0xd5
#define b11010110 0xd6
#define b11010111 0xd7
#define b11011000 0xd8
#define b11011001 0xd9
#define b11011010 0xda
#define b11011011 0xdb
#define b11011100 0xdc
#define b11011101 0xdd
#define b11011110 0xde
#define b11011111 0xdf
#define b11100000 0xe0
#define b11100001 0xe1
#define b11100010 0xe2
#define b11100011 0xe3
#define b11100100 0xe4
#define b11100101 0xe5
#define b11100110 0xe6
#define b11100111 0xe7
#define b11101000 0xe8
#define b11101001 0xe9
#define b11101010 0xea
#define b11101011 0xeb
#define b11101100 0xec
#define b11101101 0xed
#define b11101110 0xee
#define b11101111 0xef
#define b11110000 0xf0
#define b11110001 0xf1
#define b11110010 0xf2
#define b11110011 0xf3
#define b11110100 0xf4
#define b11110101 0xf5
#define b11110110 0xf6
#define b11110111 0xf7
#define b11111000 0xf8
#define b11111001 0xf9
#define b11111010 0xfa
#define b11111011 0xfb
#define b11111100 0xfc
#define b11111101 0xfd
#define b11111110 0xfe
#define b11111111 0xff
/*********************************************************************
* MACROS
*/
/*********************************************************************
* TYPEDEFS
*/
/*********************************************************************
* VARIABLES
*/
extern SimpleDescriptionFormat_t zclZigUP_SimpleDesc[];
extern CONST zclCommandRec_t zclZigUP_Cmds[];
extern CONST uint8 zclCmdsArraySize;
// attribute list
extern CONST zclAttrRec_t zclZigUP_Attrs[];
extern CONST uint8 zclZigUP_NumAttributes;
// Identify attributes
extern uint16 zclZigUP_IdentifyTime;
extern uint8 zclZigUP_IdentifyCommissionState;
// OnOff attributes
extern uint8 zclZigUP_OnOff;
/*********************************************************************
* FUNCTIONS
*/
void _delay_ns_400(void);
void _delay_ns_800(void);
void _delay_us(uint16 microSecs);
void _delay_ms(uint16 milliSecs);
void FactoryReset(void);
uint16 ADC_Read(void);
uint16 ADC_Read_Avg(void);
float ADC_GetVoltage(void);
uint16 ADC_Temperature(void);
uint16 ADC_Temperature_Avg(void);
float ADC_GetTemperature(void);
void UART0_Init(void);
void UART0_Transmit(char data);
void UART0_String(const char *s);
void Relais(uint8 state);
void LED(uint8 state);
void WS2812_StoreBit(uint8 bit);
void WS2812_SendLED(uint8 red, uint8 green, uint8 blue);
uint8 GetRandomNumber(void);
__interrupt void IRQ_S0(void);
__interrupt void IRQ_KEY(void);
__interrupt void IRQ_DIGIN(void);
void zclZigUP_Reporting(void);
void Measure(void);
int DHT22_Measure(void);
int DS1820_Measure(void);
void ds18b20_send(uint8 bit);
uint8 ds18b20_read(void);
void ds18b20_send_byte(int8 data);
uint8 ds18b20_read_byte(void);
uint8 ds18b20_RST_PULSE(void);
uint8 ds18b20_get_temp(void);
static void zclZigUP_BasicResetCB( void );
static void zclZigUP_IdentifyCB( zclIdentify_t *pCmd );
static void zclZigUP_IdentifyQueryRspCB( zclIdentifyQueryRsp_t *pRsp );
static void zclZigUP_OnOffCB( uint8 cmd );
static void zclZigUP_ProcessIdentifyTimeChange( void );
// Functions to process ZCL Foundation incoming Command/Response messages
static void zclZigUP_ProcessIncomingMsg( zclIncomingMsg_t *msg );
#ifdef ZCL_READ
static uint8 zclZigUP_ProcessInReadRspCmd( zclIncomingMsg_t *pInMsg );
#endif
#ifdef ZCL_WRITE
static uint8 zclZigUP_ProcessInWriteRspCmd( zclIncomingMsg_t *pInMsg );
#endif
static uint8 zclZigUP_ProcessInDefaultRspCmd( zclIncomingMsg_t *pInMsg );
#ifdef ZCL_DISCOVER
static uint8 zclZigUP_ProcessInDiscCmdsRspCmd( zclIncomingMsg_t *pInMsg );
static uint8 zclZigUP_ProcessInDiscAttrsRspCmd( zclIncomingMsg_t *pInMsg );
static uint8 zclZigUP_ProcessInDiscAttrsExtRspCmd( zclIncomingMsg_t *pInMsg );
#endif
/*
* Initialization for the task
*/
extern void zclZigUP_Init( byte task_id );
/*
* Event Process for the task
*/
extern UINT16 zclZigUP_event_loop( byte task_id, UINT16 events );
/*********************************************************************
*********************************************************************/
#ifdef __cplusplus
}
#endif
#endif /* ZCL_ZIGUP_H */

256
src/ZigUP/Source/zcl_zigup_data.c Executable file
View File

@@ -0,0 +1,256 @@
/*********************************************************************
* INCLUDES
*/
#include "ZComDef.h"
#include "OSAL.h"
#include "AF.h"
#include "ZDConfig.h"
#include "zcl.h"
#include "zcl_general.h"
#include "zcl_ha.h"
#include "zcl_ezmode.h"
#include "zcl_poll_control.h"
#include "zcl_electrical_measurement.h"
#include "zcl_diagnostic.h"
#include "zcl_meter_identification.h"
#include "zcl_appliance_identification.h"
#include "zcl_appliance_events_alerts.h"
#include "zcl_power_profile.h"
#include "zcl_appliance_control.h"
#include "zcl_appliance_statistics.h"
#include "zcl_hvac.h"
#include "zcl_zigup.h"
/*********************************************************************
* CONSTANTS
*/
#define ZIGUP_DEVICE_VERSION 0
#define ZIGUP_FLAGS 0
#define ZIGUP_HWVERSION 1
#define ZIGUP_ZCLVERSION 1
/*********************************************************************
* TYPEDEFS
*/
/*********************************************************************
* MACROS
*/
/*********************************************************************
* GLOBAL VARIABLES
*/
// Basic Cluster
const uint8 zclZigUP_HWRevision = ZIGUP_HWVERSION;
const uint8 zclZigUP_ZCLVersion = ZIGUP_ZCLVERSION;
const uint8 zclZigUP_ManufacturerName[] = { 9, 'f','o','r','m','t','a','p','e','z' };
const uint8 zclZigUP_ModelId[] = { 9, 'Z','i','g','B','e','e',' ','U','P' };
const uint8 zclZigUP_DateCode[] = { 16, '2','0','1','9','0','4','0','6',' ',' ',' ',' ',' ',' ',' ',' ' };
const uint8 zclZigUP_PowerSource = POWER_SOURCE_MAINS_1_PHASE;
uint8 zclZigUP_LocationDescription[17] = { 16, ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ' };
uint8 zclZigUP_PhysicalEnvironment = 0;
uint8 zclZigUP_DeviceEnable = DEVICE_ENABLED;
// Identify Cluster
uint16 zclZigUP_IdentifyTime = 0;
// On/Off Cluster
uint8 zclZigUP_OnOff = LIGHT_OFF;
#if ZCL_DISCOVER
CONST zclCommandRec_t zclZigUP_Cmds[] =
{
{
ZCL_CLUSTER_ID_GEN_BASIC,
COMMAND_BASIC_RESET_FACT_DEFAULT,
CMD_DIR_SERVER_RECEIVED
},
{
ZCL_CLUSTER_ID_GEN_ON_OFF,
COMMAND_OFF,
CMD_DIR_SERVER_RECEIVED
},
{
ZCL_CLUSTER_ID_GEN_ON_OFF,
COMMAND_ON,
CMD_DIR_SERVER_RECEIVED
},
{
ZCL_CLUSTER_ID_GEN_ON_OFF,
COMMAND_TOGGLE,
CMD_DIR_SERVER_RECEIVED
}
};
CONST uint8 zclCmdsArraySize = ( sizeof(zclZigUP_Cmds) / sizeof(zclZigUP_Cmds[0]) );
#endif // ZCL_DISCOVER
/*********************************************************************
* ATTRIBUTE DEFINITIONS - Uses REAL cluster IDs
*/
CONST zclAttrRec_t zclZigUP_Attrs[] =
{
// *** General Basic Cluster Attributes ***
{
ZCL_CLUSTER_ID_GEN_BASIC, // Cluster IDs - defined in the foundation (ie. zcl.h)
{ // Attribute record
ATTRID_BASIC_HW_VERSION, // Attribute ID - Found in Cluster Library header (ie. zcl_general.h)
ZCL_DATATYPE_UINT8, // Data Type - found in zcl.h
ACCESS_CONTROL_READ, // Variable access control - found in zcl.h
(void *)&zclZigUP_HWRevision // Pointer to attribute variable
}
},
{
ZCL_CLUSTER_ID_GEN_BASIC,
{ // Attribute record
ATTRID_BASIC_ZCL_VERSION,
ZCL_DATATYPE_UINT8,
ACCESS_CONTROL_READ,
(void *)&zclZigUP_ZCLVersion
}
},
{
ZCL_CLUSTER_ID_GEN_BASIC,
{ // Attribute record
ATTRID_BASIC_MANUFACTURER_NAME,
ZCL_DATATYPE_CHAR_STR,
ACCESS_CONTROL_READ,
(void *)zclZigUP_ManufacturerName
}
},
{
ZCL_CLUSTER_ID_GEN_BASIC,
{ // Attribute record
ATTRID_BASIC_MODEL_ID,
ZCL_DATATYPE_CHAR_STR,
ACCESS_CONTROL_READ,
(void *)zclZigUP_ModelId
}
},
{
ZCL_CLUSTER_ID_GEN_BASIC,
{ // Attribute record
ATTRID_BASIC_DATE_CODE,
ZCL_DATATYPE_CHAR_STR,
ACCESS_CONTROL_READ,
(void *)zclZigUP_DateCode
}
},
{
ZCL_CLUSTER_ID_GEN_BASIC,
{ // Attribute record
ATTRID_BASIC_POWER_SOURCE,
ZCL_DATATYPE_UINT8,
ACCESS_CONTROL_READ,
(void *)&zclZigUP_PowerSource
}
},
{
ZCL_CLUSTER_ID_GEN_BASIC,
{ // Attribute record
ATTRID_BASIC_LOCATION_DESC,
ZCL_DATATYPE_CHAR_STR,
(ACCESS_CONTROL_READ | ACCESS_CONTROL_WRITE),
(void *)zclZigUP_LocationDescription
}
},
{
ZCL_CLUSTER_ID_GEN_BASIC,
{ // Attribute record
ATTRID_BASIC_PHYSICAL_ENV,
ZCL_DATATYPE_UINT8,
(ACCESS_CONTROL_READ | ACCESS_CONTROL_WRITE),
(void *)&zclZigUP_PhysicalEnvironment
}
},
{
ZCL_CLUSTER_ID_GEN_BASIC,
{ // Attribute record
ATTRID_BASIC_DEVICE_ENABLED,
ZCL_DATATYPE_BOOLEAN,
(ACCESS_CONTROL_READ | ACCESS_CONTROL_WRITE),
(void *)&zclZigUP_DeviceEnable
}
},
#ifdef ZCL_IDENTIFY
// *** Identify Cluster Attribute ***
{
ZCL_CLUSTER_ID_GEN_IDENTIFY,
{ // Attribute record
ATTRID_IDENTIFY_TIME,
ZCL_DATATYPE_UINT16,
(ACCESS_CONTROL_READ | ACCESS_CONTROL_WRITE),
(void *)&zclZigUP_IdentifyTime
}
},
#endif
// *** On/Off Cluster Attributes ***
{
ZCL_CLUSTER_ID_GEN_ON_OFF,
{ // Attribute record
ATTRID_ON_OFF,
ZCL_DATATYPE_BOOLEAN,
ACCESS_CONTROL_READ,
(void *)&zclZigUP_OnOff
}
}
};
uint8 CONST zclZigUP_NumAttributes = ( sizeof(zclZigUP_Attrs) / sizeof(zclZigUP_Attrs[0]) );
/*********************************************************************
* SIMPLE DESCRIPTOR
*/
// This is the Cluster ID List and should be filled with Application
// specific cluster IDs.
const cId_t zclZigUP_InClusterList[] =
{
ZCL_CLUSTER_ID_GEN_BASIC,
ZCL_CLUSTER_ID_GEN_IDENTIFY,
ZCL_CLUSTER_ID_GEN_GROUPS,
ZCL_CLUSTER_ID_GEN_SCENES,
ZCL_CLUSTER_ID_GEN_ON_OFF
};
// work-around for compiler bug... IAR can't calculate size of array with #if options.
#define ZCLZIGUP_MAX_INCLUSTERS 5
const cId_t zclZigUP_OutClusterList[] =
{
ZCL_CLUSTER_ID_GEN_BASIC
};
#define ZCLZIGUP_MAX_OUTCLUSTERS (sizeof(zclZigUP_OutClusterList) / sizeof(zclZigUP_OutClusterList[0]))
SimpleDescriptionFormat_t zclZigUP_SimpleDesc[1] = {
{
ZIGUP_ENDPOINT, // int Endpoint;
ZCL_HA_PROFILE_ID, // uint16 AppProfId;
ZCL_HA_DEVICEID_ON_OFF_LIGHT, // uint16 AppDeviceId;
ZIGUP_DEVICE_VERSION, // int AppDevVer:4;
ZIGUP_FLAGS, // int AppFlags:4;
ZCLZIGUP_MAX_INCLUSTERS, // byte AppNumInClusters;
(cId_t *)zclZigUP_InClusterList, // byte *pAppInClusterList;
ZCLZIGUP_MAX_OUTCLUSTERS, // byte AppNumInClusters;
(cId_t *)zclZigUP_OutClusterList // byte *pAppInClusterList;
}
};
/*********************************************************************
* GLOBAL FUNCTIONS
*/
/*********************************************************************
* LOCAL FUNCTIONS
*/
/****************************************************************************
****************************************************************************/