/*
 *                        f8wZCL.cfg
 *
 *  Compiler command-line options used to define a ZigBee Cluster
 *  Library (ZCL) poject. To move an option from here to the project
 *  file, comment out or delete the option from this file and enter
 *  it into the "Define Symbols" box under the Preprocessor tab of
 *  the C/C++ Compiler Project Options. New user defined options may
 *  be added to this file, as necessary.
 *
 *  Each macro is prefixed with '-D'. The entries are to be constructed
 *  as if they are to be on the compiler command line invocation (which
 *  they are).
 */

/****************************************
 * The following are for Foundation only
 ****************************************/

/* ZCL Read enables the following commands:
 *   1) Read Attributes
 *   2) Read Attributes Response
 */
-DZCL_READ

/* ZCL Write enables the following commands:
 *   1) Write Attributes
 *   2) Write Attributes Undivided
 *   3) Write Attributes Response
 *   4) Write Attributes No Response
 */
-DZCL_WRITE

/* ZCL Report enables the following commands:
 *   1) Configure Reporting
 *   2) Configure Reporting Response
 *   3) Read Reporting Response
 *   4) Read Reporting Configuration Response
 *   5) Report Attributes
 */
//-DZCL_REPORT

/* ZCL Discover enables the following commands:
 *   1) Discover Attributes
 *   2) Discover Attributes Response
 */
//-DZCL_DISCOVER

/**********************************************
 * The following are for General clusters only
 **********************************************/

/* ZCL Basic enables the following command:
 *   1) Reset to Factory Defaults
 */
-DZCL_BASIC

/* ZCL Identify enables the following commands:
 *   1) Identify Query
 *   2) Identify Query Response
 */
-DZCL_IDENTIFY

/* ZCL Groups enables the following commands:
 *   1) Add Group
 *   2) View Group
 *   3) Get Group Membership
 *   4) Remove Group
 *   5) Remove All Groups
 *   6) Add Group If Identifying
 *   7) Add Group Response
 *   8) View Group Response
 *   9) Get Group Membership Response
 *   10) Remove Group Response
 */
//-DZCL_GROUPS

/* ZCL Scenes enables the following commands:
 *   1) Add Scene
 *   2) View Scene
 *   3) Remove Group
 *   4) Remove All Groups
 *   5) Store Scene
 *   6) Recall Scene
 *   7) Get Scene Membership
 *   8) Add Scene Response
 *   9) View Scene Response
 *   10) Remove Scene Response
 *   11) Remove All Scenes Response
 *   12) Store Scene Response
 *   13) Get Scene Membership Response
 */
//-DZCL_SCENES

/* ZCL On/Off enables the following commands:
 *   1) On
 *   2) Off
 *   3) Toggle
 */
-DZCL_ON_OFF

/* ZCL Level Control enables the following commands:
 *   1) Move to Level
 *   2) Move
 *   3) Step
 */
//-DZCL_LEVEL_CTRL

/* ZCL Alarms enables the following commands:
 *   1) Reset Alarm
 *   2) Reset All Alarms
 *   3) Get Alarm
 *   4) Reset Alarm Log
 *   5) Alarm
 *   6) Get Alarm Response
 */
//-DZCL_ALARMS

/* ZCL Location enables the following commands:
 *   1) Set Absolute Location
 *   2) Set Device Configuration
 *   3) Get Device Configuration
 *   4) Get Location Data
 *   5) Device Configuration Response
 *   6) Location Data Response
 *   7) Location Data Notification
 *   8) Compact Location Data Notification
 *   9) RSSI Ping
 */
//-DZCL_LOCATION

/* ZCL Door Lock enables the following commands:
 *   1) Door Lock
 *   2) Door Lock Response
 *   3) Door Unlock
 *   4) Door Unlock Response
 */
//-DZCL_DOORLOCK

/* ZCL Window Covering enables the following commands:
 *   1) Up / Open
 *   2) Down / Close
 *   3) Stop
 *   4) Go to Lift Setpoint
 *   5) Go to Lift Value
 *   6) Go to Lift Percentage
 *   7) Go to Tilt Setpoint
 *   8) Go to Tilt Value
 *   9) Go to Tilt Percentage
 *   10) Program Setpoint
 */
