From f2751213fddac7c536a77392db6d33ff7f222acd Mon Sep 17 00:00:00 2001 From: morris Date: Wed, 22 Nov 2023 10:22:29 +0800 Subject: [PATCH] feat(rmt): move the driver to a new component --- components/driver/CMakeLists.txt | 15 ++++----------- components/driver/Kconfig | 2 -- components/driver/test_apps/.build-test-rules.yml | 6 ++---- components/esp_driver_mcpwm/src/mcpwm_gen.c | 3 ++- components/esp_driver_rmt/CMakeLists.txt | 14 ++++++++++++++ .../rmt/Kconfig.rmt => esp_driver_rmt/Kconfig} | 4 ++-- .../include/driver/rmt_common.h | 0 .../include/driver/rmt_encoder.h | 0 .../include/driver/rmt_rx.h | 0 .../include/driver/rmt_tx.h | 0 .../include/driver/rmt_types.h | 0 .../include/esp_private/rmt.h | 0 .../{driver/rmt => esp_driver_rmt}/linker.lf | 2 +- .../rmt => esp_driver_rmt/src}/rmt_common.c | 0 .../rmt => esp_driver_rmt/src}/rmt_encoder.c | 2 +- .../rmt => esp_driver_rmt/src}/rmt_private.h | 0 .../{driver/rmt => esp_driver_rmt/src}/rmt_rx.c | 0 .../{driver/rmt => esp_driver_rmt/src}/rmt_tx.c | 0 .../test_apps/.build-test-rules.yml | 7 +++++++ .../test_apps/rmt/CMakeLists.txt | 2 +- .../test_apps/rmt/README.md | 0 .../test_apps/rmt/main/CMakeLists.txt | 2 +- .../test_apps/rmt/main/test_app_main.c | 0 .../test_apps/rmt/main/test_board.h | 0 .../test_apps/rmt/main/test_rmt_common.c | 0 .../test_apps/rmt/main/test_rmt_iram.c | 0 .../test_apps/rmt/main/test_rmt_rx.c | 0 .../test_apps/rmt/main/test_rmt_tx.c | 0 .../test_apps/rmt/main/test_util_rmt_encoders.c | 0 .../test_apps/rmt/main/test_util_rmt_encoders.h | 0 .../test_apps/rmt/pytest_rmt.py | 0 .../test_apps/rmt/sdkconfig.ci.iram_safe | 0 .../test_apps/rmt/sdkconfig.ci.release | 0 .../test_apps/rmt/sdkconfig.defaults | 0 .../test_apps/rmt/sdkconfig.defaults.esp32s3 | 0 components/soc/esp32p4/include/soc/soc_caps.h | 1 - docs/doxygen/Doxyfile | 10 +++++----- docs/en/api-reference/peripherals/rmt.rst | 2 +- .../release-5.x/5.3/peripherals.rst | 1 + docs/zh_CN/api-reference/peripherals/rmt.rst | 2 +- .../release-5.x/5.3/peripherals.rst | 1 + examples/peripherals/.build-test-rules.yml | 8 ++++++++ tools/mocks/driver/CMakeLists.txt | 12 ++++++------ .../components/test_utils/CMakeLists.txt | 4 +--- 44 files changed, 59 insertions(+), 41 deletions(-) create mode 100644 components/esp_driver_rmt/CMakeLists.txt rename components/{driver/rmt/Kconfig.rmt => esp_driver_rmt/Kconfig} (96%) rename components/{driver/rmt => esp_driver_rmt}/include/driver/rmt_common.h (100%) rename components/{driver/rmt => esp_driver_rmt}/include/driver/rmt_encoder.h (100%) rename components/{driver/rmt => esp_driver_rmt}/include/driver/rmt_rx.h (100%) rename components/{driver/rmt => esp_driver_rmt}/include/driver/rmt_tx.h (100%) rename components/{driver/rmt => esp_driver_rmt}/include/driver/rmt_types.h (100%) rename components/{driver => esp_driver_rmt}/include/esp_private/rmt.h (100%) rename components/{driver/rmt => esp_driver_rmt}/linker.lf (86%) rename components/{driver/rmt => esp_driver_rmt/src}/rmt_common.c (100%) rename components/{driver/rmt => esp_driver_rmt/src}/rmt_encoder.c (98%) rename components/{driver/rmt => esp_driver_rmt/src}/rmt_private.h (100%) rename components/{driver/rmt => esp_driver_rmt/src}/rmt_rx.c (100%) rename components/{driver/rmt => esp_driver_rmt/src}/rmt_tx.c (100%) create mode 100644 components/esp_driver_rmt/test_apps/.build-test-rules.yml rename components/{driver => esp_driver_rmt}/test_apps/rmt/CMakeLists.txt (87%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/README.md (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/CMakeLists.txt (76%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/test_app_main.c (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/test_board.h (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/test_rmt_common.c (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/test_rmt_iram.c (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/test_rmt_rx.c (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/test_rmt_tx.c (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/test_util_rmt_encoders.c (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/main/test_util_rmt_encoders.h (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/pytest_rmt.py (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/sdkconfig.ci.iram_safe (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/sdkconfig.ci.release (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/sdkconfig.defaults (100%) rename components/{driver => esp_driver_rmt}/test_apps/rmt/sdkconfig.defaults.esp32s3 (100%) diff --git a/components/driver/CMakeLists.txt b/components/driver/CMakeLists.txt index c67947fc21..88391b88df 100644 --- a/components/driver/CMakeLists.txt +++ b/components/driver/CMakeLists.txt @@ -8,12 +8,10 @@ endif() set(srcs) # Always included headers -set(includes "include" - "deprecated" +set(includes "deprecated" "i2c/include" "ledc/include" "parlio/include" - "rmt/include" "sigma_delta/include" "temperature_sensor/include" "touch_sensor/include" @@ -84,14 +82,9 @@ if(CONFIG_SOC_PCNT_SUPPORTED) list(APPEND srcs "deprecated/pcnt_legacy.c") endif() -# RMT related source files +# RMT legacy driver if(CONFIG_SOC_RMT_SUPPORTED) - list(APPEND srcs "rmt/rmt_common.c" - "rmt/rmt_encoder.c" - "rmt/rmt_rx.c" - "rmt/rmt_tx.c" - "deprecated/rmt_legacy.c") - list(APPEND ldfragments "rmt/linker.lf") + list(APPEND srcs "deprecated/rmt_legacy.c") endif() # Sigma-Delta Modulation related source files @@ -153,7 +146,7 @@ else() # have a public dependency on other "esp_driver_foo" components esp_driver_gpio esp_driver_pcnt esp_driver_gptimer esp_driver_spi esp_driver_mcpwm esp_driver_ana_cmpr esp_driver_i2s esp_driver_sdmmc esp_driver_sdspi esp_driver_sdio - esp_driver_dac + esp_driver_dac esp_driver_rmt LDFRAGMENTS ${ldfragments} ) endif() diff --git a/components/driver/Kconfig b/components/driver/Kconfig index ba9d6b31d7..0fb772221f 100644 --- a/components/driver/Kconfig +++ b/components/driver/Kconfig @@ -120,8 +120,6 @@ menu "Driver Configurations" Note that, this option only controls the SDM driver log, won't affect other drivers. endmenu # Sigma Delta Modulator Configuration - orsource "./rmt/Kconfig.rmt" - menu "USB Serial/JTAG Configuration" depends on SOC_USB_SERIAL_JTAG_SUPPORTED config USJ_NO_AUTO_LS_ON_CONNECTION diff --git a/components/driver/test_apps/.build-test-rules.yml b/components/driver/test_apps/.build-test-rules.yml index 29c9e65527..78bcf51db3 100644 --- a/components/driver/test_apps/.build-test-rules.yml +++ b/components/driver/test_apps/.build-test-rules.yml @@ -51,6 +51,8 @@ components/driver/test_apps/legacy_pcnt_driver: components/driver/test_apps/legacy_rmt_driver: disable: - if: SOC_RMT_SUPPORTED != 1 + depends_filepatterns: + - components/driver/deprecated/**/*rmt* components/driver/test_apps/legacy_rtc_temp_driver: disable: @@ -78,10 +80,6 @@ components/driver/test_apps/parlio: temporary: true reason: lack of runner -components/driver/test_apps/rmt: - disable: - - if: SOC_RMT_SUPPORTED != 1 - components/driver/test_apps/rs485: disable: - if: SOC_UART_SUPPORTED != 1 diff --git a/components/esp_driver_mcpwm/src/mcpwm_gen.c b/components/esp_driver_mcpwm/src/mcpwm_gen.c index fd7eaf3267..f4ae459745 100644 --- a/components/esp_driver_mcpwm/src/mcpwm_gen.c +++ b/components/esp_driver_mcpwm/src/mcpwm_gen.c @@ -297,7 +297,8 @@ esp_err_t mcpwm_generator_set_action_on_sync_event(mcpwm_gen_handle_t gen, mcpwm if (oper->triggers[i] == MCPWM_TRIGGER_SYNC_EVENT) { trigger_sync_used = 1; break; - } else if (oper->triggers[i] == MCPWM_TRIGGER_NO_ASSIGN) { + } + if (oper->triggers[i] == MCPWM_TRIGGER_NO_ASSIGN) { trigger_id = i; oper->triggers[i] = MCPWM_TRIGGER_SYNC_EVENT; break; diff --git a/components/esp_driver_rmt/CMakeLists.txt b/components/esp_driver_rmt/CMakeLists.txt new file mode 100644 index 0000000000..df2b8dbf82 --- /dev/null +++ b/components/esp_driver_rmt/CMakeLists.txt @@ -0,0 +1,14 @@ +set(srcs) +set(public_include "include") +if(CONFIG_SOC_RMT_SUPPORTED) + list(APPEND srcs "src/rmt_common.c" + "src/rmt_encoder.c" + "src/rmt_rx.c" + "src/rmt_tx.c") +endif() + +idf_component_register(SRCS ${srcs} + INCLUDE_DIRS ${public_include} + PRIV_REQUIRES "esp_pm" "esp_driver_gpio" + LDFRAGMENTS "linker.lf" + ) diff --git a/components/driver/rmt/Kconfig.rmt b/components/esp_driver_rmt/Kconfig similarity index 96% rename from components/driver/rmt/Kconfig.rmt rename to components/esp_driver_rmt/Kconfig index 97ea9c02b4..2a568e22d4 100644 --- a/components/driver/rmt/Kconfig.rmt +++ b/components/esp_driver_rmt/Kconfig @@ -1,4 +1,4 @@ -menu "RMT Configuration" +menu "ESP-Driver:RMT Configurations" depends on SOC_RMT_SUPPORTED config RMT_ISR_IRAM_SAFE bool "RMT ISR IRAM-Safe" @@ -32,4 +32,4 @@ menu "RMT Configuration" help Wether to enable the debug log message for RMT driver. Note that, this option only controls the RMT driver log, won't affect other drivers. -endmenu # RMT Configuration +endmenu diff --git a/components/driver/rmt/include/driver/rmt_common.h b/components/esp_driver_rmt/include/driver/rmt_common.h similarity index 100% rename from components/driver/rmt/include/driver/rmt_common.h rename to components/esp_driver_rmt/include/driver/rmt_common.h diff --git a/components/driver/rmt/include/driver/rmt_encoder.h b/components/esp_driver_rmt/include/driver/rmt_encoder.h similarity index 100% rename from components/driver/rmt/include/driver/rmt_encoder.h rename to components/esp_driver_rmt/include/driver/rmt_encoder.h diff --git a/components/driver/rmt/include/driver/rmt_rx.h b/components/esp_driver_rmt/include/driver/rmt_rx.h similarity index 100% rename from components/driver/rmt/include/driver/rmt_rx.h rename to components/esp_driver_rmt/include/driver/rmt_rx.h diff --git a/components/driver/rmt/include/driver/rmt_tx.h b/components/esp_driver_rmt/include/driver/rmt_tx.h similarity index 100% rename from components/driver/rmt/include/driver/rmt_tx.h rename to components/esp_driver_rmt/include/driver/rmt_tx.h diff --git a/components/driver/rmt/include/driver/rmt_types.h b/components/esp_driver_rmt/include/driver/rmt_types.h similarity index 100% rename from components/driver/rmt/include/driver/rmt_types.h rename to components/esp_driver_rmt/include/driver/rmt_types.h diff --git a/components/driver/include/esp_private/rmt.h b/components/esp_driver_rmt/include/esp_private/rmt.h similarity index 100% rename from components/driver/include/esp_private/rmt.h rename to components/esp_driver_rmt/include/esp_private/rmt.h diff --git a/components/driver/rmt/linker.lf b/components/esp_driver_rmt/linker.lf similarity index 86% rename from components/driver/rmt/linker.lf rename to components/esp_driver_rmt/linker.lf index 508fc84c21..fc6694041e 100644 --- a/components/driver/rmt/linker.lf +++ b/components/esp_driver_rmt/linker.lf @@ -1,5 +1,5 @@ [mapping:rmt_driver] -archive: libdriver.a +archive: libesp_driver_rmt.a entries: if RMT_RECV_FUNC_IN_IRAM = y: rmt_rx: rmt_receive (noflash) diff --git a/components/driver/rmt/rmt_common.c b/components/esp_driver_rmt/src/rmt_common.c similarity index 100% rename from components/driver/rmt/rmt_common.c rename to components/esp_driver_rmt/src/rmt_common.c diff --git a/components/driver/rmt/rmt_encoder.c b/components/esp_driver_rmt/src/rmt_encoder.c similarity index 98% rename from components/driver/rmt/rmt_encoder.c rename to components/esp_driver_rmt/src/rmt_encoder.c index d127517304..a518358661 100644 --- a/components/driver/rmt/rmt_encoder.c +++ b/components/esp_driver_rmt/src/rmt_encoder.c @@ -48,7 +48,7 @@ static esp_err_t rmt_bytes_encoder_reset(rmt_encoder_t *encoder) } static size_t IRAM_ATTR rmt_encode_bytes(rmt_encoder_t *encoder, rmt_channel_handle_t channel, - const void *primary_data, size_t data_size, rmt_encode_state_t *ret_state) + const void *primary_data, size_t data_size, rmt_encode_state_t *ret_state) { rmt_bytes_encoder_t *bytes_encoder = __containerof(encoder, rmt_bytes_encoder_t, base); rmt_tx_channel_t *tx_chan = __containerof(channel, rmt_tx_channel_t, base); diff --git a/components/driver/rmt/rmt_private.h b/components/esp_driver_rmt/src/rmt_private.h similarity index 100% rename from components/driver/rmt/rmt_private.h rename to components/esp_driver_rmt/src/rmt_private.h diff --git a/components/driver/rmt/rmt_rx.c b/components/esp_driver_rmt/src/rmt_rx.c similarity index 100% rename from components/driver/rmt/rmt_rx.c rename to components/esp_driver_rmt/src/rmt_rx.c diff --git a/components/driver/rmt/rmt_tx.c b/components/esp_driver_rmt/src/rmt_tx.c similarity index 100% rename from components/driver/rmt/rmt_tx.c rename to components/esp_driver_rmt/src/rmt_tx.c diff --git a/components/esp_driver_rmt/test_apps/.build-test-rules.yml b/components/esp_driver_rmt/test_apps/.build-test-rules.yml new file mode 100644 index 0000000000..2a97c6cdec --- /dev/null +++ b/components/esp_driver_rmt/test_apps/.build-test-rules.yml @@ -0,0 +1,7 @@ +# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps + +components/esp_driver_rmt/test_apps/rmt: + disable: + - if: SOC_RMT_SUPPORTED != 1 + depends_components: + - esp_driver_rmt diff --git a/components/driver/test_apps/rmt/CMakeLists.txt b/components/esp_driver_rmt/test_apps/rmt/CMakeLists.txt similarity index 87% rename from components/driver/test_apps/rmt/CMakeLists.txt rename to components/esp_driver_rmt/test_apps/rmt/CMakeLists.txt index 4ad5bb6626..6c44dbcf33 100644 --- a/components/driver/test_apps/rmt/CMakeLists.txt +++ b/components/esp_driver_rmt/test_apps/rmt/CMakeLists.txt @@ -10,7 +10,7 @@ project(rmt_test) if(CONFIG_COMPILER_DUMP_RTL_FILES) add_custom_target(check_test_app_sections ALL COMMAND ${PYTHON} $ENV{IDF_PATH}/tools/ci/check_callgraph.py - --rtl-dirs ${CMAKE_BINARY_DIR}/esp-idf/driver/,${CMAKE_BINARY_DIR}/esp-idf/hal/ + --rtl-dirs ${CMAKE_BINARY_DIR}/esp-idf/esp_driver_rmt/,${CMAKE_BINARY_DIR}/esp-idf/hal/ --elf-file ${CMAKE_BINARY_DIR}/rmt_test.elf find-refs --from-sections=.iram0.text diff --git a/components/driver/test_apps/rmt/README.md b/components/esp_driver_rmt/test_apps/rmt/README.md similarity index 100% rename from components/driver/test_apps/rmt/README.md rename to components/esp_driver_rmt/test_apps/rmt/README.md diff --git a/components/driver/test_apps/rmt/main/CMakeLists.txt b/components/esp_driver_rmt/test_apps/rmt/main/CMakeLists.txt similarity index 76% rename from components/driver/test_apps/rmt/main/CMakeLists.txt rename to components/esp_driver_rmt/test_apps/rmt/main/CMakeLists.txt index 018443a52a..ba76bdbf9f 100644 --- a/components/driver/test_apps/rmt/main/CMakeLists.txt +++ b/components/esp_driver_rmt/test_apps/rmt/main/CMakeLists.txt @@ -9,5 +9,5 @@ if(CONFIG_RMT_ISR_IRAM_SAFE) endif() idf_component_register(SRCS "${srcs}" - PRIV_REQUIRES unity driver esp_timer esp_psram + PRIV_REQUIRES unity esp_driver_rmt esp_driver_gpio esp_timer esp_psram WHOLE_ARCHIVE) diff --git a/components/driver/test_apps/rmt/main/test_app_main.c b/components/esp_driver_rmt/test_apps/rmt/main/test_app_main.c similarity index 100% rename from components/driver/test_apps/rmt/main/test_app_main.c rename to components/esp_driver_rmt/test_apps/rmt/main/test_app_main.c diff --git a/components/driver/test_apps/rmt/main/test_board.h b/components/esp_driver_rmt/test_apps/rmt/main/test_board.h similarity index 100% rename from components/driver/test_apps/rmt/main/test_board.h rename to components/esp_driver_rmt/test_apps/rmt/main/test_board.h diff --git a/components/driver/test_apps/rmt/main/test_rmt_common.c b/components/esp_driver_rmt/test_apps/rmt/main/test_rmt_common.c similarity index 100% rename from components/driver/test_apps/rmt/main/test_rmt_common.c rename to components/esp_driver_rmt/test_apps/rmt/main/test_rmt_common.c diff --git a/components/driver/test_apps/rmt/main/test_rmt_iram.c b/components/esp_driver_rmt/test_apps/rmt/main/test_rmt_iram.c similarity index 100% rename from components/driver/test_apps/rmt/main/test_rmt_iram.c rename to components/esp_driver_rmt/test_apps/rmt/main/test_rmt_iram.c diff --git a/components/driver/test_apps/rmt/main/test_rmt_rx.c b/components/esp_driver_rmt/test_apps/rmt/main/test_rmt_rx.c similarity index 100% rename from components/driver/test_apps/rmt/main/test_rmt_rx.c rename to components/esp_driver_rmt/test_apps/rmt/main/test_rmt_rx.c diff --git a/components/driver/test_apps/rmt/main/test_rmt_tx.c b/components/esp_driver_rmt/test_apps/rmt/main/test_rmt_tx.c similarity index 100% rename from components/driver/test_apps/rmt/main/test_rmt_tx.c rename to components/esp_driver_rmt/test_apps/rmt/main/test_rmt_tx.c diff --git a/components/driver/test_apps/rmt/main/test_util_rmt_encoders.c b/components/esp_driver_rmt/test_apps/rmt/main/test_util_rmt_encoders.c similarity index 100% rename from components/driver/test_apps/rmt/main/test_util_rmt_encoders.c rename to components/esp_driver_rmt/test_apps/rmt/main/test_util_rmt_encoders.c diff --git a/components/driver/test_apps/rmt/main/test_util_rmt_encoders.h b/components/esp_driver_rmt/test_apps/rmt/main/test_util_rmt_encoders.h similarity index 100% rename from components/driver/test_apps/rmt/main/test_util_rmt_encoders.h rename to components/esp_driver_rmt/test_apps/rmt/main/test_util_rmt_encoders.h diff --git a/components/driver/test_apps/rmt/pytest_rmt.py b/components/esp_driver_rmt/test_apps/rmt/pytest_rmt.py similarity index 100% rename from components/driver/test_apps/rmt/pytest_rmt.py rename to components/esp_driver_rmt/test_apps/rmt/pytest_rmt.py diff --git a/components/driver/test_apps/rmt/sdkconfig.ci.iram_safe b/components/esp_driver_rmt/test_apps/rmt/sdkconfig.ci.iram_safe similarity index 100% rename from components/driver/test_apps/rmt/sdkconfig.ci.iram_safe rename to components/esp_driver_rmt/test_apps/rmt/sdkconfig.ci.iram_safe diff --git a/components/driver/test_apps/rmt/sdkconfig.ci.release b/components/esp_driver_rmt/test_apps/rmt/sdkconfig.ci.release similarity index 100% rename from components/driver/test_apps/rmt/sdkconfig.ci.release rename to components/esp_driver_rmt/test_apps/rmt/sdkconfig.ci.release diff --git a/components/driver/test_apps/rmt/sdkconfig.defaults b/components/esp_driver_rmt/test_apps/rmt/sdkconfig.defaults similarity index 100% rename from components/driver/test_apps/rmt/sdkconfig.defaults rename to components/esp_driver_rmt/test_apps/rmt/sdkconfig.defaults diff --git a/components/driver/test_apps/rmt/sdkconfig.defaults.esp32s3 b/components/esp_driver_rmt/test_apps/rmt/sdkconfig.defaults.esp32s3 similarity index 100% rename from components/driver/test_apps/rmt/sdkconfig.defaults.esp32s3 rename to components/esp_driver_rmt/test_apps/rmt/sdkconfig.defaults.esp32s3 diff --git a/components/soc/esp32p4/include/soc/soc_caps.h b/components/soc/esp32p4/include/soc/soc_caps.h index 6beeaface3..6777fa295e 100644 --- a/components/soc/esp32p4/include/soc/soc_caps.h +++ b/components/soc/esp32p4/include/soc/soc_caps.h @@ -48,7 +48,6 @@ #define SOC_RTC_MEM_SUPPORTED 1 #define SOC_RMT_SUPPORTED 1 #define SOC_I2S_SUPPORTED 1 -// #define SOC_RMT_SUPPORTED 1 //TODO: IDF-7476 // #define SOC_SDM_SUPPORTED 1 //TODO: IDF-7551 #define SOC_GPSPI_SUPPORTED 1 #define SOC_LEDC_SUPPORTED 1 diff --git a/docs/doxygen/Doxyfile b/docs/doxygen/Doxyfile index 51dbafdf6a..0610094b7c 100644 --- a/docs/doxygen/Doxyfile +++ b/docs/doxygen/Doxyfile @@ -79,11 +79,6 @@ INPUT = \ $(PROJECT_PATH)/components/driver/ledc/include/driver/ledc.h \ $(PROJECT_PATH)/components/driver/parlio/include/driver/parlio_tx.h \ $(PROJECT_PATH)/components/driver/parlio/include/driver/parlio_types.h \ - $(PROJECT_PATH)/components/driver/rmt/include/driver/rmt_common.h \ - $(PROJECT_PATH)/components/driver/rmt/include/driver/rmt_encoder.h \ - $(PROJECT_PATH)/components/driver/rmt/include/driver/rmt_rx.h \ - $(PROJECT_PATH)/components/driver/rmt/include/driver/rmt_tx.h \ - $(PROJECT_PATH)/components/driver/rmt/include/driver/rmt_types.h \ $(PROJECT_PATH)/components/driver/sigma_delta/include/driver/sdm.h \ $(PROJECT_PATH)/components/driver/temperature_sensor/include/driver/temperature_sensor.h \ $(PROJECT_PATH)/components/driver/touch_sensor/include/driver/touch_sensor_common.h \ @@ -134,6 +129,11 @@ INPUT = \ $(PROJECT_PATH)/components/esp_driver_i2s/include/driver/i2s_tdm.h \ $(PROJECT_PATH)/components/esp_driver_i2s/include/driver/i2s_types.h \ $(PROJECT_PATH)/components/esp_driver_pcnt/include/driver/pulse_cnt.h \ + $(PROJECT_PATH)/components/esp_driver_rmt/include/driver/rmt_common.h \ + $(PROJECT_PATH)/components/esp_driver_rmt/include/driver/rmt_encoder.h \ + $(PROJECT_PATH)/components/esp_driver_rmt/include/driver/rmt_rx.h \ + $(PROJECT_PATH)/components/esp_driver_rmt/include/driver/rmt_tx.h \ + $(PROJECT_PATH)/components/esp_driver_rmt/include/driver/rmt_types.h \ $(PROJECT_PATH)/components/esp_driver_sdio/include/driver/sdio_slave.h \ $(PROJECT_PATH)/components/esp_driver_sdmmc/include/driver/sdmmc_default_configs.h \ $(PROJECT_PATH)/components/esp_driver_sdmmc/include/driver/sdmmc_host.h \ diff --git a/docs/en/api-reference/peripherals/rmt.rst b/docs/en/api-reference/peripherals/rmt.rst index 1de17fd4a0..6710fa833c 100644 --- a/docs/en/api-reference/peripherals/rmt.rst +++ b/docs/en/api-reference/peripherals/rmt.rst @@ -609,7 +609,7 @@ API Reference .. include-build-file:: inc/rmt_rx.inc .. include-build-file:: inc/rmt_common.inc .. include-build-file:: inc/rmt_encoder.inc -.. include-build-file:: inc/components/driver/rmt/include/driver/rmt_types.inc +.. include-build-file:: inc/components/esp_driver_rmt/include/driver/rmt_types.inc .. include-build-file:: inc/components/hal/include/hal/rmt_types.inc diff --git a/docs/en/migration-guides/release-5.x/5.3/peripherals.rst b/docs/en/migration-guides/release-5.x/5.3/peripherals.rst index f6f991246f..6862161d73 100644 --- a/docs/en/migration-guides/release-5.x/5.3/peripherals.rst +++ b/docs/en/migration-guides/release-5.x/5.3/peripherals.rst @@ -16,6 +16,7 @@ In order to control the dependence of other components on drivers at a smaller g - `esp_driver_ana_cmpr` - Driver for Analog Comparator - `esp_driver_i2s` - Driver for I2S - `esp_driver_dac` - Driver for DAC +- `esp_driver_rmt` - Driver for RMT For compatibility, the original `driver`` component is still treated as an all-in-one component by registering these `esp_driver_xyz`` components as its public dependencies. In other words, you do not need to modify the CMake file of an existing project, but you now have a way to specify the specific peripheral driver that your project depends on. diff --git a/docs/zh_CN/api-reference/peripherals/rmt.rst b/docs/zh_CN/api-reference/peripherals/rmt.rst index d5b19a1293..2a2000edbe 100644 --- a/docs/zh_CN/api-reference/peripherals/rmt.rst +++ b/docs/zh_CN/api-reference/peripherals/rmt.rst @@ -609,7 +609,7 @@ API 参考 .. include-build-file:: inc/rmt_rx.inc .. include-build-file:: inc/rmt_common.inc .. include-build-file:: inc/rmt_encoder.inc -.. include-build-file:: inc/components/driver/rmt/include/driver/rmt_types.inc +.. include-build-file:: inc/components/esp_driver_rmt/include/driver/rmt_types.inc .. include-build-file:: inc/components/hal/include/hal/rmt_types.inc diff --git a/docs/zh_CN/migration-guides/release-5.x/5.3/peripherals.rst b/docs/zh_CN/migration-guides/release-5.x/5.3/peripherals.rst index 63cebaa68c..4c3c4911cc 100644 --- a/docs/zh_CN/migration-guides/release-5.x/5.3/peripherals.rst +++ b/docs/zh_CN/migration-guides/release-5.x/5.3/peripherals.rst @@ -16,6 +16,7 @@ - `esp_driver_ana_cmpr` - 模拟比较器驱动 - `esp_driver_i2s` - I2S 驱动 - `esp_driver_dac` - DAC 驱动 +- `esp_driver_rmt` - RMT 驱动 为了兼容性,原来的 `driver` 组件仍然存在,并作为一个 “all-in-one" 的组件,将以上这些 `esp_driver_xyz` 组件注册成自己的公共依赖。换句话说,你无需修改既有项目的 CMake 文件,但是你现在多了一个途径去指定你项目依赖的具体的外设驱动。 diff --git a/examples/peripherals/.build-test-rules.yml b/examples/peripherals/.build-test-rules.yml index f1d9422d50..54eea98040 100644 --- a/examples/peripherals/.build-test-rules.yml +++ b/examples/peripherals/.build-test-rules.yml @@ -229,6 +229,8 @@ examples/peripherals/pcnt: examples/peripherals/rmt: disable: - if: SOC_RMT_SUPPORTED != 1 + depends_components: + - esp_driver_rmt examples/peripherals/rmt/ir_nec_transceiver: disable: @@ -237,14 +239,20 @@ examples/peripherals/rmt/ir_nec_transceiver: - if: IDF_TARGET != "esp32" temporary: true reason: lack of runners + depends_components: + - esp_driver_rmt examples/peripherals/rmt/musical_buzzer: disable: - if: SOC_RMT_SUPPORT_TX_LOOP_COUNT != 1 + depends_components: + - esp_driver_rmt examples/peripherals/rmt/stepper_motor: disable: - if: SOC_RMT_SUPPORT_TX_LOOP_AUTO_STOP != 1 + depends_components: + - esp_driver_rmt examples/peripherals/sdio/host: disable: diff --git a/tools/mocks/driver/CMakeLists.txt b/tools/mocks/driver/CMakeLists.txt index 75a81606af..0a5490f743 100644 --- a/tools/mocks/driver/CMakeLists.txt +++ b/tools/mocks/driver/CMakeLists.txt @@ -9,11 +9,11 @@ set(include_dirs "${IDF_PATH}/components/esp_driver_gpio/include" "${IDF_PATH}/components/esp_driver_spi/include/driver" "${IDF_PATH}/components/esp_driver_spi/include" + "${IDF_PATH}/components/esp_driver_rmt/include/driver" + "${IDF_PATH}/components/esp_driver_rmt/include" "${original_driver_dir}/i2c/include/driver" - "${original_driver_dir}/rmt/include/driver" "${original_driver_dir}/usb_serial_jtag/include/driver" "${original_driver_dir}/i2c/include" - "${original_driver_dir}/rmt/include" "${original_driver_dir}/usb_serial_jtag/include") # Note: "hal" and "soc" are only required for corresponding header files and their definitions @@ -24,9 +24,9 @@ idf_component_mock(INCLUDE_DIRS ${include_dirs} ${IDF_PATH}/components/esp_driver_gpio/include/driver/gpio.h ${IDF_PATH}/components/esp_driver_spi/include/driver/spi_master.h ${IDF_PATH}/components/esp_driver_spi/include/driver/spi_common.h + ${IDF_PATH}/components/esp_driver_rmt/include/driver/rmt_rx.h + ${IDF_PATH}/components/esp_driver_rmt/include/driver/rmt_tx.h + ${IDF_PATH}/components/esp_driver_rmt/include/driver/rmt_common.h + ${IDF_PATH}/components/esp_driver_rmt/include/driver/rmt_encoder.h ${original_driver_dir}/i2c/include/driver/i2c.h - ${original_driver_dir}/rmt/include/driver/rmt_rx.h - ${original_driver_dir}/rmt/include/driver/rmt_tx.h - ${original_driver_dir}/rmt/include/driver/rmt_common.h - ${original_driver_dir}/rmt/include/driver/rmt_encoder.h ${original_driver_dir}/usb_serial_jtag/include/driver/usb_serial_jtag.h) diff --git a/tools/unit-test-app/components/test_utils/CMakeLists.txt b/tools/unit-test-app/components/test_utils/CMakeLists.txt index 860cbf717f..9ce3a99d9e 100644 --- a/tools/unit-test-app/components/test_utils/CMakeLists.txt +++ b/tools/unit-test-app/components/test_utils/CMakeLists.txt @@ -16,7 +16,5 @@ endif() idf_component_register(SRCS ${srcs} INCLUDE_DIRS include REQUIRES esp_partition idf_test cmock - PRIV_REQUIRES perfmon esp_driver_pcnt esp_driver_gptimer esp_netif - driver # TODO: replace with esp_driver_rmt - ) + PRIV_REQUIRES perfmon esp_driver_pcnt esp_driver_gptimer esp_driver_rmt esp_netif) target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format")