Skip to content

Commit 7236cf4

Browse files
mergify[bot]MadsRossenpablogs9
authored
Initial support for the ESP32 C6 board (backport #274) (#275)
* Initial support for the ESP32 C6 board (#274) * Support for the ESP32 C6 board This make it possible to set board target and build for the RISC-V board on the ESP32 C6 Board. * Add CI for ESP32 C6 The CI for ESP C6 follow the CI for ESP C3 as they both use RISC-V * Add ESP32-C6 to README * Exclude the CI run for IDFv4.4 using esp32c6 (cherry picked from commit c5825cc) # Conflicts: # .github/workflows/nightly.yml * Update nightly.yml --------- Co-authored-by: Mads Rossen <[email protected]> Co-authored-by: Pablo Garrido <[email protected]>
1 parent c5a19af commit 7236cf4

File tree

5 files changed

+20
-9
lines changed

5 files changed

+20
-9
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
idf_target: [ esp32, esp32s2, esp32s3, esp32c3]
15+
idf_target: [ esp32, esp32s2, esp32s3, esp32c3, esp32c6]
1616
idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2" ]
17+
exclude:
18+
# Skip IDF v4 + ESP32C6 combination
19+
- idf_target: esp32c6
20+
idf_version: espressif/idf:release-v4.4
1721

1822
container:
1923
image: ${{ matrix.idf_version }}
@@ -54,7 +58,7 @@ jobs:
5458
5559
- name: Build sample - low_consumption
5660
shell: bash
57-
if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3'
61+
if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3' && matrix.idf_target != 'esp32c6'
5862
run: |
5963
. $IDF_PATH/export.sh
6064
cd micro_ros_espidf_component/examples/low_consumption

.github/workflows/nightly.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,14 @@ jobs:
1414
strategy:
1515
fail-fast: false
1616
matrix:
17-
branch: [iron, rolling, humble]
18-
idf_target: [ esp32, esp32s2, esp32c3, esp32s3]
17+
branch: [rolling, jazzy, humble]
18+
idf_target: [ esp32, esp32s2, esp32c3, esp32s3, esp32c6]
1919
idf_version: [ "espressif/idf:release-v4.4", "espressif/idf:release-v5.2" ]
20+
exclude:
21+
# Skip IDF v4 + ESP32C6 combination
22+
- idf_target: esp32c6
23+
idf_version: espressif/idf:release-v4.4
24+
2025

2126
container:
2227
image: ${{ matrix.idf_version }}
@@ -58,7 +63,7 @@ jobs:
5863
5964
- name: Build sample - low_consumption
6065
shell: bash
61-
if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3'
66+
if: matrix.idf_target != 'esp32c3' && matrix.idf_target != 'esp32s3' && matrix.idf_target != 'esp32c6'
6267
run: |
6368
. $IDF_PATH/export.sh
6469
cd micro_ros_espidf_component/examples/low_consumption
@@ -104,4 +109,4 @@ jobs:
104109
make -f libmicroros.mk clean
105110
cd examples/int32_publisher_embeddedrtps
106111
idf.py set-target ${{ matrix.idf_target }}
107-
idf.py build
112+
idf.py build

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
# micro-ROS component for ESP-IDF
55

6-
This component has been tested in ESP-IDF v4.4, and v5.2 with ESP32, ESP32-S2, ESP32-S3 and ESP32-C3.
6+
This component has been tested in ESP-IDF v4.4, and v5.2 with ESP32, ESP32-S2, ESP32-S3, ESP32-C3 and ESP32-C6.
77

88
## Dependencies
99

esp32_toolchain.cmake.in

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ set(CMAKE_SYSTEM_NAME Generic)
55
set(idf_target "@IDF_TARGET@")
66
set(idf_path "@IDF_PATH@")
77

8-
if("${idf_target}" STREQUAL "esp32c3")
8+
set(RISCV_TARGETS "esp32c3" "esp32c6")
9+
10+
if("${idf_target}" IN_LIST RISCV_TARGETS)
911
set(CMAKE_SYSTEM_PROCESSOR riscv)
1012
set(FLAGS "-ffunction-sections -fdata-sections" CACHE STRING "" FORCE)
1113
else()

libmicroros.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ $(EXTENSIONS_DIR)/micro_ros_src/install: $(EXTENSIONS_DIR)/esp32_toolchain.cmake
111111

112112
patch_atomic:$(EXTENSIONS_DIR)/micro_ros_src/install
113113
# Workaround https://github.com/micro-ROS/micro_ros_espidf_component/issues/18
114-
ifeq ($(IDF_TARGET),$(filter $(IDF_TARGET),esp32s2 esp32c3))
114+
ifeq ($(IDF_TARGET),$(filter $(IDF_TARGET),esp32s2 esp32c3 esp32c6))
115115
echo $(UROS_DIR)/atomic_workaround; \
116116
mkdir $(UROS_DIR)/atomic_workaround; cd $(UROS_DIR)/atomic_workaround; \
117117
$(X_AR) x $(UROS_DIR)/install/lib/librcutils.a; \

0 commit comments

Comments
 (0)