mirror of
https://github.com/espressif/esp-matter.git
synced 2026-04-27 11:03:05 +00:00
Merge branch 'bugfix/funcion_list_v1_0' into 'release/v1.0'
esp-matter: Add the missing functions to the functions list of clusters See merge request app-frameworks/esp-matter!379
This commit is contained in:
@@ -1213,8 +1213,11 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
} /* color_control */
|
||||
|
||||
namespace fan_control {
|
||||
const function_generic_t *function_list = NULL;
|
||||
const int function_flags = CLUSTER_FLAG_NONE;
|
||||
const function_generic_t function_list[] = {
|
||||
(function_generic_t)MatterFanControlClusterServerAttributeChangedCallback,
|
||||
(function_generic_t)MatterFanControlClusterServerPreAttributeChangedCallback,
|
||||
};
|
||||
const int function_flags = CLUSTER_FLAG_ATTRIBUTE_CHANGED_FUNCTION | CLUSTER_FLAG_PRE_ATTRIBUTE_CHANGED_FUNCTION;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
{
|
||||
@@ -1258,8 +1261,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
namespace thermostat {
|
||||
const function_generic_t function_list[] = {
|
||||
(function_generic_t)emberAfThermostatClusterServerInitCallback,
|
||||
(function_generic_t)MatterThermostatClusterServerPreAttributeChangedCallback,
|
||||
};
|
||||
const int function_flags = CLUSTER_FLAG_INIT_FUNCTION;
|
||||
const int function_flags = CLUSTER_FLAG_INIT_FUNCTION | CLUSTER_FLAG_PRE_ATTRIBUTE_CHANGED_FUNCTION;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
{
|
||||
@@ -1483,8 +1487,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
} /* temperature_measurement */
|
||||
|
||||
namespace occupancy_sensing {
|
||||
const function_generic_t *function_list = NULL;
|
||||
const int function_flags = CLUSTER_FLAG_NONE;
|
||||
const function_generic_t function_list[] = {
|
||||
(function_generic_t)emberAfOccupancySensingClusterServerInitCallback,
|
||||
};
|
||||
const int function_flags = CLUSTER_FLAG_INIT_FUNCTION;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
{
|
||||
@@ -1563,8 +1569,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
namespace localization_configuration {
|
||||
const function_generic_t function_list[] = {
|
||||
(function_generic_t)emberAfLocalizationConfigurationClusterServerInitCallback,
|
||||
(function_generic_t)MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback
|
||||
};
|
||||
(function_generic_t)MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback};
|
||||
const int function_flags = CLUSTER_FLAG_INIT_FUNCTION | CLUSTER_FLAG_PRE_ATTRIBUTE_CHANGED_FUNCTION;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
@@ -1599,17 +1604,15 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return cluster;
|
||||
}
|
||||
|
||||
} /* localization_configuration_cluster */
|
||||
} /* localization_configuration */
|
||||
|
||||
namespace time_format_localization {
|
||||
const function_generic_t function_list[] = {
|
||||
(function_generic_t)emberAfTimeFormatLocalizationClusterServerInitCallback,
|
||||
(function_generic_t)MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback
|
||||
};
|
||||
(function_generic_t)MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback};
|
||||
const int function_flags = CLUSTER_FLAG_INIT_FUNCTION | CLUSTER_FLAG_PRE_ATTRIBUTE_CHANGED_FUNCTION;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features)
|
||||
@@ -1660,30 +1663,32 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
{
|
||||
cluster_t *cluster = cluster::create(endpoint, IlluminanceMeasurement::Id, flags);
|
||||
if (!cluster) {
|
||||
ESP_LOGE(TAG, "Could not create cluster");
|
||||
return NULL;
|
||||
ESP_LOGE(TAG, "Could not create cluster");
|
||||
return NULL;
|
||||
}
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
set_plugin_server_init_callback(cluster, MatterIlluminanceMeasurementPluginServerInitCallback);
|
||||
add_function_list(cluster, function_list, function_flags);
|
||||
set_plugin_server_init_callback(cluster, MatterIlluminanceMeasurementPluginServerInitCallback);
|
||||
add_function_list(cluster, function_list, function_flags);
|
||||
}
|
||||
if (flags & CLUSTER_FLAG_CLIENT) {
|
||||
set_plugin_client_init_callback(cluster, MatterIlluminanceMeasurementPluginClientInitCallback);
|
||||
create_default_binding_cluster(endpoint);
|
||||
set_plugin_client_init_callback(cluster, MatterIlluminanceMeasurementPluginClientInitCallback);
|
||||
create_default_binding_cluster(endpoint);
|
||||
}
|
||||
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
/* Attributes managed internally */
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_illuminance_measured_value(cluster, config->illuminance_measured_value, 0x0000, 0xFFFF);
|
||||
attribute::create_illuminance_min_measured_value(cluster, config->illuminance_min_measured_value, 0x0001, 0xFFFD);
|
||||
attribute::create_illuminance_max_measured_value(cluster, config->illuminance_max_measured_value, 0x0002, 0xFFFE);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
/* Attributes managed internally */
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_illuminance_measured_value(cluster, config->illuminance_measured_value, 0x0000, 0xFFFF);
|
||||
attribute::create_illuminance_min_measured_value(cluster, config->illuminance_min_measured_value, 0x0001,
|
||||
0xFFFD);
|
||||
attribute::create_illuminance_max_measured_value(cluster, config->illuminance_max_measured_value, 0x0002,
|
||||
0xFFFE);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1698,30 +1703,30 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
{
|
||||
cluster_t *cluster = cluster::create(endpoint, PressureMeasurement::Id, flags);
|
||||
if (!cluster) {
|
||||
ESP_LOGE(TAG, "Could not create cluster");
|
||||
return NULL;
|
||||
ESP_LOGE(TAG, "Could not create cluster");
|
||||
return NULL;
|
||||
}
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
set_plugin_server_init_callback(cluster, MatterPressureMeasurementPluginServerInitCallback);
|
||||
add_function_list(cluster, function_list, function_flags);
|
||||
set_plugin_server_init_callback(cluster, MatterPressureMeasurementPluginServerInitCallback);
|
||||
add_function_list(cluster, function_list, function_flags);
|
||||
}
|
||||
if (flags & CLUSTER_FLAG_CLIENT) {
|
||||
set_plugin_client_init_callback(cluster, MatterPressureMeasurementPluginClientInitCallback);
|
||||
create_default_binding_cluster(endpoint);
|
||||
set_plugin_client_init_callback(cluster, MatterPressureMeasurementPluginClientInitCallback);
|
||||
create_default_binding_cluster(endpoint);
|
||||
}
|
||||
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
/* Attributes managed internally */
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_pressure_measured_value(cluster, config->pressure_measured_value);
|
||||
attribute::create_pressure_min_measured_value(cluster, config->pressure_min_measured_value);
|
||||
attribute::create_pressure_max_measured_value(cluster, config->pressure_max_measured_value);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
/* Attributes managed internally */
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_pressure_measured_value(cluster, config->pressure_measured_value);
|
||||
attribute::create_pressure_min_measured_value(cluster, config->pressure_min_measured_value);
|
||||
attribute::create_pressure_max_measured_value(cluster, config->pressure_max_measured_value);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1736,30 +1741,30 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
{
|
||||
cluster_t *cluster = cluster::create(endpoint, FlowMeasurement::Id, flags);
|
||||
if (!cluster) {
|
||||
ESP_LOGE(TAG, "Could not create cluster");
|
||||
return NULL;
|
||||
ESP_LOGE(TAG, "Could not create cluster");
|
||||
return NULL;
|
||||
}
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
set_plugin_server_init_callback(cluster, MatterFlowMeasurementPluginServerInitCallback);
|
||||
add_function_list(cluster, function_list, function_flags);
|
||||
set_plugin_server_init_callback(cluster, MatterFlowMeasurementPluginServerInitCallback);
|
||||
add_function_list(cluster, function_list, function_flags);
|
||||
}
|
||||
if (flags & CLUSTER_FLAG_CLIENT) {
|
||||
set_plugin_client_init_callback(cluster, MatterFlowMeasurementPluginClientInitCallback);
|
||||
create_default_binding_cluster(endpoint);
|
||||
set_plugin_client_init_callback(cluster, MatterFlowMeasurementPluginClientInitCallback);
|
||||
create_default_binding_cluster(endpoint);
|
||||
}
|
||||
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
/* Attributes managed internally */
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_flow_measured_value(cluster, config->flow_measured_value);
|
||||
attribute::create_flow_min_measured_value(cluster, config->flow_min_measured_value);
|
||||
attribute::create_flow_max_measured_value(cluster, config->flow_max_measured_value);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
/* Attributes managed internally */
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_flow_measured_value(cluster, config->flow_measured_value);
|
||||
attribute::create_flow_min_measured_value(cluster, config->flow_min_measured_value);
|
||||
attribute::create_flow_max_measured_value(cluster, config->flow_max_measured_value);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1769,24 +1774,26 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
namespace pump_configuration_and_control {
|
||||
const function_generic_t function_list[] = {
|
||||
(function_generic_t)emberAfPumpConfigurationAndControlClusterServerInitCallback,
|
||||
(function_generic_t)MatterPumpConfigurationAndControlClusterServerAttributeChangedCallback,
|
||||
(function_generic_t)MatterPumpConfigurationAndControlClusterServerPreAttributeChangedCallback,
|
||||
};
|
||||
const int function_flags = CLUSTER_FLAG_INIT_FUNCTION | CLUSTER_FLAG_PRE_ATTRIBUTE_CHANGED_FUNCTION;
|
||||
const int function_flags =
|
||||
CLUSTER_FLAG_INIT_FUNCTION | CLUSTER_FLAG_ATTRIBUTE_CHANGED_FUNCTION | CLUSTER_FLAG_PRE_ATTRIBUTE_CHANGED_FUNCTION;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
{
|
||||
cluster_t *cluster = cluster::create(endpoint, PumpConfigurationAndControl::Id, flags);
|
||||
if (!cluster) {
|
||||
ESP_LOGE(TAG, "Could not create cluster");
|
||||
return NULL;
|
||||
ESP_LOGE(TAG, "Could not create cluster");
|
||||
return NULL;
|
||||
}
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
set_plugin_server_init_callback(cluster, MatterPumpConfigurationAndControlPluginServerInitCallback);
|
||||
add_function_list(cluster, function_list, function_flags);
|
||||
set_plugin_server_init_callback(cluster, MatterPumpConfigurationAndControlPluginServerInitCallback);
|
||||
add_function_list(cluster, function_list, function_flags);
|
||||
}
|
||||
if (flags & CLUSTER_FLAG_CLIENT) {
|
||||
set_plugin_client_init_callback(cluster, MatterPumpConfigurationAndControlPluginClientInitCallback);
|
||||
create_default_binding_cluster(endpoint);
|
||||
set_plugin_client_init_callback(cluster, MatterPumpConfigurationAndControlPluginClientInitCallback);
|
||||
create_default_binding_cluster(endpoint);
|
||||
}
|
||||
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
@@ -1795,16 +1802,16 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_max_pressure(cluster, config->max_pressure);
|
||||
attribute::create_max_speed(cluster, config->max_speed);
|
||||
attribute::create_max_flow(cluster, config->max_flow);
|
||||
attribute::create_effective_operation_mode(cluster, config->effective_operation_mode);
|
||||
attribute::create_effective_control_mode(cluster, config->effective_control_mode);
|
||||
attribute::create_capacity(cluster, config->capacity);
|
||||
attribute::create_operation_mode(cluster, config->operation_mode);
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_max_pressure(cluster, config->max_pressure);
|
||||
attribute::create_max_speed(cluster, config->max_speed);
|
||||
attribute::create_max_flow(cluster, config->max_flow);
|
||||
attribute::create_effective_operation_mode(cluster, config->effective_operation_mode);
|
||||
attribute::create_effective_control_mode(cluster, config->effective_control_mode);
|
||||
attribute::create_capacity(cluster, config->capacity);
|
||||
attribute::create_operation_mode(cluster, config->operation_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user