Merge branch 'fix/namespace/missing-changes' into 'main'

Fix missing changes from !1267

See merge request app-frameworks/esp-matter!1272
This commit is contained in:
Hrishikesh Dhayagude
2025-10-07 13:46:19 +08:00
8 changed files with 59 additions and 24 deletions
+35
View File
@@ -1,3 +1,37 @@
## 30-Sep-2025
### Namespace Changes to Align with Matter Specifications
#### Cluster namespace changes
- `ota_requestor``ota_software_update_requestor`
- `ota_provider``ota_software_update_provider`
#### Device type namespace changes
- `on_off_switch``on_off_light_switch`
- `power_source_device``power_source`
- `window_covering_device``window_covering`
- `mode_select_device``mode_select`
### Namespace Changes for Consistency
- `on_off_plugin_unit``on_off_plug_in_unit`
- `dimmable_plugin_unit` -> `dimmable_plug_in_unit`
- `descriptor::feature::taglist``descriptor::feature::tag_list`
- `color_temperature_light::color_temperature::startup_color_temperature_mireds``color_temperature_light::color_temperature::start_up_color_temperature_mireds`
### Note
The following namespaces exist in both the `cluster` and `device_type` namespaces:
- `window_covering`
- `power_source`
- `mode_select`
To avoid ambiguity, please reference them explicitly depending on context. For example:
- Use `endpoint::window_covering::create()` to create the **endpoint**
- Use `cluster::window_covering::create()` to create the **cluster**
# 2-Sep-2025
API change.
@@ -5,6 +39,7 @@ API change.
Move the macros `REMAP_TO_RANGE()` and `REMAP_TO_RANGE_INVERSE()` to from the `esp_matter_attribute_utils.h` to `common_macros.h`
in `examples/common/utils` directory.
# 10-June-2025
API Change.
@@ -93,7 +93,7 @@ esp_err_t add(endpoint_t *endpoint, config_t *config)
}
} /* root_node */
namespace ota_software_update_requestor{
namespace ota_requestor {
uint32_t get_device_type_id()
{
return ESP_MATTER_OTA_REQUESTOR_DEVICE_TYPE_ID;
@@ -133,9 +133,9 @@ esp_err_t add(endpoint_t *endpoint, config_t *config)
#endif
}
} /** ota_software_update_requestor **/
} /** ota_requestor **/
namespace ota_software_update_provider{
namespace ota_provider {
uint32_t get_device_type_id()
{
return ESP_MATTER_OTA_PROVIDER_DEVICE_TYPE_ID;
@@ -164,7 +164,7 @@ esp_err_t add(endpoint_t *endpoint, config_t *config)
return ESP_OK;
}
} /** ota_software_update_provider **/
} /** ota_provider **/
namespace power_source{
uint32_t get_device_type_id()
@@ -216,7 +216,7 @@ endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_dat
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* root_node */
namespace ota_software_update_requestor{
namespace ota_requestor {
typedef struct config {
cluster::descriptor::config_t descriptor;
cluster::ota_software_update_requestor::config_t ota_software_update_requestor;
@@ -226,9 +226,9 @@ uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* ota_software_update_requestor */
} /* ota_requestor */
namespace ota_software_update_provider{
namespace ota_provider {
typedef struct config {
cluster::descriptor::config_t descriptor;
cluster::ota_software_update_provider::config_t ota_software_update_provider;
@@ -238,7 +238,7 @@ uint32_t get_device_type_id();
uint8_t get_device_type_version();
endpoint_t *create(node_t *node, config_t *config, uint8_t flags, void *priv_data);
esp_err_t add(endpoint_t *endpoint, config_t *config);
} /* ota_software_update_provider */
} /* ota_provider */
namespace power_source{
typedef struct config {
+2 -2
View File
@@ -57,7 +57,7 @@ static esp_matter_ota_requestor_impl_t s_ota_requestor_impl = {
esp_err_t esp_matter_ota_requestor_init(void)
{
#if (CONFIG_ENABLE_OTA_REQUESTOR && (FIXED_ENDPOINT_COUNT == 0))
endpoint::ota_software_update_requestor::config_t config;
endpoint::ota_requestor::config_t config;
node_t *root_node = esp_matter::node::get();
endpoint_t *root_node_endpoint = esp_matter::endpoint::get(root_node, 0);
@@ -65,7 +65,7 @@ esp_err_t esp_matter_ota_requestor_init(void)
return ESP_FAIL;
}
return endpoint::ota_software_update_requestor::add(root_node_endpoint, &config);
return endpoint::ota_requestor::add(root_node_endpoint, &config);
#else
return ESP_ERR_NOT_SUPPORTED;
#endif
+6 -6
View File
@@ -791,14 +791,14 @@ creating in the *app_main.cpp* of the example. Examples:
door_lock::config_t door_lock_config;
endpoint_t *endpoint = door_lock::create(node, &door_lock_config, ENDPOINT_FLAG_NONE);
- window_covering_device:
- window_covering:
::
window_covering_device::config_t window_covering_device_config(static_cast<uint8_t>(chip::app::Clusters::WindowCovering::EndProductType::kTiltOnlyInteriorBlind));
endpoint_t *endpoint = window_covering_device::create(node, &window_covering_config, ENDPOINT_FLAG_NONE);
window_covering::config_t window_covering_config(static_cast<uint8_t>(chip::app::Clusters::WindowCovering::EndProductType::kTiltOnlyInteriorBlind));
endpoint_t *endpoint = endpoint::window_covering::create(node, &window_covering_config, ENDPOINT_FLAG_NONE);
The ``window_covering_device`` ``config_t`` structure includes a constructor that allows specifying
The ``window_covering`` ``config_t`` structure includes a constructor that allows specifying
an end product type different than the default one, which is "Roller shade".
Once a ``config_t`` instance has been instantiated, its end product type cannot be modified.
@@ -915,12 +915,12 @@ For example: Thermostat cluster has O.a+ conformance for Heating and Cooling fea
Optional features which are applicable to a cluster can also be added.
- feature: taglist: Descriptor cluster:
- feature: tag_list: Descriptor cluster:
::
cluster_t* cluster = cluster::get(endpoint, Descriptor::Id);
descriptor::feature::taglist::add(cluster);
descriptor::feature::tag_list::add(cluster);
2.5.3 Adding custom data model fields
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2 -2
View File
@@ -173,8 +173,8 @@ extern "C" void app_main()
cluster::time_synchronization::feature::time_zone::add(time_sync_cluster, &tz_cfg);
#endif
on_off_switch::config_t switch_config;
endpoint_t *endpoint = on_off_switch::create(node, &switch_config, ENDPOINT_FLAG_NONE, switch_handle);
on_off_light_switch::config_t switch_config;
endpoint_t *endpoint = on_off_light_switch::create(node, &switch_config, ENDPOINT_FLAG_NONE, switch_handle);
ABORT_APP_ON_FAILURE(endpoint != nullptr, ESP_LOGE(TAG, "Failed to create on off switch endpoint"));
/* Add group cluster to the switch endpoint */
@@ -177,9 +177,9 @@ static esp_err_t create_plug(gpio_plug* plug, node_t* node)
}
}
on_off_plugin_unit::config_t plugin_unit_config;
on_off_plug_in_unit::config_t plugin_unit_config;
plugin_unit_config.on_off.on_off = false;
endpoint_t *endpoint = on_off_plugin_unit::create(node, &plugin_unit_config, ENDPOINT_FLAG_NONE, plug);
endpoint_t *endpoint = on_off_plug_in_unit::create(node, &plugin_unit_config, ENDPOINT_FLAG_NONE, plug);
if (!endpoint) {
ESP_LOGE(TAG, "Matter endpoint creation failed");
+4 -4
View File
@@ -27,9 +27,9 @@ uint16_t switch_endpoint_id = 0;
using namespace esp_matter;
using namespace esp_matter::attribute;
using namespace esp_matter::endpoint;
using namespace esp_matter::ota_software_update_provider;
using namespace esp_matter::ota_provider;
using namespace chip::app::Clusters;
using chip::app::Clusters::OtaSoftwareUpdateProviderDelegate;
using chip::app::Clusters::OTAProviderDelegate;
static void app_event_cb(const ChipDeviceEvent *event, intptr_t arg)
{
@@ -54,8 +54,8 @@ extern "C" void app_main()
node_t *node = node::create(&node_config, NULL, NULL);
endpoint_t *root_node_endpoint = endpoint::get(node, 0);
cluster::ota_software_update_provider::config_t config;
EspOtaSoftwareUpdateProvider::GetInstance().Init(true);
config.delegate = &EspOtaSoftwareUpdateProvider::GetInstance();
EspOtaProvider::GetInstance().Init(true);
config.delegate = &EspOtaProvider::GetInstance();
cluster_t *ota_provider_cluster = cluster::ota_software_update_provider::create(root_node_endpoint, &config, CLUSTER_FLAG_SERVER);
if (!node || !root_node_endpoint || !ota_provider_cluster) {
ESP_LOGE(TAG, "Failed to create data model");