//-DZCL_WINDOWCOVERING

/******************************************
 * The following are for key establishment
 *****************************************/
/*
 * ZCL_KEY_ESTABLISH enables the ZCL Key Establishment Cluster
 */
-DZCL_KEY_ESTABLISH

/* The following constants are used to config the time-out value,
 * i.e. during the key establishment, how long should the other
 * device to wait before it times out the key establishment session
 */
-DZCL_KEY_ESTABLISHMENT_KEY_GENERATE_TIMEOUT=4
-DZCL_KEY_ESTABLISHMENT_MAC_GENERATE_TIMEOUT=10
-DZCL_KEY_ESTABLISHMENT_EKEY_GENERATE_TIMEOUT=10

/**********************************************************
 * The following are for Security and Safety clusters only
 **********************************************************/

/* ZCL Zone enables the following commands:
 *   1) Zone Status Change Notification
 *   2) Zone Enroll Request
 *   3) Zone Enroll Response
 */
//-DZCL_ZONE

/* ZCL ACE enables the following commands:
 *   1) Arm
 *   2) Bypass
 *   3) Emergency
 *   4) Fire
 *   5) Panic
 *   6) Get Zone ID Map
 *   7) Get Zone Information
 *   8) Arm Response
 *   9) Get Zone ID Map Response
 *   10) Get Zone Information Response
 */
//-DZCL_ACE

/* ZCL WD enables the following commands:
 *   1) Start Warning
 *   2) Squawk
 */
//-DZCL_WD

/**********************************************************
 * The following are for SE clusters only
 **********************************************************/

/* ZCL_LOAD_CONTROL enables the following commands:
 *   1) Load Control Event
 *   2) Cancel Load Control Event
 *   3) Cancel All Load Control Event
 *   4) Report Event Status
 */
-DZCL_LOAD_CONTROL

/* ZCL_SIMPLE_METERING enables the following commands:
 *   1) Get Profile Command
 *   2) Get Profile Response
 */
-DZCL_SIMPLE_METERING

/* ZCL_PRICING enables the following commands:
 *   1) Get Current Price
 *   2) Get Scheduled Price
 *   3) Publish Price
 */
-DZCL_PRICING

/* ZCL_MESSAGE enables the following commands:
 *   1) Display Message
 *   2) Cancel Message
 *   3) Get Last Message
 *   4) Message Confirmation
 */
-DZCL_MESSAGE

/* ZCL_TUNNELING enables the following commands:
 *   1) Request Tunnel
 *   2) Request Tunnel Response
 *   3) Close Tunnel
 *   4) Transfer Data
 *   5) Transfer Data Error
 *   6) Ack Transfer Data
 *   7) Ready Data
 *   8) Get Supported Tunnel Protocols
 *   9) Supported Tunnel Protocols Response
 */
-DZCL_TUNNELING

/* ZCL_PREPAYMENT enables the following commands:
 *   1) Select Available Emergency Credit
 *   2) Change Supply
 *   3) Supply Status Response
 */
//-DZCL_PREPAYMENT

/* ZCL_TOU enables the following commands:
 *   1) Publish Calendar
 *   2) Publish Day Profile
 *   3) Publish Week Profile
 *   4) Publish Seasons
 *   5) Publish Special Days
 *   6) Get Calendar
 *   7) Get Day Profile
 *   8) Get Week Profiles
 *   9) Get Seasons
 *  10) Get Special Days
 */
-DZCL_TOU

/* ZCL_DEVICE_MGMT enables the following commands:
 *   1) Get Change Of Tenancy
 *   2) Get Change Of Supplier
 *   3) Get Change Supply
 *   4) Supply Status Response
 *   5) Get Password
 *   6) Publish Change of Tenancy
 *   7) Publish Change of Supplier
 *   8) Change Supply
 *   9) Change Password
 *  10) Local Change Supply
 */
-DZCL_DEVICE_MGMT