diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index eafe3b50..4b93d7e8 100755 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,8 +12,12 @@ jobs: strategy: fail-fast: false matrix: - idf_target: [ esp32, esp32s2, esp32s3, esp32c3] + idf_target: [ esp32, esp32s2, esp32s3, esp32c3, esp32c6] idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2" ] + exclude: + # Skip IDF v4 + ESP32C6 combination + - idf_target: esp32c6 + idf_version: espressif/idf:release-v4.4 container: image: ${{ matrix.idf_version }} @@ -54,7 +58,7 @@ jobs: - name: Build sample - low_consumption shell: bash - if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3' + if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3' && matrix.idf_target != 'esp32c6' run: | . $IDF_PATH/export.sh cd micro_ros_espidf_component/examples/low_consumption diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 82bc473a..419795fb 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -14,9 +14,14 @@ jobs: strategy: fail-fast: false matrix: - branch: [iron, rolling, humble] - idf_target: [ esp32, esp32s2, esp32c3, esp32s3] + branch: [rolling, jazzy, humble] + idf_target: [ esp32, esp32s2, esp32c3, esp32s3, esp32c6] idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2" ] + exclude: + # Skip IDF v4 + ESP32C6 combination + - idf_target: esp32c6 + idf_version: espressif/idf:release-v4.4 + container: image: ${{ matrix.idf_version }} @@ -58,7 +63,7 @@ jobs: - name: Build sample - low_consumption shell: bash - if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3' + if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3' && matrix.idf_target != 'esp32c6' run: | . $IDF_PATH/export.sh cd micro_ros_espidf_component/examples/low_consumption @@ -104,4 +109,4 @@ jobs: make -f libmicroros.mk clean cd examples/int32_publisher_embeddedrtps idf.py set-target ${{ matrix.idf_target }} - idf.py build \ No newline at end of file + idf.py build diff --git a/README.md b/README.md index 19b12d3f..12245db6 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # micro-ROS component for ESP-IDF -This component has been tested in ESP-IDF v4.4, and v5.2 with ESP32, ESP32-S2, ESP32-S3 and ESP32-C3. +This component has been tested in ESP-IDF v4.4, and v5.2 with ESP32, ESP32-S2, ESP32-S3, ESP32-C3 and ESP32-C6. ## Dependencies diff --git a/esp32_toolchain.cmake.in b/esp32_toolchain.cmake.in index 599cca23..5bc33a7c 100644 --- a/esp32_toolchain.cmake.in +++ b/esp32_toolchain.cmake.in @@ -5,7 +5,9 @@ set(CMAKE_SYSTEM_NAME Generic) set(idf_target "@IDF_TARGET@") set(idf_path "@IDF_PATH@") -if("${idf_target}" STREQUAL "esp32c3") +set(RISCV_TARGETS "esp32c3" "esp32c6") + +if("${idf_target}" IN_LIST RISCV_TARGETS) set(CMAKE_SYSTEM_PROCESSOR riscv) set(FLAGS "-ffunction-sections -fdata-sections" CACHE STRING "" FORCE) else() diff --git a/libmicroros.mk b/libmicroros.mk index b1bdf50d..e5d22e29 100644 --- a/libmicroros.mk +++ b/libmicroros.mk @@ -107,7 +107,7 @@ $(EXTENSIONS_DIR)/micro_ros_src/install: $(EXTENSIONS_DIR)/esp32_toolchain.cmake patch_atomic:$(EXTENSIONS_DIR)/micro_ros_src/install # Workaround https://github.com/micro-ROS/micro_ros_espidf_component/issues/18 -ifeq ($(IDF_TARGET),$(filter $(IDF_TARGET),esp32s2 esp32c3)) +ifeq ($(IDF_TARGET),$(filter $(IDF_TARGET),esp32s2 esp32c3 esp32c6)) echo $(UROS_DIR)/atomic_workaround; \ mkdir $(UROS_DIR)/atomic_workaround; cd $(UROS_DIR)/atomic_workaround; \ $(X_AR) x $(UROS_DIR)/install/lib/librcutils.a; \