Skip to content

Commit

Permalink
change(led_strip): clean up component dependency
Browse files Browse the repository at this point in the history
Starting from esp-idf v5.3, the RMT and SPI drivers are moved to
separate components
  • Loading branch information
suda-morris committed Aug 13, 2024
1 parent dd2ce03 commit 7aa0c78
Show file tree
Hide file tree
Showing 2 changed files with 131 additions and 219 deletions.
15 changes: 12 additions & 3 deletions led_strip/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,22 +1,31 @@
include($ENV{IDF_PATH}/tools/cmake/version.cmake)

set(srcs "src/led_strip_api.c")
set(public_requires)

# Starting from esp-idf v5.x, the RMT driver is rewritten
if("${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}" VERSION_GREATER_EQUAL "5.0")
if(CONFIG_SOC_RMT_SUPPORTED)
list(APPEND srcs "src/led_strip_rmt_dev.c" "src/led_strip_rmt_encoder.c")
endif()
else()
else()
list(APPEND srcs "src/led_strip_rmt_dev_idf4.c")
endif()

# the SPI backend driver relies on something that was added in IDF 5.1
# the SPI backend driver relies on some feature that was available in IDF 5.1
if("${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}" VERSION_GREATER_EQUAL "5.1")
if(CONFIG_SOC_GPSPI_SUPPORTED)
list(APPEND srcs "src/led_strip_spi_dev.c")
endif()
endif()

# Starting from esp-idf v5.3, the RMT and SPI drivers are moved to separate components
if("${IDF_VERSION_MAJOR}.${IDF_VERSION_MINOR}" VERSION_GREATER_EQUAL "5.3")
list(APPEND public_requires "esp_driver_rmt" "esp_driver_spi")
else()
list(APPEND public_requires "driver")
endif()

idf_component_register(SRCS ${srcs}
INCLUDE_DIRS "include" "interface"
REQUIRES "driver")
REQUIRES ${public_requires})
Loading

0 comments on commit 7aa0c78

Please sign in to comment.