From 75fb8bbe049a8d9133e66c7f823b3faa6795e83c Mon Sep 17 00:00:00 2001 From: laokaiyao Date: Tue, 10 Dec 2024 16:28:42 +0800 Subject: [PATCH] refactor(i2s): refactor i2s examples common dependencies Closes https://github.com/espressif/esp-idf/issues/14751 Make the common I2S dependencies as an example common component, so that to avoid slash & backslash issue on windows when use absolute include path. --- .../peripherals/i2s/i2s_basic/i2s_pdm/main/CMakeLists.txt | 4 ++-- .../peripherals/i2s/i2s_basic/i2s_pdm/main/idf_component.yml | 3 +++ .../peripherals/i2s/i2s_basic/i2s_std/main/CMakeLists.txt | 4 ++-- .../peripherals/i2s/i2s_basic/i2s_std/main/idf_component.yml | 3 +++ .../peripherals/i2s/i2s_basic/i2s_tdm/main/CMakeLists.txt | 4 ++-- .../peripherals/i2s/i2s_basic/i2s_tdm/main/idf_component.yml | 3 +++ .../i2s/i2s_codec/i2s_es7210_tdm/main/CMakeLists.txt | 4 ++-- .../i2s/i2s_codec/i2s_es7210_tdm/main/idf_component.yml | 2 ++ .../i2s/i2s_codec/i2s_es8311/main/idf_component.yml | 2 ++ examples/peripherals/i2s/i2s_examples_common/CMakeLists.txt | 2 ++ .../i2s/{common => i2s_examples_common}/format_wav.h | 0 .../i2s/{common => i2s_examples_common}/i2s_example_pins.h | 0 examples/peripherals/i2s/i2s_recorder/main/CMakeLists.txt | 4 ++-- examples/peripherals/i2s/i2s_recorder/main/idf_component.yml | 3 +++ 14 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 examples/peripherals/i2s/i2s_basic/i2s_pdm/main/idf_component.yml create mode 100644 examples/peripherals/i2s/i2s_basic/i2s_std/main/idf_component.yml create mode 100644 examples/peripherals/i2s/i2s_basic/i2s_tdm/main/idf_component.yml create mode 100644 examples/peripherals/i2s/i2s_examples_common/CMakeLists.txt rename examples/peripherals/i2s/{common => i2s_examples_common}/format_wav.h (100%) rename examples/peripherals/i2s/{common => i2s_examples_common}/i2s_example_pins.h (100%) create mode 100644 examples/peripherals/i2s/i2s_recorder/main/idf_component.yml diff --git a/examples/peripherals/i2s/i2s_basic/i2s_pdm/main/CMakeLists.txt b/examples/peripherals/i2s/i2s_basic/i2s_pdm/main/CMakeLists.txt index 09146f7753..e7ac261921 100644 --- a/examples/peripherals/i2s/i2s_basic/i2s_pdm/main/CMakeLists.txt +++ b/examples/peripherals/i2s/i2s_basic/i2s_pdm/main/CMakeLists.txt @@ -9,5 +9,5 @@ if(CONFIG_SOC_I2S_SUPPORTS_PDM_RX AND CONFIG_EXAMPLE_PDM_RX) endif() idf_component_register(SRCS "${srcs}" - PRIV_REQUIRES esp_driver_i2s esp_driver_gpio - INCLUDE_DIRS "." "$ENV{IDF_PATH}/examples/peripherals/i2s/common") + PRIV_REQUIRES esp_driver_i2s esp_driver_gpio i2s_examples_common + INCLUDE_DIRS ".") diff --git a/examples/peripherals/i2s/i2s_basic/i2s_pdm/main/idf_component.yml b/examples/peripherals/i2s/i2s_basic/i2s_pdm/main/idf_component.yml new file mode 100644 index 0000000000..804fe8e427 --- /dev/null +++ b/examples/peripherals/i2s/i2s_basic/i2s_pdm/main/idf_component.yml @@ -0,0 +1,3 @@ +dependencies: + i2s_examples_common: + path: ${IDF_PATH}/examples/peripherals/i2s/i2s_examples_common diff --git a/examples/peripherals/i2s/i2s_basic/i2s_std/main/CMakeLists.txt b/examples/peripherals/i2s/i2s_basic/i2s_std/main/CMakeLists.txt index c5b175d06a..359c4a75dd 100644 --- a/examples/peripherals/i2s/i2s_basic/i2s_std/main/CMakeLists.txt +++ b/examples/peripherals/i2s/i2s_basic/i2s_std/main/CMakeLists.txt @@ -1,3 +1,3 @@ idf_component_register(SRCS "i2s_std_example_main.c" - PRIV_REQUIRES esp_driver_i2s esp_driver_gpio - INCLUDE_DIRS "." "$ENV{IDF_PATH}/examples/peripherals/i2s/common") + PRIV_REQUIRES esp_driver_i2s esp_driver_gpio i2s_examples_common + INCLUDE_DIRS ".") diff --git a/examples/peripherals/i2s/i2s_basic/i2s_std/main/idf_component.yml b/examples/peripherals/i2s/i2s_basic/i2s_std/main/idf_component.yml new file mode 100644 index 0000000000..804fe8e427 --- /dev/null +++ b/examples/peripherals/i2s/i2s_basic/i2s_std/main/idf_component.yml @@ -0,0 +1,3 @@ +dependencies: + i2s_examples_common: + path: ${IDF_PATH}/examples/peripherals/i2s/i2s_examples_common diff --git a/examples/peripherals/i2s/i2s_basic/i2s_tdm/main/CMakeLists.txt b/examples/peripherals/i2s/i2s_basic/i2s_tdm/main/CMakeLists.txt index 8f5c82b463..0eee02cd78 100644 --- a/examples/peripherals/i2s/i2s_basic/i2s_tdm/main/CMakeLists.txt +++ b/examples/peripherals/i2s/i2s_basic/i2s_tdm/main/CMakeLists.txt @@ -1,3 +1,3 @@ idf_component_register(SRCS "i2s_tdm_example_main.c" - PRIV_REQUIRES esp_driver_i2s esp_driver_gpio - INCLUDE_DIRS "." "$ENV{IDF_PATH}/examples/peripherals/i2s/common") + PRIV_REQUIRES esp_driver_i2s esp_driver_gpio i2s_examples_common + INCLUDE_DIRS ".") diff --git a/examples/peripherals/i2s/i2s_basic/i2s_tdm/main/idf_component.yml b/examples/peripherals/i2s/i2s_basic/i2s_tdm/main/idf_component.yml new file mode 100644 index 0000000000..804fe8e427 --- /dev/null +++ b/examples/peripherals/i2s/i2s_basic/i2s_tdm/main/idf_component.yml @@ -0,0 +1,3 @@ +dependencies: + i2s_examples_common: + path: ${IDF_PATH}/examples/peripherals/i2s/i2s_examples_common diff --git a/examples/peripherals/i2s/i2s_codec/i2s_es7210_tdm/main/CMakeLists.txt b/examples/peripherals/i2s/i2s_codec/i2s_es7210_tdm/main/CMakeLists.txt index 0241da8899..c90803d430 100644 --- a/examples/peripherals/i2s/i2s_codec/i2s_es7210_tdm/main/CMakeLists.txt +++ b/examples/peripherals/i2s/i2s_codec/i2s_es7210_tdm/main/CMakeLists.txt @@ -1,4 +1,4 @@ idf_component_register(SRCS "i2s_es7210_record_example.c" - PRIV_REQUIRES esp_driver_i2s esp_driver_gpio fatfs - INCLUDE_DIRS "$ENV{IDF_PATH}/examples/peripherals/i2s/common" + PRIV_REQUIRES esp_driver_i2s esp_driver_gpio fatfs i2s_examples_common + INCLUDE_DIRS ) diff --git a/examples/peripherals/i2s/i2s_codec/i2s_es7210_tdm/main/idf_component.yml b/examples/peripherals/i2s/i2s_codec/i2s_es7210_tdm/main/idf_component.yml index da0e4186c8..287056bd51 100644 --- a/examples/peripherals/i2s/i2s_codec/i2s_es7210_tdm/main/idf_component.yml +++ b/examples/peripherals/i2s/i2s_codec/i2s_es7210_tdm/main/idf_component.yml @@ -15,3 +15,5 @@ dependencies: # # `public` flag doesn't have an effect dependencies of the `main` component. # # All dependencies of `main` are public by default. # public: true + i2s_examples_common: + path: ${IDF_PATH}/examples/peripherals/i2s/i2s_examples_common diff --git a/examples/peripherals/i2s/i2s_codec/i2s_es8311/main/idf_component.yml b/examples/peripherals/i2s/i2s_codec/i2s_es8311/main/idf_component.yml index ca449b2d62..2091fa5ddd 100644 --- a/examples/peripherals/i2s/i2s_codec/i2s_es8311/main/idf_component.yml +++ b/examples/peripherals/i2s/i2s_codec/i2s_es8311/main/idf_component.yml @@ -16,3 +16,5 @@ dependencies: # version: "^1" # rules: # - if: "target in [esp32s3]" + i2s_examples_common: + path: ${IDF_PATH}/examples/peripherals/i2s/i2s_examples_common diff --git a/examples/peripherals/i2s/i2s_examples_common/CMakeLists.txt b/examples/peripherals/i2s/i2s_examples_common/CMakeLists.txt new file mode 100644 index 0000000000..404dbefdc4 --- /dev/null +++ b/examples/peripherals/i2s/i2s_examples_common/CMakeLists.txt @@ -0,0 +1,2 @@ +# register I2S common dependencies as a component +idf_component_register(INCLUDE_DIRS ".") diff --git a/examples/peripherals/i2s/common/format_wav.h b/examples/peripherals/i2s/i2s_examples_common/format_wav.h similarity index 100% rename from examples/peripherals/i2s/common/format_wav.h rename to examples/peripherals/i2s/i2s_examples_common/format_wav.h diff --git a/examples/peripherals/i2s/common/i2s_example_pins.h b/examples/peripherals/i2s/i2s_examples_common/i2s_example_pins.h similarity index 100% rename from examples/peripherals/i2s/common/i2s_example_pins.h rename to examples/peripherals/i2s/i2s_examples_common/i2s_example_pins.h diff --git a/examples/peripherals/i2s/i2s_recorder/main/CMakeLists.txt b/examples/peripherals/i2s/i2s_recorder/main/CMakeLists.txt index 805f8fee95..0776d102b5 100644 --- a/examples/peripherals/i2s/i2s_recorder/main/CMakeLists.txt +++ b/examples/peripherals/i2s/i2s_recorder/main/CMakeLists.txt @@ -1,3 +1,3 @@ idf_component_register(SRCS "i2s_recorder_main.c" - PRIV_REQUIRES esp_driver_i2s fatfs - INCLUDE_DIRS "$ENV{IDF_PATH}/examples/peripherals/i2s/common") + PRIV_REQUIRES esp_driver_i2s fatfs i2s_examples_common + INCLUDE_DIRS) diff --git a/examples/peripherals/i2s/i2s_recorder/main/idf_component.yml b/examples/peripherals/i2s/i2s_recorder/main/idf_component.yml new file mode 100644 index 0000000000..804fe8e427 --- /dev/null +++ b/examples/peripherals/i2s/i2s_recorder/main/idf_component.yml @@ -0,0 +1,3 @@ +dependencies: + i2s_examples_common: + path: ${IDF_PATH}/examples/peripherals/i2s/i2s_examples_common