mirror of
https://github.com/espressif/esp-matter.git
synced 2026-04-27 19:13:13 +00:00
connectedhomeip: update submodule to 2960abcbcf
- Use the correct ESP32SecureCertDataProvider.h - update the readme to list v1.4.2 - ci: bump idf-component-manager to v2.2 for external platform builds - idf.py build complaining about older v2.1.2 of idf-component-manager so bumping it. - components/esp_matter: run the generate_zap_common_files.py, and commit delta
This commit is contained in:
+3
-5
@@ -28,7 +28,7 @@ variables:
|
|||||||
IDF_CHECKOUT_REF: "v5.4.1"
|
IDF_CHECKOUT_REF: "v5.4.1"
|
||||||
# This variable represents the short hash of the connectedhomeip submodule.
|
# This variable represents the short hash of the connectedhomeip submodule.
|
||||||
# Note: Do change this short hash on submodule update MRs.
|
# Note: Do change this short hash on submodule update MRs.
|
||||||
CHIP_SHORT_HASH: "320b9a6f6c"
|
CHIP_SHORT_HASH: "bc661692ad"
|
||||||
DOCKER_IMAGE_NAME: "espressif/chip-idf"
|
DOCKER_IMAGE_NAME: "espressif/chip-idf"
|
||||||
|
|
||||||
.add_gitlab_ssh_key: &add_gitlab_ssh_key |
|
.add_gitlab_ssh_key: &add_gitlab_ssh_key |
|
||||||
@@ -112,9 +112,7 @@ variables:
|
|||||||
- rm -rf ${ESP_MATTER_PATH}/../platform
|
- rm -rf ${ESP_MATTER_PATH}/../platform
|
||||||
- mkdir -p ${ESP_MATTER_PATH}/../platform
|
- mkdir -p ${ESP_MATTER_PATH}/../platform
|
||||||
- cp -r ${CHIP_SUBMODULE_PATH}/src/platform/ESP32 $ESP_MATTER_PATH/../platform/ESP32_custom
|
- cp -r ${CHIP_SUBMODULE_PATH}/src/platform/ESP32 $ESP_MATTER_PATH/../platform/ESP32_custom
|
||||||
# We have modified the ESP32SecureCertDataProvider.h file to include the ESP32FactoryDataProvider.h
|
- cp ${ESP_MATTER_PATH}/examples/common/external_platform/BUILD.gn $ESP_MATTER_PATH/../platform/ESP32_custom
|
||||||
# So copying all files from the external_platform directory.
|
|
||||||
- cp ${ESP_MATTER_PATH}/examples/common/external_platform/* $ESP_MATTER_PATH/../platform/ESP32_custom/
|
|
||||||
- cd ${ESP_MATTER_PATH}/examples/light
|
- cd ${ESP_MATTER_PATH}/examples/light
|
||||||
- cp sdkconfig.defaults sdkconfig.defaults.backup
|
- cp sdkconfig.defaults sdkconfig.defaults.backup
|
||||||
- cp sdkconfig.defaults.ext_plat_ci sdkconfig.defaults
|
- cp sdkconfig.defaults.ext_plat_ci sdkconfig.defaults
|
||||||
@@ -278,7 +276,7 @@ build_image:
|
|||||||
- *add_gitlab_ssh_key
|
- *add_gitlab_ssh_key
|
||||||
- *get_build_caches
|
- *get_build_caches
|
||||||
- *setup_idf
|
- *setup_idf
|
||||||
- pip install 'idf-component-manager~=2.1.2'
|
- pip install 'idf-component-manager~=2.2'
|
||||||
- cd ${ESP_MATTER_PATH}
|
- cd ${ESP_MATTER_PATH}
|
||||||
- mkdir -p ${REPOS_PATH}
|
- mkdir -p ${REPOS_PATH}
|
||||||
- *update_build_caches
|
- *update_build_caches
|
||||||
|
|||||||
@@ -11,14 +11,15 @@ Espressif's SDK for Matter is the official Matter development framework for ESP3
|
|||||||
|
|
||||||
## Supported Matter specification versions
|
## Supported Matter specification versions
|
||||||
|
|
||||||
| Matter Specification Version | Supported Branch |
|
| Matter Specification Version | Supported Branch |
|
||||||
|:----------------------------:|:-------------------------------------------------------------------------:|
|
|:----------------------------:|:-----------------------------------------------------------------------------:|
|
||||||
| v1.0 | [release/v1.0](https://github.com/espressif/esp-matter/tree/release/v1.0) |
|
| v1.0 | [release/v1.0](https://github.com/espressif/esp-matter/tree/release/v1.0) |
|
||||||
| v1.1 | [release/v1.1](https://github.com/espressif/esp-matter/tree/release/v1.1) |
|
| v1.1 | [release/v1.1](https://github.com/espressif/esp-matter/tree/release/v1.1) |
|
||||||
| v1.2 | [release/v1.2](https://github.com/espressif/esp-matter/tree/release/v1.2) |
|
| v1.2 | [release/v1.2](https://github.com/espressif/esp-matter/tree/release/v1.2) |
|
||||||
| v1.3 | [release/v1.3](https://github.com/espressif/esp-matter/tree/release/v1.3) |
|
| v1.3 | [release/v1.3](https://github.com/espressif/esp-matter/tree/release/v1.3) |
|
||||||
| v1.4 | [release/v1.4](https://github.com/espressif/esp-matter/tree/release/v1.4) |
|
| v1.4 | [release/v1.4](https://github.com/espressif/esp-matter/tree/release/v1.4) |
|
||||||
| v1.5 (Ongoing effort) | [main](https://github.com/espressif/esp-matter/tree/main) |
|
| v1.4.2 | [release/v1.4.2](https://github.com/espressif/esp-matter/tree/release/v1.4.2) |
|
||||||
|
| v1.5 (Ongoing effort) | [main](https://github.com/espressif/esp-matter/tree/main) |
|
||||||
|
|
||||||
## Getting the repositories
|
## Getting the repositories
|
||||||
|
|
||||||
@@ -27,8 +28,7 @@ For efficient cloning of the ESP-Matter repository, please refer
|
|||||||
section in the ESP-Matter Programming Guide.
|
section in the ESP-Matter Programming Guide.
|
||||||
|
|
||||||
## Supported ESP-IDF and connectedhomeip versions
|
## Supported ESP-IDF and connectedhomeip versions
|
||||||
|
- This SDK currently works with commit [bc661692ad] (https://github.com/project-chip/connectedhomeip/tree/bc661692ad) of connectedhomeip.
|
||||||
- This SDK currently works with commit [320b9a6f6c] (https://github.com/project-chip/connectedhomeip/tree/320b9a6f66) of connectedhomeip.
|
|
||||||
- For Matter projects development with this SDK, it is recommended to utilize ESP-IDF [v5.4.1](https://github.com/espressif/esp-idf/tree/v5.4.1).
|
- For Matter projects development with this SDK, it is recommended to utilize ESP-IDF [v5.4.1](https://github.com/espressif/esp-idf/tree/v5.4.1).
|
||||||
- For ESP32C5, it is recommended to utilize ESP-IDF [98cd765953](https://github.com/espressif/esp-idf/commit/98cd765953dfe0e7bb1c5df8367e1b54bd966cce).
|
- For ESP32C5, it is recommended to utilize ESP-IDF [98cd765953](https://github.com/espressif/esp-idf/commit/98cd765953dfe0e7bb1c5df8367e1b54bd966cce).
|
||||||
|
|
||||||
|
|||||||
@@ -605,6 +605,7 @@
|
|||||||
0x00000004, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
|
0x00000004, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
|
||||||
0x00000004, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
|
0x00000004, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
|
||||||
0x0000001F, /* Cluster: Access Control, Command: ReviewFabricRestrictions, Privilege: administer */ \
|
0x0000001F, /* Cluster: Access Control, Command: ReviewFabricRestrictions, Privilege: administer */ \
|
||||||
|
0x0000002A, /* Cluster: OTA Software Update Requestor, Command: AnnounceOTAProvider, Privilege: administer */ \
|
||||||
0x00000030, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
|
0x00000030, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
|
||||||
0x00000030, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
|
0x00000030, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
|
||||||
0x00000030, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
|
0x00000030, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
|
||||||
@@ -752,6 +753,7 @@
|
|||||||
0x00000004, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
|
0x00000004, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
|
||||||
0x00000005, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
|
0x00000005, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
|
||||||
0x00000000, /* Cluster: Access Control, Command: ReviewFabricRestrictions, Privilege: administer */ \
|
0x00000000, /* Cluster: Access Control, Command: ReviewFabricRestrictions, Privilege: administer */ \
|
||||||
|
0x00000000, /* Cluster: OTA Software Update Requestor, Command: AnnounceOTAProvider, Privilege: administer */ \
|
||||||
0x00000000, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
|
0x00000000, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
|
||||||
0x00000002, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
|
0x00000002, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
|
||||||
0x00000004, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
|
0x00000004, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
|
||||||
@@ -899,6 +901,7 @@
|
|||||||
chip::Access::Privilege::kManage, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
|
chip::Access::Privilege::kManage, /* Cluster: Groups, Command: RemoveAllGroups, Privilege: manage */ \
|
||||||
chip::Access::Privilege::kManage, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
|
chip::Access::Privilege::kManage, /* Cluster: Groups, Command: AddGroupIfIdentifying, Privilege: manage */ \
|
||||||
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Command: ReviewFabricRestrictions, Privilege: administer */ \
|
chip::Access::Privilege::kAdminister, /* Cluster: Access Control, Command: ReviewFabricRestrictions, Privilege: administer */ \
|
||||||
|
chip::Access::Privilege::kAdminister, /* Cluster: OTA Software Update Requestor, Command: AnnounceOTAProvider, Privilege: administer */ \
|
||||||
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
|
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: ArmFailSafe, Privilege: administer */ \
|
||||||
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
|
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: SetRegulatoryConfig, Privilege: administer */ \
|
||||||
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
|
chip::Access::Privilege::kAdminister, /* Cluster: General Commissioning, Command: CommissioningComplete, Privilege: administer */ \
|
||||||
|
|||||||
Submodule connectedhomeip/connectedhomeip updated: 320b9a6f6c...bc661692ad
@@ -1,62 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Copyright (c) 2024 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ESP32FactoryDataProvider reads the commissionable data and device instance information from the factory partition.
|
|
||||||
* This implementation extends that behaviour to read the commissionable data from secure cert partition.
|
|
||||||
* It also extends the behaviour to read the unique id for generating rotating device identifier from the secure cert
|
|
||||||
* partition.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <lib/core/CHIPError.h>
|
|
||||||
#include <lib/support/Span.h>
|
|
||||||
// original file includes from ESP32 directory and hence it won't be able to find the ESP32FactoryDataProvider.h
|
|
||||||
// so switching to the external_platform directory, till the connectedhomeip repo switches to quoted includes.
|
|
||||||
#include "ESP32FactoryDataProvider.h"
|
|
||||||
|
|
||||||
#include <esp_secure_cert_tlv_config.h>
|
|
||||||
|
|
||||||
namespace chip {
|
|
||||||
namespace DeviceLayer {
|
|
||||||
|
|
||||||
class ESP32SecureCertDataProvider : public ESP32FactoryDataProvider
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
// CommissionableDataProvider implementation
|
|
||||||
CHIP_ERROR GetSetupDiscriminator(uint16_t & setupDiscriminator) override;
|
|
||||||
CHIP_ERROR GetSpake2pIterationCount(uint32_t & iterationCount) override;
|
|
||||||
CHIP_ERROR GetSpake2pSalt(MutableByteSpan & saltBuf) override;
|
|
||||||
CHIP_ERROR GetSpake2pVerifier(MutableByteSpan & verifierBuf, size_t & verifierLen) override;
|
|
||||||
|
|
||||||
#if CHIP_DEVICE_CONFIG_ENABLE_DEVICE_INSTANCE_INFO_PROVIDER
|
|
||||||
// GetRotatingDeviceIdUniqueId from GenericDeviceInstanceInfoProvider
|
|
||||||
CHIP_ERROR GetRotatingDeviceIdUniqueId(MutableByteSpan & uniqueIdSpan) override;
|
|
||||||
#endif // CHIP_DEVICE_CONFIG_ENABLE_DEVICE_INSTANCE_INFO_PROVIDER
|
|
||||||
|
|
||||||
// esp-secure-cert partition contains two 32-byte fixed random values that are set during manufacturing
|
|
||||||
// and remain constant for the lifetime of the device. These are unique per device and can be used
|
|
||||||
// for device identification, serial numbers, or any other purpose requiring a device-specific identifier.
|
|
||||||
static constexpr uint32_t kFixedRandomValueLength = 32;
|
|
||||||
static CHIP_ERROR GetFixedRandom1(MutableByteSpan & randomBuf);
|
|
||||||
static CHIP_ERROR GetFixedRandom2(MutableByteSpan & randomBuf);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace DeviceLayer
|
|
||||||
} // namespace chip
|
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
../../../../../connectedhomeip/connectedhomeip/src/platform/ESP32/ESP32SecureCertDataProvider.h
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
/*
|
|
||||||
*
|
|
||||||
* Copyright (c) 2024 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ESP32FactoryDataProvider reads the commissionable data and device instance information from the factory partition.
|
|
||||||
* This implementation extends that behaviour to read the commissionable data from secure cert partition.
|
|
||||||
* It also extends the behaviour to read the unique id for generating rotating device identifier from the secure cert
|
|
||||||
* partition.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <lib/core/CHIPError.h>
|
|
||||||
#include <lib/support/Span.h>
|
|
||||||
// original file includes from ESP32 directory and hence it won't be able to find the ESP32FactoryDataProvider.h
|
|
||||||
// so switching to the external_platform directory, till the connectedhomeip repo switches to quoted includes.
|
|
||||||
#include "ESP32FactoryDataProvider.h"
|
|
||||||
|
|
||||||
#include <esp_secure_cert_tlv_config.h>
|
|
||||||
|
|
||||||
namespace chip {
|
|
||||||
namespace DeviceLayer {
|
|
||||||
|
|
||||||
class ESP32SecureCertDataProvider : public ESP32FactoryDataProvider
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
// CommissionableDataProvider implementation
|
|
||||||
CHIP_ERROR GetSetupDiscriminator(uint16_t & setupDiscriminator) override;
|
|
||||||
CHIP_ERROR GetSpake2pIterationCount(uint32_t & iterationCount) override;
|
|
||||||
CHIP_ERROR GetSpake2pSalt(MutableByteSpan & saltBuf) override;
|
|
||||||
CHIP_ERROR GetSpake2pVerifier(MutableByteSpan & verifierBuf, size_t & verifierLen) override;
|
|
||||||
|
|
||||||
#if CHIP_DEVICE_CONFIG_ENABLE_DEVICE_INSTANCE_INFO_PROVIDER
|
|
||||||
// GetRotatingDeviceIdUniqueId from GenericDeviceInstanceInfoProvider
|
|
||||||
CHIP_ERROR GetRotatingDeviceIdUniqueId(MutableByteSpan & uniqueIdSpan) override;
|
|
||||||
#endif // CHIP_DEVICE_CONFIG_ENABLE_DEVICE_INSTANCE_INFO_PROVIDER
|
|
||||||
|
|
||||||
// esp-secure-cert partition contains two 32-byte fixed random values that are set during manufacturing
|
|
||||||
// and remain constant for the lifetime of the device. These are unique per device and can be used
|
|
||||||
// for device identification, serial numbers, or any other purpose requiring a device-specific identifier.
|
|
||||||
static constexpr uint32_t kFixedRandomValueLength = 32;
|
|
||||||
static CHIP_ERROR GetFixedRandom1(MutableByteSpan & randomBuf);
|
|
||||||
static CHIP_ERROR GetFixedRandom2(MutableByteSpan & randomBuf);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace DeviceLayer
|
|
||||||
} // namespace chip
|
|
||||||
Reference in New Issue
Block a user