@@ -145,6 +145,8 @@ jobs:
145145 board_name=${board_name%_noota}
146146 # Remove 'wippersnapper_' prefix if present
147147 board_name=${board_name#wippersnapper_}
148+ # Remove 'espressif_' prefix if present
149+ board_name=${board_name#espressif_}
148150 content=$(cat ws-boards/boards/${board_name//_/-}/definition.json)
149151 {
150152 echo 'boardJson<<EOF'
@@ -367,6 +369,7 @@ jobs:
367369 " itsybitsy_esp32" ,
368370 " dfrobot_beetle_esp32c3" ,
369371 " wippersnapper_qtpy_esp32c3" ,
372+ " espressif_esp32c5_devkitc_1_n8r4" ,
370373 " wippersnapper_feather_esp32c6"
371374 ]
372375 include :
@@ -375,6 +378,8 @@ jobs:
375378 arduino-platform : " dfrobot_beetle_esp32c3"
376379 - offset : " 0x0"
377380 arduino-platform : " wippersnapper_qtpy_esp32c3"
381+ - offset : " 0x2000"
382+ arduino-platform : " espressif_esp32c5_devkitc_1_n8r4"
378383 - offset : " 0x0"
379384 arduino-platform : " wippersnapper_feather_esp32c6"
380385 steps :
@@ -450,7 +455,7 @@ jobs:
450455 mv nanopb/pb.h src/nanopb/nanopb.pb.h
451456 - name : Install Dependencies
452457 run : |
453- pip install esptool==4.6
458+ pip install esptool
454459 - name : build ESP32 platforms
455460 run : python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
456461 - name : Check artifacts
@@ -459,6 +464,8 @@ jobs:
459464 - name : Rename build artifacts to reflect the platform name
460465 run : |
461466 mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
467+ ## We manually merge our own binary instead of relying on the arduino-cli auto-merged one. Uncomment to diagnose differences.
468+ # mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.merged.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.auto-merge.bin
462469 mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.elf wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.elf
463470 mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.map wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.map
464471 mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin
@@ -482,6 +489,8 @@ jobs:
482489 board_name=${board_name%_noota}
483490 # Remove 'wippersnapper_' prefix if present
484491 board_name=${board_name#wippersnapper_}
492+ # Remove 'espressif_' prefix if present
493+ board_name=${board_name#espressif_}
485494 content=$(cat ws-boards/boards/${board_name//_/-}/definition.json)
486495 {
487496 echo 'boardJson<<EOF'
@@ -492,14 +501,11 @@ jobs:
492501 run : |
493502 echo ${{ steps.get_board_json.outputs.boardJson }}
494503 echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
495- python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge_bin \
496- --flash_mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
497- --flash_freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
498- --flash_size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
504+ python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin \
505+ --flash-mode keep --flash-freq keep --flash-size keep \
499506 -o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \
500507 ${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \
501508 0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \
502- 0xe000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin \
503509 0x10000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
504510 - name : Zip build artifacts
505511 run : |
@@ -905,11 +911,15 @@ jobs:
905911 arduino-platform :
906912 [
907913 " wippersnapper_feather_esp32c6_debug" ,
914+ " espressif_esp32c5_devkitc_1_n8r4_debug" ,
908915 ]
909916 include :
910917 - offset : " 0x1000"
911918 - offset : " 0x0"
912919 arduino-platform : " wippersnapper_feather_esp32c6_debug"
920+ - offset : " 0x2000"
921+ arduino-platform : " espressif_esp32c5_devkitc_1_n8r4_debug"
922+
913923 steps :
914924 - name : " skip if unwanted"
915925 continue-on-error : true
@@ -983,7 +993,7 @@ jobs:
983993 mv nanopb/pb.h src/nanopb/nanopb.pb.h
984994 - name : Install Dependencies
985995 run : |
986- pip3 install esptool==4.6
996+ pip3 install esptool
987997 - name : build ESP32 platforms
988998 run : python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
989999 - name : Check artifacts
@@ -992,6 +1002,7 @@ jobs:
9921002 - name : Rename build artifacts to reflect the platform name
9931003 run : |
9941004 mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
1005+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.merged.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.auto-merge.bin
9951006 mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.elf wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.elf
9961007 mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.map wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.map
9971008 mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin
@@ -1017,6 +1028,8 @@ jobs:
10171028 board_name=${board_name%_debug}
10181029 # Remove 'wippersnapper_' prefix if present
10191030 board_name=${board_name#wippersnapper_}
1031+ # Remove 'espressif_' prefix if present
1032+ board_name=${board_name#espressif_}
10201033 content=$(cat ws-boards/boards/${board_name//_/-}/definition.json)
10211034 {
10221035 echo 'boardJson<<EOF'
@@ -1027,14 +1040,11 @@ jobs:
10271040 run : |
10281041 echo ${{ steps.get_board_json.outputs.boardJson }}
10291042 echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
1030- python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge_bin \
1031- --flash_mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
1032- --flash_freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
1033- --flash_size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
1043+ python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin \
1044+ --flash-mode keep --flash-freq keep --flash-size keep \
10341045 -o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \
10351046 ${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \
10361047 0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \
1037- 0xe000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin \
10381048 0x10000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
10391049 - name : Zip build artifacts
10401050 run : |
0 commit comments