@@ -223,7 +223,7 @@ jobs:
223
223
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin
224
224
225
225
build-esp32 :
226
- name : Build WipperSnapper ESP32, ESP32-C3
226
+ name : Build WipperSnapper ESP32, ESP32-Cx
227
227
runs-on : ubuntu-latest
228
228
strategy :
229
229
fail-fast : false
@@ -235,11 +235,14 @@ jobs:
235
235
" feather_esp32_v2" ,
236
236
" itsybitsy_esp32" ,
237
237
" wippersnapper_qtpy_esp32c3" ,
238
+ " wippersnapper_feather_esp32c6" ,
238
239
]
239
240
include :
240
241
- offset : " 0x1000"
241
242
- offset : " 0x0"
242
243
arduino-platform : " wippersnapper_qtpy_esp32c3"
244
+ - offset : " 0x0"
245
+ arduino-platform : " wippersnapper_feather_esp32c6"
243
246
steps :
244
247
- uses : actions/setup-python@v4
245
248
with :
@@ -610,6 +613,119 @@ jobs:
610
613
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2
611
614
wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin
612
615
616
+ build-esp32-dev :
617
+ name : Build WipperSnapper ESP32/Cx DEV BUILDS
618
+ runs-on : ubuntu-latest
619
+ strategy :
620
+ fail-fast : false
621
+ matrix :
622
+ arduino-platform :
623
+ [
624
+ " wippersnapper_feather_esp32c6_debug" ,
625
+ ]
626
+ include :
627
+ - offset : " 0x1000"
628
+ - offset : " 0x0"
629
+ arduino-platform : " wippersnapper_feather_esp32c6_debug"
630
+ steps :
631
+ - uses : actions/setup-python@v4
632
+ with :
633
+ python-version : " 3.x"
634
+ - uses : actions/checkout@v4
635
+ - name : Get WipperSnapper version
636
+ run : |
637
+ git fetch --prune --unshallow --tags
638
+ git describe --dirty --tags
639
+ echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags)
640
+ - uses : actions/checkout@v4
641
+ with :
642
+ repository : adafruit/ci-arduino
643
+ path : ci
644
+ - name : Checkout Board Definitions
645
+ uses : actions/checkout@v4
646
+ with :
647
+ repository : adafruit/Wippersnapper_Boards
648
+ path : ws-boards
649
+ - name : Install CI-Arduino
650
+ run : bash ci/actions_install.sh
651
+ - name : Install extra Arduino libraries
652
+ run : |
653
+ git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
654
+ git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
655
+ - name : Download and install stable Nanopb
656
+ run : |
657
+ # Download and extract nanopb
658
+ wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz
659
+ tar -xf nanopb-0.4.8.tar.gz
660
+ # Copy files to WipperSnapper's src/nanopb directory
661
+ cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb
662
+ mv nanopb/pb.h src/nanopb/nanopb.pb.h
663
+ - name : Install Dependencies
664
+ run : |
665
+ pip3 install esptool
666
+ - name : build ESP32 platforms
667
+ run : python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
668
+ - name : Check artifacts
669
+ run : |
670
+ ls examples/wippersnapper_debug/build/*
671
+ - name : Rename build artifacts to reflect the platform name
672
+ run : |
673
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
674
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.elf wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.elf
675
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.map wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.map
676
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin
677
+ mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.partitions.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin
678
+ - name : Check boot_app0 file existence (esp32 built from core, not-source)
679
+ id : check_files
680
+ uses : andstor/file-existence-action@v2
681
+ with :
682
+ files : " /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin"
683
+ - name : boot_app0 file from arduino-cli core
684
+ if : steps.check_files.outputs.files_exists == 'true'
685
+ run : mv /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin
686
+ - name : boot_app0 file from esp32 source bsp
687
+ if : steps.check_files.outputs.files_exists == 'false'
688
+ run : mv /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin
689
+ - name : Get Board Flash Parameters
690
+ id : get_board_json
691
+ run : |
692
+ board_name=${{ matrix.arduino-platform }}
693
+ # Remove '_noota' suffix if present
694
+ board_name=${board_name%_noota}
695
+ # Remove '_debug' suffix if present
696
+ board_name=${board_name%_debug}
697
+ # Remove 'wippersnapper_' prefix if present
698
+ board_name=${board_name#wippersnapper_}
699
+ content=$(cat ws-boards/boards/${board_name//_/-}/definition.json)
700
+ {
701
+ echo 'boardJson<<EOF'
702
+ echo $content
703
+ echo EOF
704
+ } >> "$GITHUB_OUTPUT"
705
+ - name : Create combined binary using Esptool merge_bin
706
+ run : |
707
+ echo ${{ steps.get_board_json.outputs.boardJson }}
708
+ echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
709
+ python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge_bin \
710
+ --flash_mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
711
+ --flash_freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
712
+ --flash_size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
713
+ -o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \
714
+ ${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \
715
+ 0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \
716
+ 0xe000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin \
717
+ 0x10000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
718
+ - name : Zip build artifacts
719
+ run : |
720
+ zip -r wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.*
721
+ - name : upload build artifacts zip
722
+ uses : actions/upload-artifact@v3
723
+ with :
724
+ name : build-files-dev
725
+ path : |
726
+ wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip
727
+
728
+
613
729
clang_and_doxy :
614
730
runs-on : ubuntu-latest
615
731
needs :
0 commit comments