diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b160749a3..f32bf2dd1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -238,7 +238,6 @@ build_image: matrix: # Change the idf version here in case of idf version change MR. - IDF_VERSION: - - "v4.4.3" - "v5.4.1" .build_examples_template: @@ -470,42 +469,6 @@ build_nopytest_remaining_examples_manual: parallel: 2 -build_esp_matter_examples_idf_v4_4: - resource_group: build_esp_matter_examples_idf_v4_4 - extends: - - .build_examples_template - image: ${DOCKER_IMAGE_NAME}:chip_${CHIP_SHORT_HASH}_idf_${IDF_CHECKOUT_REF} - allow_failure: true - artifacts: - paths: - - "examples/**/build*/size.json" - - "examples/**/build*/build_log.txt" - - "examples/**/build*/*.map" - - "examples/**/build*/*.bin" - - "examples/**/build*/flasher_args.json" - - "examples/**/build*/config/sdkconfig.json" - - "examples/**/build*/bootloader/*.bin" - - "examples/**/build*/partition_table/*.bin" - when: always - expire_in: 4 days - script: - - cd ${ESP_MATTER_PATH} - # idf v4.4 requires jinja < 3.1 so lets install the dependencies for idf v4.4 - - pip install -r requirements_idf_v4.4.txt - # hack the construct==2.10.54 to make it work with idf-v4.4, Python3.12 - # imp is not present in Python3.12 so remove it - - wget https://files.pythonhosted.org/packages/30/2f/e2e6bad1b80f744cf5c2a6d622e3dee698b43e6c040f980ae0ac0edd5e54/construct-2.10.54.tar.gz - - tar -xvzf construct-2.10.54.tar.gz - - sed -i 's/, imp$//g' construct-2.10.54/construct/core.py - - python3 -m pip install ./construct-2.10.54 - - rm -rf construct-2.10.54* - - cd ${ESP_MATTER_PATH}/examples/light - - idf.py set-target esp32c3 - - idf.py build - variables: - IDF_CHECKOUT_REF: "v4.4.3" - - build_esp_matter_examples_pytest_C3: resource_group: build_esp_matter_examples_pytest_C3 extends: diff --git a/CMakeLists.txt b/CMakeLists.txt index 37e48af0f..c63b2ba6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -392,13 +392,6 @@ idf_build_set_property(COMPILE_OPTIONS "-Wno-error=uninitialized;-Wno-error=mayb idf_build_set_property(COMPILE_OPTIONS "-Wno-error=array-bounds" APPEND) idf_build_set_property(COMPILE_OPTIONS "-Wno-write-strings" APPEND) -# For Xtensa chips, uint32_t was defined as 'unsigned' before v5.0, and after IDF v5.0 it is defined -# as 'unsigned long', same as RISC-V. add this compile option to avoid format errors. -# https://github.com/espressif/esp-idf/issues/6906#issuecomment-1207373706 -if (CONFIG_IDF_TARGET_ARCH_XTENSA AND (${IDF_VERSION_MAJOR} LESS 5)) - idf_build_set_property(COMPILE_OPTIONS "-Wno-format" APPEND) -endif() - # Time sync client feature depends on read client, disable it when read client is disabled. if (CONFIG_DISABLE_READ_CLIENT) target_compile_options(${COMPONENT_LIB} PUBLIC "-DTIME_SYNC_ENABLE_TSC_FEATURE=0") @@ -445,6 +438,6 @@ if (false AND CONFIG_CHIP_OTA_IMAGE_BUILD) INPUT_FILES ${BUILD_DIR}/${CMAKE_PROJECT_NAME}.bin OUTPUT_FILE ${BUILD_DIR}/${CMAKE_PROJECT_NAME}-ota.bin ) - # Adding dependecy as app target so that this runs after images are ready + # Adding dependency as app target so that this runs after images are ready add_dependencies(chip-ota-image app) endif() diff --git a/components/esp_matter/CMakeLists.txt b/components/esp_matter/CMakeLists.txt index b237f795b..199303492 100644 --- a/components/esp_matter/CMakeLists.txt +++ b/components/esp_matter/CMakeLists.txt @@ -80,12 +80,6 @@ endif(CONFIG_ESP_MATTER_ENABLE_MATTER_SERVER) target_sources(${COMPONENT_LIB} PRIVATE ${MATTER_SDK_PATH}/src/app/StorageDelegateWrapper.cpp ${MATTER_SDK_PATH}/src/app/SafeAttributePersistenceProvider.cpp) -# For Xtensa chips, uint32_t was defined as 'unsigned' before v5.0, and after IDF v5.0 it is defined -# as 'unsigned long', same as RISC-V. add this compile option to avoid format errors. -# https://github.com/espressif/esp-idf/issues/6906#issuecomment-1207373706 -if (CONFIG_IDF_TARGET_ARCH_XTENSA AND (${IDF_VERSION_MAJOR} LESS 5)) - idf_build_set_property(COMPILE_OPTIONS "-Wno-format" APPEND) -endif() target_compile_options(${COMPONENT_LIB} PUBLIC "-DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=") diff --git a/examples/common/cmake_common/components_include.cmake b/examples/common/cmake_common/components_include.cmake index af8c9bf1b..13256ae2d 100644 --- a/examples/common/cmake_common/components_include.cmake +++ b/examples/common/cmake_common/components_include.cmake @@ -30,11 +30,6 @@ if(IDF_TARGET STREQUAL "esp32c2") endif() endif() -get_filename_component(SDKCONFIG_SHELL_IDF_VER "${SDKCONFIG_COMMON_DIR}.shell.v4.4" ABSOLUTE) -if(EXISTS ${SDKCONFIG_SHELL_IDF_VER} AND ${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}.${IDF_VERSION_PATCH} STRLESS "5.0.0") - list(APPEND SDKCONFIG_FILES "${SDKCONFIG_SHELL_IDF_VER}") -endif() - # setting the final sdkconfig files list to SDKCONFIG_DEFAULTS set(SDKCONFIG_DEFAULTS ${SDKCONFIG_FILES}) diff --git a/examples/light/README.md b/examples/light/README.md index ce4bc491d..30d251777 100644 --- a/examples/light/README.md +++ b/examples/light/README.md @@ -21,7 +21,7 @@ The following is the Memory and Flash Usage. - `Bootup` == Device just finished booting up. Device is not commissionined or connected to wifi yet. -- `After Commissioning` == Device is conneted to wifi and is also +- `After Commissioning` == Device is connected to wifi and is also commissioned and is rebooted. - device used: esp32c3_devkit_m - tested on: @@ -37,4 +37,4 @@ The following is the Memory and Flash Usage. This should give you a good idea about the amount of free memory that is available for you to run your application's code. -Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. It is not done explicitly because of a known issue with esp32c3 and will be fixed with the next IDF release (v4.4.2). +Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. diff --git a/examples/light/sdkconfig.defaults.shell.v4.4 b/examples/light/sdkconfig.defaults.shell.v4.4 deleted file mode 100644 index e54ac03b6..000000000 --- a/examples/light/sdkconfig.defaults.shell.v4.4 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ENABLE_CHIP_SHELL=n diff --git a/examples/light_switch/README.md b/examples/light_switch/README.md index 0cd34a172..63a9b09d6 100644 --- a/examples/light_switch/README.md +++ b/examples/light_switch/README.md @@ -11,7 +11,7 @@ See the [docs](https://docs.espressif.com/projects/esp-matter/en/latest/esp32/de This example demonstrates auto subscription to only one remote on/off server from on/off client after binding of light to switch. For example, switch that have a led indicator which indicates the on-off state of the bound light. The subscription can keep the indicator on the switch sync with the light node. -- Enable SUBSCRIBE_TO_ON_OFF_SERVER_AFTER_BINDING to enable this funcationality. +- Enable SUBSCRIBE_TO_ON_OFF_SERVER_AFTER_BINDING to enable this functionality. Please check [Bind light to switch](#21-bind-light-to-switch) for more details. ## 2. Post Commissioning Setup @@ -186,7 +186,7 @@ The following is the Memory and Flash Usage. - `Bootup` == Device just finished booting up. Device is not commissionined or connected to wifi yet. -- `After Commissioning` == Device is conneted to wifi and is also +- `After Commissioning` == Device is connected to wifi and is also commissioned and is rebooted. - device used: esp32c3_devkit_m - tested on: @@ -202,7 +202,7 @@ The following is the Memory and Flash Usage. This should give you a good idea about the amount of free memory that is available for you to run your application's code. -Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. It is not done explicitly because of a known issue with esp32c3 and will be fixed with the next IDF release (v4.4.2). +Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. ## 4. Dynamic Passcode diff --git a/examples/multiple_on_off_plugin_units/README.md b/examples/multiple_on_off_plugin_units/README.md index 306c2f8df..c0512b8be 100644 --- a/examples/multiple_on_off_plugin_units/README.md +++ b/examples/multiple_on_off_plugin_units/README.md @@ -57,7 +57,7 @@ The following is the Memory and Flash Usage. - `Bootup` == Device just finished booting up. Device is not commissionined or connected to wifi yet. -- `After Commissioning` == Device is conneted to wifi and is also +- `After Commissioning` == Device is connected to wifi and is also commissioned and is rebooted. - device used: esp32c3_devkit_m - tested on: @@ -73,4 +73,4 @@ The following is the Memory and Flash Usage. This should give you a good idea about the amount of free memory that is available for you to run your application's code. -Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. It is not done explicitly because of a known issue with esp32c3 and will be fixed with the next IDF release (v4.4.2). +Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. diff --git a/examples/zap_light/README.md b/examples/zap_light/README.md index 10fb014a0..d88527935 100644 --- a/examples/zap_light/README.md +++ b/examples/zap_light/README.md @@ -44,7 +44,7 @@ The following is the Memory and Flash Usage. - `Bootup` == Device just finished booting up. Device is not commissionined or connected to wifi yet. -- `After Commissioning` == Device is conneted to wifi and is also +- `After Commissioning` == Device is connected to wifi and is also commissioned and is rebooted. - device used: esp32c3_devkit_m - tested on: @@ -60,7 +60,7 @@ The following is the Memory and Flash Usage. This should give you a good idea about the amount of free memory that is available for you to run your application's code. -Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. It is not done explicitly because of a known issue with esp32c3 and will be fixed with the next IDF release (v4.4.2). +Applications that do not require BLE post commissioning, can disable it using app_ble_disable() once commissioning is complete. ## A2 Appendix FAQs @@ -69,7 +69,7 @@ Applications that do not require BLE post commissioning, can disable it using ap The run_zaptool.py command is failing: - Check that the connectedhomeip submodule is updated. -- Revert any modifications in any of te files in the connectedhomeip +- Revert any modifications in any of the files in the connectedhomeip submodule, or any submodules in connectedhomeip, and try again. - If you are still facing issues, reproduce the issue on the default example for the device and then raise an [issue](https://github.com/espressif/esp-matter/issues). diff --git a/install.sh b/install.sh index d85595d1d..610579c43 100755 --- a/install.sh +++ b/install.sh @@ -95,14 +95,8 @@ fi echo_log "Installing python dependencies for Matter" -# Install python dependencies based on idf version -if [[ $(git -C $IDF_PATH describe) == v4.4* ]]; then - echo_log "Installing requirements from requirements_idf_v4.4.txt" - python3 -m pip install -r ${ESP_MATTER_PATH}/requirements_idf_v4.4.txt >/dev/null -else - echo_log "Installing requirements from requirements.txt" - python3 -m pip install -r ${ESP_MATTER_PATH}/requirements.txt > /dev/null -fi +echo_log "Installing requirements from requirements.txt" +python3 -m pip install -r ${ESP_MATTER_PATH}/requirements.txt > /dev/null if [ $BUILD_PYTHON = true ]; then echo_log "Building Python testing environment" diff --git a/requirements_idf_v4.4.txt b/requirements_idf_v4.4.txt deleted file mode 100644 index c33a1805a..000000000 --- a/requirements_idf_v4.4.txt +++ /dev/null @@ -1,16 +0,0 @@ -# matter idl -lark==1.1.2 -stringcase==1.2.0 - -# esp-idf v4.4 is not compatible with newer version of jinja2, -# so pinning it to 3.0.1 -jinja2==3.0.1 - -# https://github.com/psf/requests/blob/main/HISTORY.md#2300-2023-05-03 -# idf-component-manager from v4.4 is not compatible with newer version of urllib3 -urllib3<2 - -# mfg_tool - DISABLED for ESP-IDF v4.4 due to construct version conflict -# esp-secure-cert-tool (dependency of esp-matter-mfg-tool) requires construct>=2.10.70 -# but ESP-IDF v4.4 hard pins construct==2.10.54, creating an unsolvable conflict -# esp-matter-mfg-tool>=1.0.4 diff --git a/tools/docker/chip_idf/Dockerfile b/tools/docker/chip_idf/Dockerfile index fdc3341df..d2e9acc60 100644 --- a/tools/docker/chip_idf/Dockerfile +++ b/tools/docker/chip_idf/Dockerfile @@ -31,11 +31,6 @@ ENV IDF_TOOLS_PATH=/opt/espressif/tools COPY --from=build /tmp/esp-idf /opt/espressif/esp-idf -ARG IDF_CHECKOUT_REF -RUN if [ "$IDF_CHECKOUT_REF" = "v4.4.3" ]; then \ - sed -i 's/^gdbgui==/# gdbgui ==/' /opt/espressif/esp-idf/requirements.txt; \ - fi - RUN apt-get update && apt-get install -y python3-virtualenv # Setup the ESP-IDF