/**
 *
 *    Copyright (c) 2020 Project CHIP Authors
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

// This file is generated by Simplicity Studio.  Please do not edit manually.
//
//

// This is the test header, that enables all printing
// Enclosing macro to prevent multiple inclusion

#pragma once

#define EMBER_AF_PRINT_ENABLE
#define EMBER_AF_PRINT_BASIC_CLUSTER 0x0001
#define EMBER_AF_PRINT_POWER_CONFIG_CLUSTER 0x0002
#define EMBER_AF_PRINT_DEVICE_TEMP_CLUSTER 0x0004
#define EMBER_AF_PRINT_IDENTIFY_CLUSTER 0x0008
#define EMBER_AF_PRINT_GROUPS_CLUSTER 0x0010
#define EMBER_AF_PRINT_SCENES_CLUSTER 0x0020
#define EMBER_AF_PRINT_ON_OFF_CLUSTER 0x0040
#define EMBER_AF_PRINT_ON_OFF_SWITCH_CONFIGURATION_CLUSTER 0x0080
#define EMBER_AF_PRINT_LEVEL_CONTROL_CLUSTER 0x0101
#define EMBER_AF_PRINT_ALARM_CLUSTER 0x0102
#define EMBER_AF_PRINT_TIME_CLUSTER 0x0104
#define EMBER_AF_PRINT_RSSI_LOCATION_CLUSTER 0x0108
#define EMBER_AF_PRINT_BINARY_INPUT_BASIC_CLUSTER 0x0110
#define EMBER_AF_PRINT_COMMISSIONING_CLUSTER 0x0120
#define EMBER_AF_PRINT_PARTITION_CLUSTER 0x0140
#define EMBER_AF_PRINT_OTA_BOOTLOAD_CLUSTER 0x0180
#define EMBER_AF_PRINT_POWER_PROFILE_CLUSTER 0x0201
#define EMBER_AF_PRINT_APPLIANCE_CONTROL_CLUSTER 0x0202
#define EMBER_AF_PRINT_POLL_CONTROL_CLUSTER 0x0204
#define EMBER_AF_PRINT_GREEN_POWER_CLUSTER 0x0208
#define EMBER_AF_PRINT_KEEPALIVE_CLUSTER 0x0210
#define EMBER_AF_PRINT_SHADE_CONFIG_CLUSTER 0x0220
#define EMBER_AF_PRINT_DOOR_LOCK_CLUSTER 0x0240
#define EMBER_AF_PRINT_WINDOW_COVERING_CLUSTER 0x0280
#define EMBER_AF_PRINT_BARRIER_CONTROL_CLUSTER 0x0301
#define EMBER_AF_PRINT_PUMP_CONFIGURATION_AND_CONTROL_CLUSTER 0x0302
#define EMBER_AF_PRINT_THERMOSTAT_CLUSTER 0x0304
#define EMBER_AF_PRINT_FAN_CONTROL_CLUSTER 0x0308
#define EMBER_AF_PRINT_DEHUMID_CONTROL_CLUSTER 0x0310
#define EMBER_AF_PRINT_THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER 0x0320
#define EMBER_AF_PRINT_COLOR_CONTROL_CLUSTER 0x0340
#define EMBER_AF_PRINT_BALLAST_CONFIGURATION_CLUSTER 0x0380
#define EMBER_AF_PRINT_ILLUM_MEASUREMENT_CLUSTER 0x0401
#define EMBER_AF_PRINT_ILLUM_LEVEL_SENSING_CLUSTER 0x0402
#define EMBER_AF_PRINT_TEMPERATURE_MEASUREMENT_CLUSTER 0x0404
#define EMBER_AF_PRINT_PRESSURE_MEASUREMENT_CLUSTER 0x0408
#define EMBER_AF_PRINT_FLOW_MEASUREMENT_CLUSTER 0x0410
#define EMBER_AF_PRINT_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER 0x0420
#define EMBER_AF_PRINT_OCCUPANCY_SENSING_CLUSTER 0x0440
#define EMBER_AF_PRINT_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0480
#define EMBER_AF_PRINT_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0501
#define EMBER_AF_PRINT_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0502
#define EMBER_AF_PRINT_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0504
#define EMBER_AF_PRINT_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER 0x0508
#define EMBER_AF_PRINT_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0510
#define EMBER_AF_PRINT_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0520
#define EMBER_AF_PRINT_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0540
#define EMBER_AF_PRINT_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER 0x0580
#define EMBER_AF_PRINT_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0601
#define EMBER_AF_PRINT_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0602
#define EMBER_AF_PRINT_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER 0x0604
#define EMBER_AF_PRINT_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0608
#define EMBER_AF_PRINT_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER 0x0610
#define EMBER_AF_PRINT_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0620
#define EMBER_AF_PRINT_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER 0x0640
#define EMBER_AF_PRINT_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0680
#define EMBER_AF_PRINT_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER 0x0701
#define EMBER_AF_PRINT_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER 0x0702
#define EMBER_AF_PRINT_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER 0x0704
#define EMBER_AF_PRINT_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER 0x0708
#define EMBER_AF_PRINT_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER 0x0710
#define EMBER_AF_PRINT_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER 0x0720
#define EMBER_AF_PRINT_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0740
#define EMBER_AF_PRINT_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0780
#define EMBER_AF_PRINT_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0801
#define EMBER_AF_PRINT_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER 0x0802
#define EMBER_AF_PRINT_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER 0x0804
#define EMBER_AF_PRINT_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER 0x0808
#define EMBER_AF_PRINT_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER 0x0810
#define EMBER_AF_PRINT_IAS_ZONE_CLUSTER 0x0820
#define EMBER_AF_PRINT_IAS_ACE_CLUSTER 0x0840
#define EMBER_AF_PRINT_IAS_WD_CLUSTER 0x0880
#define EMBER_AF_PRINT_GENERIC_TUNNEL_CLUSTER 0x0901
#define EMBER_AF_PRINT_BACNET_PROTOCOL_TUNNEL_CLUSTER 0x0902
#define EMBER_AF_PRINT_11073_PROTOCOL_TUNNEL_CLUSTER 0x0904
#define EMBER_AF_PRINT_ISO7816_PROTOCOL_TUNNEL_CLUSTER 0x0908
#define EMBER_AF_PRINT_PRICE_CLUSTER 0x0910
#define EMBER_AF_PRINT_DEMAND_RESPONSE_LOAD_CONTROL_CLUSTER 0x0920
#define EMBER_AF_PRINT_SIMPLE_METERING_CLUSTER 0x0940
#define EMBER_AF_PRINT_MESSAGING_CLUSTER 0x0980
#define EMBER_AF_PRINT_TUNNELING_CLUSTER 0x0A01
#define EMBER_AF_PRINT_PREPAYMENT_CLUSTER 0x0A02
#define EMBER_AF_PRINT_ENERGY_MANAGEMENT_CLUSTER 0x0A04
#define EMBER_AF_PRINT_CALENDAR_CLUSTER 0x0A08
#define EMBER_AF_PRINT_DEVICE_MANAGEMENT_CLUSTER 0x0A10
#define EMBER_AF_PRINT_EVENTS_CLUSTER 0x0A20
#define EMBER_AF_PRINT_MDU_PAIRING_CLUSTER 0x0A40
#define EMBER_AF_PRINT_SUB_GHZ_CLUSTER 0x0A80
#define EMBER_AF_PRINT_KEY_ESTABLISHMENT_CLUSTER 0x0B01
#define EMBER_AF_PRINT_INFORMATION_CLUSTER 0x0B02
#define EMBER_AF_PRINT_DATA_SHARING_CLUSTER 0x0B04
#define EMBER_AF_PRINT_GAMING_CLUSTER 0x0B08
#define EMBER_AF_PRINT_DATA_RATE_CONTROL_CLUSTER 0x0B10
#define EMBER_AF_PRINT_VOICE_OVER_ZIGBEE_CLUSTER 0x0B20
#define EMBER_AF_PRINT_CHATTING_CLUSTER 0x0B40
#define EMBER_AF_PRINT_PAYMENT_CLUSTER 0x0B80
#define EMBER_AF_PRINT_BILLING_CLUSTER 0x0C01
#define EMBER_AF_PRINT_APPLIANCE_IDENTIFICATION_CLUSTER 0x0C02
#define EMBER_AF_PRINT_METER_IDENTIFICATION_CLUSTER 0x0C04
#define EMBER_AF_PRINT_APPLIANCE_EVENTS_AND_ALERT_CLUSTER 0x0C08
#define EMBER_AF_PRINT_APPLIANCE_STATISTICS_CLUSTER 0x0C10
#define EMBER_AF_PRINT_ELECTRICAL_MEASUREMENT_CLUSTER 0x0C20
#define EMBER_AF_PRINT_DIAGNOSTICS_CLUSTER 0x0C40
#define EMBER_AF_PRINT_ZLL_COMMISSIONING_CLUSTER 0x0C80
#define EMBER_AF_PRINT_SAMPLE_MFG_SPECIFIC_CLUSTER 0x0D01
#define EMBER_AF_PRINT_SAMPLE_MFG_SPECIFIC_CLUSTER_2 0x0D02
#define EMBER_AF_PRINT_OTA_CONFIGURATION_CLUSTER 0x0D04
#define EMBER_AF_PRINT_MFGLIB_CLUSTER 0x0D08
#define EMBER_AF_PRINT_SL_WWAH_CLUSTER 0x0D10
#define EMBER_AF_PRINT_CORE 0x0D20
#define EMBER_AF_PRINT_DEBUG 0x0D40
#define EMBER_AF_PRINT_APP 0x0D80
#define EMBER_AF_PRINT_SECURITY 0x0E01
#define EMBER_AF_PRINT_ATTRIBUTES 0x0E02
#define EMBER_AF_PRINT_REGISTRATION 0x0E10
#define EMBER_AF_PRINT_ZDO 0x0E20
#define EMBER_AF_PRINT_CUSTOM1 0x0E40
#define EMBER_AF_PRINT_CUSTOM2 0x0E80
#define EMBER_AF_PRINT_CUSTOM3 0x0F01

#define EMBER_AF_PRINT_OUTPUT 1

#define EMBER_AF_PRINT_NAMES                                                                                                       \
    {                                                                                                                              \
        "Basic", "Power Configuration", "Device Temperature Configuration", "Identify", "Groups", "Scenes", "On/off",              \
            "On/off Switch Configuration", "Level Control", "Alarms", "Time", "RSSI Location", "Binary Input (Basic)",             \
            "Commissioning", "Partition", "Over the Air Bootloading", "Power Profile", "Appliance Control", "Poll Control",        \
            "Green Power", "Keep-Alive", "Shade Configuration", "Door Lock", "Window Covering", "Barrier Control",                 \
            "Pump Configuration and Control", "Thermostat", "Fan Control", "Dehumidification Control",                             \
            "Thermostat User Interface Configuration", "Color Control", "Ballast Configuration", "Illuminance Measurement",        \
            "Illuminance Level Sensing", "Temperature Measurement", "Pressure Measurement", "Flow Measurement",                    \
            "Relative Humidity Measurement", "Occupancy Sensing", "Carbon Monoxide Concentration Measurement",                     \
            "Carbon Dioxide Concentration Measurement", "Ethylene Concentration Measurement",                                      \
            "Ethylene Oxide Concentration Measurement", "Hydrogen Concentration Measurement",                                      \
            "Hydrogen Sulphide Concentration Measurement", "Nitric Oxide Concentration Measurement",                               \
            "Nitrogen Dioxide Concentration Measurement", "Oxygen Concentration Measurement", "Ozone Concentration Measurement",   \
            "Sulfur Dioxide Concentration Measurement", "Dissolved Oxygen Concentration Measurement",                              \
            "Bromate Concentration Measurement", "Chloramines Concentration Measurement", "Chlorine Concentration Measurement",    \
            "Fecal coliform and E. Coli Concentration Measurement", "Fluoride Concentration Measurement",                          \
            "Haloacetic Acids Concentration Measurement", "Total Trihalomethanes Concentration Measurement",                       \
            "Total Coliform Bacteria Concentration Measurement", "Turbidity Concentration Measurement",                            \
            "Copper Concentration Measurement", "Lead Concentration Measurement", "Manganese Concentration Measurement",           \
            "Sulfate Concentration Measurement", "Bromodichloromethane Concentration Measurement",                                 \
            "Bromoform Concentration Measurement", "Chlorodibromomethane Concentration Measurement",                               \
            "Chloroform Concentration Measurement", "Sodium Concentration Measurement", "IAS Zone", "IAS ACE", "IAS WD",           \
            "Generic Tunnel", "BACnet Protocol Tunnel", "11073 Protocol Tunnel", "ISO 7816 Protocol Tunnel", "Price",              \
            "Demand Response and Load Control", "Simple Metering", "Messaging", "Tunneling", "Prepayment", "Energy Management",    \
            "Calendar", "Device Management", "Events", "MDU Pairing", "Sub-GHz", "Key Establishment", "Information",               \
            "Data Sharing", "Gaming", "Data Rate Control", "Voice over ZigBee", "Chatting", "Payment", "Billing",                  \
            "Appliance Identification", "Meter Identification", "Appliance Events and Alert", "Appliance Statistics",              \
            "Electrical Measurement", "Diagnostics", "ZLL Commissioning", "Sample Mfg Specific Cluster",                           \
            "Sample Mfg Specific Cluster 2", "Configuration Cluster", "MFGLIB Cluster", "SL Works With All Hubs", "Core", "Debug", \
            "Application", "Security", "Attributes", "Service discovery", "Registration", "ZDO (ZigBee Device Object)",            \
            "Custom messages (1)", "Custom messages (2)", "Custom messages (3)"                                                    \
    }

#define EMBER_AF_PRINT_NAME_NUMBER 121
#define EMBER_AF_PRINT_BITS                                                                                                        \
    {                                                                                                                              \
        0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF                             \
    }
