Merge branch 'task/hollow_button' into 'main'

hollow_button: Add support for hollow button driver

See merge request app-frameworks/esp-matter!116
This commit is contained in:
Hrishikesh Dhayagude
2022-05-11 13:39:47 +08:00
21 changed files with 795 additions and 816 deletions
File diff suppressed because it is too large Load Diff
@@ -177,6 +177,13 @@ public:
~EthernetNetworkDiagnosticsCluster() {}
};
class DLL_EXPORT FanControlCluster : public ClusterBase
{
public:
FanControlCluster() : ClusterBase(app::Clusters::FanControl::Id) {}
~FanControlCluster() {}
};
class DLL_EXPORT FixedLabelCluster : public ClusterBase
{
public:
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -29,129 +29,129 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/* Cluster macros for all */
#define ZCL_USING_POWER_CONFIG_CLUSTER_SERVER
#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
#define ZCL_USING_ACCOUNT_LOGIN_CLUSTER_SERVER
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define ZCL_USING_ALARM_CLUSTER_SERVER
#define ZCL_USING_APPLIANCE_CONTROL_CLUSTER_SERVER
#define ZCL_USING_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_SERVER
#define ZCL_USING_APPLIANCE_IDENTIFICATION_CLUSTER_SERVER
#define ZCL_USING_APPLIANCE_STATISTICS_CLUSTER_SERVER
#define ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER
#define ZCL_USING_APPLICATION_LAUNCHER_CLUSTER_SERVER
#define ZCL_USING_AUDIO_OUTPUT_CLUSTER_SERVER
#define ZCL_USING_BALLAST_CONFIGURATION_CLUSTER_SERVER
#define ZCL_USING_BARRIER_CONTROL_CLUSTER_SERVER
#define ZCL_USING_BASIC_CLUSTER_SERVER
#define ZCL_USING_BINARY_INPUT_BASIC_CLUSTER_SERVER
#define ZCL_USING_BINDING_CLUSTER_SERVER
#define ZCL_USING_BOOLEAN_STATE_CLUSTER_SERVER
#define ZCL_USING_BRIDGED_ACTIONS_CLUSTER_SERVER
#define ZCL_USING_BRIDGED_DEVICE_BASIC_CLUSTER_SERVER
#define ZCL_USING_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CHANNEL_CLUSTER_SERVER
#define ZCL_USING_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_COLOR_CONTROL_CLUSTER_SERVER // used in scenes
#define ZCL_USING_CONTENT_LAUNCH_CLUSTER_SERVER
#define ZCL_USING_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_DEHUMID_CONTROL_CLUSTER_SERVER
#define ZCL_USING_DESCRIPTOR_CLUSTER_SERVER
#define ZCL_USING_DEVICE_TEMP_CLUSTER_SERVER
#define ZCL_USING_IDENTIFY_CLUSTER_SERVER // used in util
#define ZCL_USING_DIAGNOSTIC_LOGS_CLUSTER_SERVER
#define ZCL_USING_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_DOOR_LOCK_CLUSTER_SERVER // used in scenes
#define ZCL_USING_ELECTRICAL_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_FAN_CONTROL_CLUSTER_SERVER
#define ZCL_USING_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_FIXED_LABEL_CLUSTER_SERVER
#define ZCL_USING_FLOW_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_GENERAL_COMMISSIONING_CLUSTER_SERVER
#define ZCL_USING_GENERAL_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_GROUP_KEY_MANAGEMENT_CLUSTER_SERVER
#define ZCL_USING_GROUPS_CLUSTER_SERVER
#define ZCL_USING_SCENES_CLUSTER_SERVER
#define ZCL_USING_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_IAS_ACE_CLUSTER_SERVER
#define ZCL_USING_IAS_WD_CLUSTER_SERVER
#define ZCL_USING_IAS_ZONE_CLUSTER_SERVER
#define ZCL_USING_IDENTIFY_CLUSTER_SERVER // used in util
#define ZCL_USING_ILLUMINANCE_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_KEYPAD_INPUT_CLUSTER_SERVER
#define ZCL_USING_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_LEVEL_CONTROL_CLUSTER_SERVER // used in scenes
#define ZCL_USING_LOCALIZATION_CONFIGURATION_CLUSTER_SERVER
#define ZCL_USING_LOW_POWER_CLUSTER_SERVER
#define ZCL_USING_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_MEDIA_INPUT_CLUSTER_SERVER
#define ZCL_USING_MEDIA_PLAYBACK_CLUSTER_SERVER
#define ZCL_USING_MESSAGING_CLUSTER_SERVER
#define ZCL_USING_METER_IDENTIFICATION_CLUSTER_SERVER
#define ZCL_USING_MODE_SELECT_CLUSTER_SERVER
#define ZCL_USING_NETWORK_COMMISSIONING_CLUSTER_SERVER
#define ZCL_USING_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_OCCUPANCY_SENSING_CLUSTER_SERVER
#define ZCL_USING_ON_OFF_CLUSTER_SERVER // used in scenes
#define ZCL_USING_ON_OFF_SWITCH_CONFIG_CLUSTER_SERVER
#define ZCL_USING_LEVEL_CONTROL_CLUSTER_SERVER // used in scenes
#define ZCL_USING_ALARM_CLUSTER_SERVER
#define ZCL_USING_TIME_CLUSTER_SERVER
#define ZCL_USING_BINARY_INPUT_BASIC_CLUSTER_SERVER
#define ZCL_USING_POWER_PROFILE_CLUSTER_SERVER
#define ZCL_USING_APPLIANCE_CONTROL_CLUSTER_SERVER
#define ZCL_USING_PWM_CLUSTER_SERVER
#define ZCL_USING_DESCRIPTOR_CLUSTER_SERVER
#define ZCL_USING_BINDING_CLUSTER_SERVER
#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
#define ZCL_USING_POLL_CONTROL_CLUSTER_SERVER
#define ZCL_USING_BRIDGED_ACTIONS_CLUSTER_SERVER
#define ZCL_USING_BASIC_CLUSTER_SERVER
#define ZCL_USING_OPERATIONAL_CREDENTIALS_CLUSTER_SERVER
#define ZCL_USING_OTA_PROVIDER_CLUSTER_SERVER
#define ZCL_USING_OTA_REQUESTOR_CLUSTER_SERVER
#define ZCL_USING_LOCALIZATION_CONFIGURATION_CLUSTER_SERVER
#define ZCL_USING_LOCALIZATION_TIME_FORMAT_CLUSTER_SERVER
#define ZCL_USING_LOCALIZATION_UNIT_CLUSTER_SERVER
#define ZCL_USING_POWER_SOURCE_CONFIGURATION_CLUSTER_SERVER
#define ZCL_USING_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_POLL_CONTROL_CLUSTER_SERVER
#define ZCL_USING_POWER_CONFIG_CLUSTER_SERVER
#define ZCL_USING_POWER_PROFILE_CLUSTER_SERVER
#define ZCL_USING_POWER_SOURCE_CLUSTER_SERVER
#define ZCL_USING_GENERAL_COMMISSIONING_CLUSTER_SERVER
#define ZCL_USING_NETWORK_COMMISSIONING_CLUSTER_SERVER
#define ZCL_USING_DIAGNOSTIC_LOGS_CLUSTER_SERVER
#define ZCL_USING_GENERAL_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_SOFTWARE_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_ETHERNET_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_TIME_SYNCHRONIZATION_CLUSTER_SERVER
#define ZCL_USING_BRIDGED_DEVICE_BASIC_CLUSTER_SERVER
#define ZCL_USING_SWITCH_CLUSTER_SERVER
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define ZCL_USING_OPERATIONAL_CREDENTIALS_CLUSTER_SERVER
#define ZCL_USING_GROUP_KEY_MANAGEMENT_CLUSTER_SERVER
#define ZCL_USING_FIXED_LABEL_CLUSTER_SERVER
#define ZCL_USING_USER_LABEL_CLUSTER_SERVER
#define ZCL_USING_POWER_SOURCE_CONFIGURATION_CLUSTER_SERVER
#define ZCL_USING_PRESSURE_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_PROXY_CONFIGURATION_CLUSTER_SERVER
#define ZCL_USING_PROXY_DISCOVERY_CLUSTER_SERVER
#define ZCL_USING_PROXY_VALID_CLUSTER_SERVER
#define ZCL_USING_BOOLEAN_STATE_CLUSTER_SERVER
#define ZCL_USING_MODE_SELECT_CLUSTER_SERVER
#define ZCL_USING_SHADE_CONFIG_CLUSTER_SERVER
#define ZCL_USING_DOOR_LOCK_CLUSTER_SERVER // used in scenes
#define ZCL_USING_WINDOW_COVERING_CLUSTER_SERVER // used in scenes
#define ZCL_USING_BARRIER_CONTROL_CLUSTER_SERVER
#define ZCL_USING_PUMP_CONFIG_CONTROL_CLUSTER_SERVER
#define ZCL_USING_THERMOSTAT_CLUSTER_SERVER // used in scenes
#define ZCL_USING_FAN_CONTROL_CLUSTER_SERVER
#define ZCL_USING_DEHUMID_CONTROL_CLUSTER_SERVER
#define ZCL_USING_THERMOSTAT_UI_CONFIG_CLUSTER_SERVER
#define ZCL_USING_COLOR_CONTROL_CLUSTER_SERVER // used in scenes
#define ZCL_USING_BALLAST_CONFIGURATION_CLUSTER_SERVER
#define ZCL_USING_ILLUMINANCE_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_TEMP_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_PRESSURE_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_FLOW_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_PWM_CLUSTER_SERVER
#define ZCL_USING_RELATIVE_HUMIDITY_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_OCCUPANCY_SENSING_CLUSTER_SERVER
#define ZCL_USING_CARBON_MONOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CARBON_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_ETHYLENE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_ETHYLENE_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_HYDROGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_HYDROGEN_SULPHIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_NITRIC_OXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_NITROGEN_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_OZONE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_DISSOLVED_OXYGEN_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_BROMATE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CHLORAMINES_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CHLORINE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_FECAL_COLIFORM_AND_E_COLI_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_FLUORIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_HALOACETIC_ACIDS_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_COPPER_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_LEAD_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_MANGANESE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_BROMODICHLOROMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_BROMOFORM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CHLORODIBROMOMETHANE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_CHLOROFORM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_SCENES_CLUSTER_SERVER
#define ZCL_USING_SHADE_CONFIG_CLUSTER_SERVER
#define ZCL_USING_SODIUM_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_IAS_ZONE_CLUSTER_SERVER
#define ZCL_USING_IAS_ACE_CLUSTER_SERVER
#define ZCL_USING_IAS_WD_CLUSTER_SERVER
#define ZCL_USING_WAKE_ON_LAN_CLUSTER_SERVER
#define ZCL_USING_CHANNEL_CLUSTER_SERVER
#define ZCL_USING_SOFTWARE_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_SULFATE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_SULFUR_DIOXIDE_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_SWITCH_CLUSTER_SERVER
#define ZCL_USING_TARGET_NAVIGATOR_CLUSTER_SERVER
#define ZCL_USING_MEDIA_PLAYBACK_CLUSTER_SERVER
#define ZCL_USING_MEDIA_INPUT_CLUSTER_SERVER
#define ZCL_USING_LOW_POWER_CLUSTER_SERVER
#define ZCL_USING_KEYPAD_INPUT_CLUSTER_SERVER
#define ZCL_USING_CONTENT_LAUNCH_CLUSTER_SERVER
#define ZCL_USING_AUDIO_OUTPUT_CLUSTER_SERVER
#define ZCL_USING_APPLICATION_LAUNCHER_CLUSTER_SERVER
#define ZCL_USING_APPLICATION_BASIC_CLUSTER_SERVER
#define ZCL_USING_ACCOUNT_LOGIN_CLUSTER_SERVER
#define ZCL_USING_TEMP_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_TEST_CLUSTER_SERVER
#define ZCL_USING_MESSAGING_CLUSTER_SERVER
#define ZCL_USING_APPLIANCE_IDENTIFICATION_CLUSTER_SERVER
#define ZCL_USING_METER_IDENTIFICATION_CLUSTER_SERVER
#define ZCL_USING_APPLIANCE_EVENTS_AND_ALERT_CLUSTER_SERVER
#define ZCL_USING_APPLIANCE_STATISTICS_CLUSTER_SERVER
#define ZCL_USING_ELECTRICAL_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_THERMOSTAT_CLUSTER_SERVER // used in scenes
#define ZCL_USING_THERMOSTAT_UI_CONFIG_CLUSTER_SERVER
#define ZCL_USING_THREAD_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_TIME_CLUSTER_SERVER
#define ZCL_USING_TIME_FORMAT_LOCALIZATION_CLUSTER_SERVER
#define ZCL_USING_TIME_SYNCHRONIZATION_CLUSTER_SERVER
#define ZCL_USING_TOTAL_COLIFORM_BACTERIA_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_TOTAL_TRIHALOMETHANES_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_TURBIDITY_CONCENTRATION_MEASUREMENT_CLUSTER_SERVER
#define ZCL_USING_UNIT_LOCALIZATION_CLUSTER_SERVER
#define ZCL_USING_USER_LABEL_CLUSTER_SERVER
#define ZCL_USING_WAKE_ON_LAN_CLUSTER_SERVER
#define ZCL_USING_WIFI_NETWORK_DIAGNOSTICS_CLUSTER_SERVER
#define ZCL_USING_WINDOW_COVERING_CLUSTER_SERVER // used in scenes
/* Cluster specific macros which are generic */
#define EMBER_AF_PLUGIN_ON_OFF // used in level control
#define EMBER_AF_PLUGIN_LEVEL_CONTROL_MAXIMUM_LEVEL 255 // used in level control
#define EMBER_AF_PLUGIN_LEVEL_CONTROL_MAXIMUM_LEVEL 254 // used in level control
#define EMBER_AF_PLUGIN_LEVEL_CONTROL_MINIMUM_LEVEL 0 // used in level control
#define EMBER_AF_PLUGIN_LEVEL_CONTROL_RATE 0 // used in level control
@@ -167,22 +167,22 @@
/* Other cluster specific macros which are made generic */
#define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in color control
#define EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in on off
#define EMBER_AF_LEVEL_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in level control
#define EMBER_AF_OTA_PROVIDER_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in ota provider
#define EMBER_AF_IDENTIFY_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in identify
#define EMBER_AF_CONTENT_LAUNCH_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in content launch
#define EMBER_AF_ACCOUNT_LOGIN_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in account login
#define EMBER_AF_APPLICATION_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in application basic
#define EMBER_AF_APPLICATION_LAUNCHER_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in application launcher
#define EMBER_AF_AUDIO_OUTPUT_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in audio output
#define EMBER_AF_CHANNEL_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in channel
#define EMBER_AF_MEDIA_PLAYBACK_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in media playback
#define EMBER_AF_TARGET_NAVIGATOR_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in target navigator
#define EMBER_AF_MEDIA_INPUT_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in media input
#define EMBER_AF_LOW_POWER_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in low power
#define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in color control
#define EMBER_AF_CONTENT_LAUNCH_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in content launch
#define EMBER_AF_IDENTIFY_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in identify
#define EMBER_AF_KEYPAD_INPUT_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in keypad input
#define EMBER_AF_LEVEL_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in level control
#define EMBER_AF_LOW_POWER_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in low power
#define EMBER_AF_MEDIA_INPUT_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in media input
#define EMBER_AF_MEDIA_PLAYBACK_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in media playback
#define EMBER_AF_ON_OFF_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in on off
#define EMBER_AF_OTA_PROVIDER_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in ota provider
#define EMBER_AF_TARGET_NAVIGATOR_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in target navigator
#define EMBER_AF_WAKE_ON_LAN_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in wake on lan
#define EMBER_AF_WINDOW_COVERING_CLUSTER_SERVER_ENDPOINT_COUNT (16) // used in window covering
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -33,11 +33,13 @@
#endif // DEFINETOKENS
// Macro snippet that loads all the attributes from tokens
#define GENERATED_TOKEN_LOADER(endpoint) \
do { \
} while (false)
#define GENERATED_TOKEN_LOADER(endpoint) \
do \
{ \
} while (false)
// Macro snippet that saves the attribute to token
#define GENERATED_TOKEN_SAVER \
do { \
} while (false)
#define GENERATED_TOKEN_SAVER \
do \
{ \
} while (false)
+6 -6
View File
@@ -1,12 +1,12 @@
include($ENV{ESP_MATTER_DEVICE_PATH}/esp_matter_device.cmake)
set(requires driver)
if ("${button_type}" STREQUAL "gpio")
list(APPEND requires button)
elseif ("${button_type}" STREQUAL "adc")
list(APPEND requires button)
set(src_dirs )
set(requires driver button)
if ("${button_type}" STREQUAL "hollow_button")
list(APPEND src_dirs hollow_button)
endif()
idf_component_register(SRC_DIRS
idf_component_register(SRC_DIRS ${src_dirs}
INCLUDE_DIRS
REQUIRES ${requires})
@@ -0,0 +1,53 @@
// Copyright 2021 Espressif Systems (Shanghai) CO LTD
//
// 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
#include <esp_log.h>
#include <iot_button.h>
static const char *TAG = "button_driver_hollow";
button_handle_t iot_button_create(const button_config_t *config)
{
ESP_LOGI(TAG, "Button create");
return NULL;
}
esp_err_t iot_button_delete(button_handle_t btn_handle)
{
ESP_LOGI(TAG, "Button delete");
return ESP_OK;
}
esp_err_t iot_button_register_cb(button_handle_t btn_handle, button_event_t event, button_cb_t cb)
{
ESP_LOGI(TAG, "Button register callback");
return ESP_OK;
}
esp_err_t iot_button_unregister_cb(button_handle_t btn_handle, button_event_t event)
{
ESP_LOGI(TAG, "Button unregister callback");
return ESP_OK;
}
button_event_t iot_button_get_event(button_handle_t btn_handle)
{
ESP_LOGI(TAG, "Button get event");
return 0;
}
uint8_t iot_button_get_repeat(button_handle_t btn_handle)
{
ESP_LOGI(TAG, "Button get repeat");
return 0;
}
@@ -4,7 +4,7 @@ if (NOT ("${IDF_TARGET}" STREQUAL "esp32s2" ))
endif()
SET(device_type esp32s2_devkit_c)
SET(led_type hollow)
SET(led_type hollow_led)
SET(button_type gpio)
SET(extra_components_dirs_append "$ENV{ESP_MATTER_DEVICE_PATH}/../../led_driver"
@@ -1,6 +1,6 @@
/**
*
* Copyright (c) 2022 Project CHIP Authors
* 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.
@@ -40,32 +40,9 @@
#define __AF_GEN_EVENT__
// Code used to configure the cluster event mechanism
#define EMBER_AF_GENERATED_EVENT_CODE \
EmberEventControl emberAfLevelControlClusterServerTickCallbackControl1; \
static void clusterTickWrapper(EmberEventControl * control, EmberAfTickFunction callback, uint8_t endpoint) \
{ \
/* emberAfPushEndpointNetworkIndex(endpoint); */ \
emberEventControlSetInactive(control); \
(*callback)(endpoint); \
/* emberAfPopNetworkIndex(); */ \
} \
void emberAfLevelControlClusterServerTickCallbackWrapperFunction1(void) \
{ \
clusterTickWrapper(&emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallback, \
1); \
}
#define EMBER_AF_GENERATED_EVENT_CODE
// EmberEventData structs used to populate the EmberEventData table
#define EMBER_AF_GENERATED_EVENTS \
{ &emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallbackWrapperFunction1 },
#define EMBER_AF_GENERATED_EVENT_STRINGS "Level Control Cluster Server EP 1",
// The length of the event context table used to track and retrieve cluster events
#define EMBER_AF_EVENT_CONTEXT_LENGTH 1
// EmberAfEventContext structs used to populate the EmberAfEventContext table
#define EMBER_AF_GENERATED_EVENT_CONTEXT \
{ 0x1, 0x8, false, EMBER_AF_LONG_POLL, EMBER_AF_OK_TO_SLEEP, &emberAfLevelControlClusterServerTickCallbackControl1 },
#define EMBER_AF_GENERATED_EVENTS
#define EMBER_AF_GENERATED_EVENT_STRINGS
#endif // __AF_GEN_EVENT__
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -20,6 +20,8 @@
// Prevent multiple inclusion
#pragma once
#include <lib/core/CHIPConfig.h>
#define GENERATED_ATTRIBUTES \
{}
@@ -32,7 +34,9 @@
#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 0
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (401)
#define ATTRIBUTE_LARGEST (259)
static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, "ATTRIBUTE_LARGEST larger than expected");
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (0)
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -40,32 +40,9 @@
#define __AF_GEN_EVENT__
// Code used to configure the cluster event mechanism
#define EMBER_AF_GENERATED_EVENT_CODE \
EmberEventControl emberAfLevelControlClusterServerTickCallbackControl1; \
static void clusterTickWrapper(EmberEventControl * control, EmberAfTickFunction callback, uint8_t endpoint) \
{ \
/* emberAfPushEndpointNetworkIndex(endpoint); */ \
emberEventControlSetInactive(control); \
(*callback)(endpoint); \
/* emberAfPopNetworkIndex(); */ \
} \
void emberAfLevelControlClusterServerTickCallbackWrapperFunction1(void) \
{ \
clusterTickWrapper(&emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallback, \
1); \
}
#define EMBER_AF_GENERATED_EVENT_CODE
// EmberEventData structs used to populate the EmberEventData table
#define EMBER_AF_GENERATED_EVENTS \
{ &emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallbackWrapperFunction1 },
#define EMBER_AF_GENERATED_EVENT_STRINGS "Level Control Cluster Server EP 1",
// The length of the event context table used to track and retrieve cluster events
#define EMBER_AF_EVENT_CONTEXT_LENGTH 1
// EmberAfEventContext structs used to populate the EmberAfEventContext table
#define EMBER_AF_GENERATED_EVENT_CONTEXT \
{ 0x1, 0x8, false, EMBER_AF_LONG_POLL, EMBER_AF_OK_TO_SLEEP, &emberAfLevelControlClusterServerTickCallbackControl1 },
#define EMBER_AF_GENERATED_EVENTS
#define EMBER_AF_GENERATED_EVENT_STRINGS
#endif // __AF_GEN_EVENT__
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -20,6 +20,8 @@
// Prevent multiple inclusion
#pragma once
#include <lib/core/CHIPConfig.h>
#define GENERATED_ATTRIBUTES \
{}
@@ -32,7 +34,9 @@
#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 0
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (401)
#define ATTRIBUTE_LARGEST (259)
static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, "ATTRIBUTE_LARGEST larger than expected");
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (0)
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -40,32 +40,9 @@
#define __AF_GEN_EVENT__
// Code used to configure the cluster event mechanism
#define EMBER_AF_GENERATED_EVENT_CODE \
EmberEventControl emberAfLevelControlClusterServerTickCallbackControl1; \
static void clusterTickWrapper(EmberEventControl * control, EmberAfTickFunction callback, uint8_t endpoint) \
{ \
/* emberAfPushEndpointNetworkIndex(endpoint); */ \
emberEventControlSetInactive(control); \
(*callback)(endpoint); \
/* emberAfPopNetworkIndex(); */ \
} \
void emberAfLevelControlClusterServerTickCallbackWrapperFunction1(void) \
{ \
clusterTickWrapper(&emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallback, \
1); \
}
#define EMBER_AF_GENERATED_EVENT_CODE
// EmberEventData structs used to populate the EmberEventData table
#define EMBER_AF_GENERATED_EVENTS \
{ &emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallbackWrapperFunction1 },
#define EMBER_AF_GENERATED_EVENT_STRINGS "Level Control Cluster Server EP 1",
// The length of the event context table used to track and retrieve cluster events
#define EMBER_AF_EVENT_CONTEXT_LENGTH 1
// EmberAfEventContext structs used to populate the EmberAfEventContext table
#define EMBER_AF_GENERATED_EVENT_CONTEXT \
{ 0x1, 0x8, false, EMBER_AF_LONG_POLL, EMBER_AF_OK_TO_SLEEP, &emberAfLevelControlClusterServerTickCallbackControl1 },
#define EMBER_AF_GENERATED_EVENTS
#define EMBER_AF_GENERATED_EVENT_STRINGS
#endif // __AF_GEN_EVENT__
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -20,6 +20,8 @@
// Prevent multiple inclusion
#pragma once
#include <lib/core/CHIPConfig.h>
#define GENERATED_ATTRIBUTES \
{}
@@ -32,7 +34,9 @@
#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 0
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (401)
#define ATTRIBUTE_LARGEST (259)
static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, "ATTRIBUTE_LARGEST larger than expected");
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (0)
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -40,32 +40,9 @@
#define __AF_GEN_EVENT__
// Code used to configure the cluster event mechanism
#define EMBER_AF_GENERATED_EVENT_CODE \
EmberEventControl emberAfLevelControlClusterServerTickCallbackControl1; \
static void clusterTickWrapper(EmberEventControl * control, EmberAfTickFunction callback, uint8_t endpoint) \
{ \
/* emberAfPushEndpointNetworkIndex(endpoint); */ \
emberEventControlSetInactive(control); \
(*callback)(endpoint); \
/* emberAfPopNetworkIndex(); */ \
} \
void emberAfLevelControlClusterServerTickCallbackWrapperFunction1(void) \
{ \
clusterTickWrapper(&emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallback, \
1); \
}
#define EMBER_AF_GENERATED_EVENT_CODE
// EmberEventData structs used to populate the EmberEventData table
#define EMBER_AF_GENERATED_EVENTS \
{ &emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallbackWrapperFunction1 },
#define EMBER_AF_GENERATED_EVENT_STRINGS "Level Control Cluster Server EP 1",
// The length of the event context table used to track and retrieve cluster events
#define EMBER_AF_EVENT_CONTEXT_LENGTH 1
// EmberAfEventContext structs used to populate the EmberAfEventContext table
#define EMBER_AF_GENERATED_EVENT_CONTEXT \
{ 0x1, 0x8, false, EMBER_AF_LONG_POLL, EMBER_AF_OK_TO_SLEEP, &emberAfLevelControlClusterServerTickCallbackControl1 },
#define EMBER_AF_GENERATED_EVENTS
#define EMBER_AF_GENERATED_EVENT_STRINGS
#endif // __AF_GEN_EVENT__
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2021 Project CHIP Authors
* Copyright (c) 2022 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.
@@ -20,6 +20,8 @@
// Prevent multiple inclusion
#pragma once
#include <lib/core/CHIPConfig.h>
#define GENERATED_ATTRIBUTES \
{}
@@ -32,7 +34,9 @@
#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 0
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (401)
#define ATTRIBUTE_LARGEST (259)
static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, "ATTRIBUTE_LARGEST larger than expected");
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (0)
@@ -40,32 +40,9 @@
#define __AF_GEN_EVENT__
// Code used to configure the cluster event mechanism
#define EMBER_AF_GENERATED_EVENT_CODE \
EmberEventControl emberAfLevelControlClusterServerTickCallbackControl1; \
static void clusterTickWrapper(EmberEventControl * control, EmberAfTickFunction callback, uint8_t endpoint) \
{ \
/* emberAfPushEndpointNetworkIndex(endpoint); */ \
emberEventControlSetInactive(control); \
(*callback)(endpoint); \
/* emberAfPopNetworkIndex(); */ \
} \
void emberAfLevelControlClusterServerTickCallbackWrapperFunction1(void) \
{ \
clusterTickWrapper(&emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallback, \
1); \
}
#define EMBER_AF_GENERATED_EVENT_CODE
// EmberEventData structs used to populate the EmberEventData table
#define EMBER_AF_GENERATED_EVENTS \
{ &emberAfLevelControlClusterServerTickCallbackControl1, emberAfLevelControlClusterServerTickCallbackWrapperFunction1 },
#define EMBER_AF_GENERATED_EVENT_STRINGS "Level Control Cluster Server EP 1",
// The length of the event context table used to track and retrieve cluster events
#define EMBER_AF_EVENT_CONTEXT_LENGTH 1
// EmberAfEventContext structs used to populate the EmberAfEventContext table
#define EMBER_AF_GENERATED_EVENT_CONTEXT \
{ 0x1, 0x8, false, EMBER_AF_LONG_POLL, EMBER_AF_OK_TO_SLEEP, &emberAfLevelControlClusterServerTickCallbackControl1 },
#define EMBER_AF_GENERATED_EVENTS
#define EMBER_AF_GENERATED_EVENT_STRINGS
#endif // __AF_GEN_EVENT__
@@ -29,30 +29,14 @@
#define GENERATED_DEFAULTS \
{ \
\
/* Endpoint: 0, Cluster: Basic (server), big-endian */ \
/* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \
\
/* 0 - Location, */ \
2, 'X', 'X', \
\
/* 3 - SoftwareVersion, */ \
0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \
\
/* 7 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
/* 0 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: Network Commissioning (server), big-endian */ \
\
/* 15 - LastConnectErrorValue, */ \
0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 1, Cluster: Basic (server), big-endian */ \
\
/* 19 - Location, */ \
2, 'X', 'X', \
\
/* 22 - SoftwareVersion, */ \
/* 8 - LastConnectErrorValue, */ \
0x00, 0x00, 0x00, 0x00, \
}
@@ -60,38 +44,21 @@
#define GENERATED_DEFAULTS \
{ \
\
/* Endpoint: 0, Cluster: Basic (server), little-endian */ \
/* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \
\
/* 0 - Location, */ \
2, 'X', 'X', \
\
/* 3 - SoftwareVersion, */ \
0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: General Commissioning (server), little-endian \
*/ \
\
/* 7 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
/* 0 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: Network Commissioning (server), little-endian \
*/ \
\
/* 15 - LastConnectErrorValue, */ \
0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 1, Cluster: Basic (server), little-endian */ \
\
/* 19 - Location, */ \
2, 'X', 'X', \
\
/* 22 - SoftwareVersion, */ \
/* 8 - LastConnectErrorValue, */ \
0x00, 0x00, 0x00, 0x00, \
}
#endif // BIGENDIAN_CPU
#define GENERATED_DEFAULTS_COUNT (6)
#define GENERATED_DEFAULTS_COUNT (2)
#define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
#define ZAP_LONG_DEFAULTS_INDEX(index) \
@@ -146,29 +113,39 @@
ZAP_SIMPLE_DEFAULT(1)}, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Basic (server) */ \
{0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000000, ZAP_TYPE(INT16U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* DataModelRevision */ \
{0x00000001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000001, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* VendorName */ \
{0x00000002, ZAP_TYPE(VENDOR_ID), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000002, ZAP_TYPE(VENDOR_ID), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* VendorID */ \
{0x00000003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000003, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* ProductName */ \
{0x00000004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000004, ZAP_TYPE(INT16U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* ProductID */ \
{0x00000005, ZAP_TYPE(CHAR_STRING), 33, \
ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT()}, /* NodeLabel */ \
{0x00000006, ZAP_TYPE(CHAR_STRING), 3, \
ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_LONG_DEFAULTS_INDEX(0)}, /* Location */ \
{0x00000007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_SIMPLE_DEFAULT(0)}, /* HardwareVersion */ \
{0x00000008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000006, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | \
ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT()}, /* Location */ \
{0x00000007, ZAP_TYPE(INT16U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* HardwareVersion */ \
{0x00000008, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* HardwareVersionString */ \
{0x00000009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_LONG_DEFAULTS_INDEX(3)}, /* SoftwareVersion */ \
{0x0000000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000009, ZAP_TYPE(INT32U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* SoftwareVersion */ \
{0x0000000A, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* SoftwareVersionString */ \
{0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_SIMPLE_DEFAULT(1)}, /* ClusterRevision */ \
@@ -194,7 +171,7 @@
\
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
{0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_LONG_DEFAULTS_INDEX(7)}, /* Breadcrumb */ \
ZAP_LONG_DEFAULTS_INDEX(0)}, /* Breadcrumb */ \
{0x00000001, ZAP_TYPE(STRUCT), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT()}, /* BasicCommissioningInfo */ \
@@ -221,7 +198,7 @@
{0x00000006, ZAP_TYPE(OCTET_STRING), 33, ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT()}, /* LastNetworkID */ \
{0x00000007, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_LONG_DEFAULTS_INDEX(15)}, /* LastConnectErrorValue */ \
ZAP_LONG_DEFAULTS_INDEX(8)}, /* LastConnectErrorValue */ \
{0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, \
ZAP_SIMPLE_DEFAULT(1)}, /* ClusterRevision */ \
\
@@ -234,11 +211,13 @@
ZAP_SIMPLE_DEFAULT(1)}, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{0x00000000, ZAP_TYPE(INT8U), 1, 0, \
{0x00000000, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT()}, /* WindowStatus */ \
{0x00000001, ZAP_TYPE(FABRIC_IDX), 1, 0, \
{0x00000001, ZAP_TYPE(FABRIC_IDX), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT()}, /* AdminFabricIndex */ \
{0x00000002, ZAP_TYPE(INT16U), 2, 0, \
{0x00000002, ZAP_TYPE(INT16U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT()}, /* AdminVendorId */ \
{0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, \
ZAP_SIMPLE_DEFAULT(1)}, /* ClusterRevision */ \
@@ -313,29 +292,39 @@
ZAP_SIMPLE_DEFAULT(5)}, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Basic (server) */ \
{0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000000, ZAP_TYPE(INT16U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* DataModelRevision */ \
{0x00000001, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000001, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* VendorName */ \
{0x00000002, ZAP_TYPE(VENDOR_ID), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000002, ZAP_TYPE(VENDOR_ID), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* VendorID */ \
{0x00000003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000003, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* ProductName */ \
{0x00000004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000004, ZAP_TYPE(INT16U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* ProductID */ \
{0x00000005, ZAP_TYPE(CHAR_STRING), 33, \
ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT()}, /* NodeLabel */ \
{0x00000006, ZAP_TYPE(CHAR_STRING), 3, \
ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_LONG_DEFAULTS_INDEX(19)}, /* Location */ \
{0x00000007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_SIMPLE_DEFAULT(0)}, /* HardwareVersion */ \
{0x00000008, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000006, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | \
ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT()}, /* Location */ \
{0x00000007, ZAP_TYPE(INT16U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* HardwareVersion */ \
{0x00000008, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* HardwareVersionString */ \
{0x00000009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_LONG_DEFAULTS_INDEX(22)}, /* SoftwareVersion */ \
{0x0000000A, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), \
{0x00000009, ZAP_TYPE(INT32U), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* SoftwareVersion */ \
{0x0000000A, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT()}, /* SoftwareVersionString */ \
{0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_SIMPLE_DEFAULT(1)}, /* ClusterRevision */ \
@@ -575,7 +564,7 @@
.clusterId = 0x00000028, \
.attributes = ZAP_ATTRIBUTE_INDEX(8), \
.attributeCount = 12, \
.clusterSize = 246, \
.clusterSize = 35, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
.functions = chipFuncArrayBasicServer, \
.acceptedCommandList = nullptr ,\
@@ -652,7 +641,7 @@
.clusterId = 0x0000003C, \
.attributes = ZAP_ATTRIBUTE_INDEX(43), \
.attributeCount = 4, \
.clusterSize = 6, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 16 ) ,\
@@ -740,7 +729,7 @@
.clusterId = 0x00000028, \
.attributes = ZAP_ATTRIBUTE_INDEX(74), \
.attributeCount = 12, \
.clusterSize = 246, \
.clusterSize = 35, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
.functions = chipFuncArrayBasicServer, \
.acceptedCommandList = nullptr ,\
@@ -767,7 +756,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ {ZAP_CLUSTER_INDEX(0), 12, 370}, {ZAP_CLUSTER_INDEX(12), 7, 281}, }
{ {ZAP_CLUSTER_INDEX(0), 12, 155}, {ZAP_CLUSTER_INDEX(12), 7, 70}, }
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (255)
@@ -776,10 +765,10 @@ static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE,
"ATTRIBUTE_LARGEST larger than expected");
// Total size of singleton attributes
#define ATTRIBUTE_SINGLETONS_SIZE (492)
#define ATTRIBUTE_SINGLETONS_SIZE (70)
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (651)
#define ATTRIBUTE_MAX_SIZE (225)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)