diff --git a/.github/workflows/build-clang-doxy.yml b/.github/workflows/build-clang-doxy.yml index 00c3db7e6..c9ad2b55d 100644 --- a/.github/workflows/build-clang-doxy.yml +++ b/.github/workflows/build-clang-doxy.yml @@ -152,6 +152,7 @@ jobs: [ "magtag", "metroesp32s2", + "metro_esp32s3", "feather_esp32s2", "feather_esp32s2_tft", "feather_esp32s2_reverse_tft", @@ -241,7 +242,403 @@ jobs: - offset: "0x0" arduino-platform: "wippersnapper_qtpy_esp32c3" steps: - - uses: actions/setup-python@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + - uses: actions/checkout@v4 + - name: Get WipperSnapper version + run: | + git fetch --prune --unshallow --tags + git describe --dirty --tags + echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) + - uses: actions/checkout@v4 + with: + repository: adafruit/ci-arduino + ref: ci-wippersnapper + path: ci + - name: Checkout Board Definitions + uses: actions/checkout@v4 + with: + repository: adafruit/Wippersnapper_Boards + path: ws-boards + - name: Install CI-Arduino + run: bash ci/actions_install.sh + - name: Install extra Arduino libraries + run: | + git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library + git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg + - name: Download and install stable Nanopb + run: | + # Download and extract nanopb + wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz + tar -xf nanopb-0.4.8.tar.gz + # Copy files to WipperSnapper's src/nanopb directory + cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb + mv nanopb/pb.h src/nanopb/nanopb.pb.h + - name: Install Dependencies + run: | + pip install esptool==4.6 + - name: build ESP32 platforms + run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000 + - name: Check artifacts + run: | + ls examples/Wippersnapper_demo/build/* + - name: Rename build artifacts to reflect the platform name + run: | + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.elf wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.elf + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.map wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.map + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin + mv examples/Wippersnapper_demo/build/*/Wippersnapper_demo.ino.partitions.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin + - name: Check boot_app0 file existence (esp32 built from core, not-source) + id: check_files + uses: andstor/file-existence-action@v3 + with: + files: "/home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin" + - name: boot_app0 file from arduino-cli core + if: steps.check_files.outputs.files_exists == 'true' + 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 + - name: boot_app0 file from esp32 source bsp + if: steps.check_files.outputs.files_exists == 'false' + run: mv /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin + - name: Get Board Flash Parameters + id: get_board_json + run: | + board_name=${{ matrix.arduino-platform }} + # Remove '_noota' suffix if present + board_name=${board_name%_noota} + # Remove 'wippersnapper_' prefix if present + board_name=${board_name#wippersnapper_} + content=$(cat ws-boards/boards/${board_name//_/-}/definition.json) + { + echo 'boardJson<> "$GITHUB_OUTPUT" + - name: Create combined binary using Esptool merge_bin + run: | + echo ${{ steps.get_board_json.outputs.boardJson }} + echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }} + python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge_bin \ + --flash_mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \ + --flash_freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \ + --flash_size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \ + -o wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.combined.bin \ + ${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin \ + 0x8000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.partitions.bin \ + 0xe000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.boot_app0.bin \ + 0x10000 wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin + - name: Zip build artifacts + run: | + zip -r wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.* + - name: upload build artifacts zip + uses: actions/upload-artifact@v4 + with: + name: build-files-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }} + path: | + wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip + + build-samd: + name: 🏗️SAMD + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + arduino-platform: + [ + "pyportal_tinyusb", + "pyportal_titano_tinyusb", + "metro_m4_airliftlite_tinyusb", + ] + steps: + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + - uses: actions/checkout@v4 + - name: Get WipperSnapper version + run: | + git fetch --prune --unshallow --tags + git describe --dirty --tags + echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) + - uses: actions/checkout@v4 + with: + repository: tyeth/ci-arduino + ref: WS_ARDUINO_598-preprocessor-script-for-printing-the-library-versions-to-boot_outtxt + path: ci + - name: Install CI-Arduino + run: bash ci/actions_install.sh + # manually install Adafruit WiFiNINA library fork + - name: Install extra Arduino libraries + run: | + git clone --quiet https://github.com/adafruit/WiFiNINA.git /home/runner/Arduino/libraries/WiFiNINA + git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library + git clone --quiet https://github.com/PaulStoffregen/OneWire.git /home/runner/Arduino/libraries/OneWire + git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino + - name: Download and install stable Nanopb + run: | + # Download and extract nanopb + wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz + tar -xf nanopb-0.4.8.tar.gz + # Copy files to WipperSnapper's src/nanopb directory + cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb + mv nanopb/pb.h src/nanopb/nanopb.pb.h + - name: build SAMD platforms + run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000 --include_print_dependencies_header ./src/print_dependencies.h + - name: Rename build artifacts to reflect the platform name + run: | + mv examples/*/build/*/Wippersnapper_demo.ino.uf2 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 + mv examples/*/build/*/Wippersnapper_demo.ino.hex wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.hex + - name: upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: build-files-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }} + path: | + wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 + wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.hex + + build-rp2040: + name: 🏗️RP2040 + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + arduino-platform: ["picow_rp2040_tinyusb"] + steps: + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + - uses: actions/checkout@v4 + - name: Get WipperSnapper version + run: | + git fetch --prune --unshallow --tags + git describe --dirty --tags + echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) + - uses: actions/checkout@v4 + with: + repository: tyeth/ci-arduino + ref: WS_ARDUINO_598-preprocessor-script-for-printing-the-library-versions-to-boot_outtxt + path: ci + - name: Install CI-Arduino + run: bash ci/actions_install.sh + # manually install OneWireNG/TempControlLib for OneWireNg (RP2040 Supported OneWire w/backwards compat.) + - name: Install extra Arduino libraries + run: | + git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg + git clone --quiet https://github.com/pstolarz/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library + git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino + - name: Download and install stable Nanopb + run: | + # Download and extract nanopb + wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz + tar -xf nanopb-0.4.8.tar.gz + # Copy files to WipperSnapper's src/nanopb directory + cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb + mv nanopb/pb.h src/nanopb/nanopb.pb.h + - name: build RP2040 platforms + run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000 --include_print_dependencies_header ./src/print_dependencies.h + - name: Rename build artifacts to reflect the platform name + run: | + mv examples/*/build/*/Wippersnapper_demo.ino.uf2 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 + - name: upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: build-files-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }} + path: | + wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 + + # NOTE: This does NOT release artifacts, it only builds + build-samd-non-fs: + name: 🏗️SAMD🚫⧾🔱 + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + arduino-platform: ["mkrwifi1010", "nano_33_iot"] + steps: + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + - uses: actions/checkout@v4 + - name: Get WipperSnapper version + run: | + git fetch --prune --unshallow --tags + git describe --dirty --tags + echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) + - uses: actions/checkout@v4 + with: + repository: tyeth/ci-arduino + ref: WS_ARDUINO_598-preprocessor-script-for-printing-the-library-versions-to-boot_outtxt + path: ci + - name: Install CI-Arduino + run: bash ci/actions_install.sh + - name: Install extra Arduino libraries + run: | + git clone --quiet https://github.com/arduino-libraries/WiFiNINA.git /home/runner/Arduino/libraries/WiFiNINA + git clone --quiet https://github.com/arduino-libraries/Servo.git /home/runner/Arduino/libraries/Servo + git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library + git clone --quiet https://github.com/PaulStoffregen/OneWire.git /home/runner/Arduino/libraries/OneWire + - name: Download and install stable Nanopb + run: | + # Download and extract nanopb + wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz + tar -xf nanopb-0.4.8.tar.gz + # Copy files to WipperSnapper's src/nanopb directory + cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb + mv nanopb/pb.h src/nanopb/nanopb.pb.h + - name: build SAMD (no-FS) platforms + run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000 --include_print_dependencies_header ./src/print_dependencies.h + + build-esp8266: + name: 🏗️ESP8266 + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + arduino-platform: ["feather_esp8266"] + steps: + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + - uses: actions/checkout@v4 + - name: Get WipperSnapper version + run: | + git fetch --prune --unshallow --tags + git describe --dirty --tags + echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) + - uses: actions/checkout@v4 + with: + repository: tyeth/ci-arduino + ref: WS_ARDUINO_598-preprocessor-script-for-printing-the-library-versions-to-boot_outtxt + path: ci + - name: Install CI-Arduino + run: bash ci/actions_install.sh + - name: Install extra Arduino library + run: | + git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library + git clone --quiet https://github.com/PaulStoffregen/OneWire.git /home/runner/Arduino/libraries/OneWire + - name: Download and install stable Nanopb + run: | + # Download and extract nanopb + wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz + tar -xf nanopb-0.4.8.tar.gz + # Copy files to WipperSnapper's src/nanopb directory + cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb + mv nanopb/pb.h src/nanopb/nanopb.pb.h + - name: build ESP8266 platforms + run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000 --include_print_dependencies_header ./src/print_dependencies.h + - name: list build artifacts + run: | + ls + ls examples/* + - name: Rename build artifacts to reflect the platform name + run: | + mv examples/*/build/*/Wippersnapper_demo.ino.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin + mv examples/*/build/*/Wippersnapper_demo.ino.elf wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.elf + mv examples/*/build/*/Wippersnapper_demo.ino.map wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.map + - name: Zip build artifacts + run: | + zip -r wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.* + - name: upload build artifacts zip + uses: actions/upload-artifact@v4 + with: + name: build-files-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }} + path: | + wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.zip + + build-esp32sx-dev: + name: 🏗️ESP32-Sx(DEV) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + arduino-platform: + [ + "feather_esp32s2_debug", + "feather_esp32s2_tft_debug", + "feather_esp32s3_debug", + "feather_esp32s3_4mbflash_2mbpsram_debug", + "feather_esp32s3_tft_debug", + "wippersnapper_feather_esp32s3_reverse_tft_debug", + "metroesp32s2_debug", + "metro_esp32s3_debug", + ] + steps: + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + - uses: actions/checkout@v4 + - name: Get WipperSnapper version + run: | + git fetch --prune --unshallow --tags + git describe --dirty --tags + echo >>$GITHUB_ENV WS_VERSION=$(git describe --dirty --tags) + - uses: actions/checkout@v4 + with: + repository: tyeth/ci-arduino + ref: WS_ARDUINO_598-preprocessor-script-for-printing-the-library-versions-to-boot_outtxt + path: ci + - name: Install CI-Arduino + run: bash ci/actions_install.sh + - name: Install extra Arduino libraries + run: | + git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library + git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg + git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library + git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341 + git clone --quiet https://github.com/adafruit/Adafruit_STMPE610.git /home/runner/Arduino/libraries/Adafruit_STMPE610 + git clone --quiet https://github.com/adafruit/Adafruit-ST7735-Library.git /home/runner/Arduino/libraries/Adafruit-ST7735-Library + git clone --quiet https://github.com/adafruit/Adafruit_TouchScreen.git /home/runner/Arduino/libraries/Adafruit_TouchScreen + git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino + git clone --depth 1 --branch wippersnapper https://github.com/brentru/lvgl.git /home/runner/Arduino/libraries/lvgl + git clone --depth 1 --branch development https://github.com/brentru/Adafruit_LvGL_Glue.git /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library + - name: Download and install stable Nanopb + run: | + # Download and extract nanopb + wget https://jpa.kapsi.fi/nanopb/download/nanopb-0.4.8.tar.gz + tar -xf nanopb-0.4.8.tar.gz + # Copy files to WipperSnapper's src/nanopb directory + cp nanopb/pb_common.* nanopb/pb_encode.* nanopb/pb_decode.* src/nanopb + mv nanopb/pb.h src/nanopb/nanopb.pb.h + - name: List all files in Adafruit_LittlevGL_Glue_Library folder + run: | + ls /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library + - name: Copy lv_conf.h file in Adafruit_LittlevGL_Glue_Library to the arduino library folder + run: | + cp /home/runner/Arduino/libraries/Adafruit_LittlevGL_Glue_Library/lv_conf.h /home/runner/Arduino/libraries + - name: Build for ESP32-SX + run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000 --include_print_dependencies_header ./src/print_dependencies.h + - name: list + run: | + ls + ls -R examples/*/build/ + - name: Rename build artifacts to reflect the platform name + run: | + mv examples/*/build/*/wippersnapper_debug.ino.uf2 wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 + mv examples/*/build/*/wippersnapper_debug.ino.bin wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin + - name: upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: build-files-dev-${{ matrix.arduino-platform }}.${{ env.WS_VERSION }} + path: | + wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.uf2 + wippersnapper.${{ matrix.arduino-platform }}.${{ env.WS_VERSION }}.bin + + build-esp32-dev: + name: 🏗️ESP32/Cx(DEV) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + arduino-platform: + [ + "wippersnapper_feather_esp32c6_debug", + ] + include: + - offset: "0x1000" + - offset: "0x0" + arduino-platform: "wippersnapper_feather_esp32c6_debug" + steps: + - uses: actions/setup-python@v5 with: python-version: "3.x" - uses: actions/checkout@v4 diff --git a/examples/Wippersnapper_NoFS/.metro_esp32s3.test.skip b/examples/Wippersnapper_NoFS/.metro_esp32s3.test.skip new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/examples/Wippersnapper_NoFS/.metro_esp32s3.test.skip @@ -0,0 +1 @@ + diff --git a/examples/Wippersnapper_NoFS/.metro_esp32s3_debug.test.skip b/examples/Wippersnapper_NoFS/.metro_esp32s3_debug.test.skip new file mode 100644 index 000000000..139597f9c --- /dev/null +++ b/examples/Wippersnapper_NoFS/.metro_esp32s3_debug.test.skip @@ -0,0 +1,2 @@ + + diff --git a/examples/Wippersnapper_NoFS/.metroesp32s2_debug.test.skip b/examples/Wippersnapper_NoFS/.metroesp32s2_debug.test.skip new file mode 100644 index 000000000..139597f9c --- /dev/null +++ b/examples/Wippersnapper_NoFS/.metroesp32s2_debug.test.skip @@ -0,0 +1,2 @@ + + diff --git a/examples/Wippersnapper_demo/.metro_esp32s3.generate b/examples/Wippersnapper_demo/.metro_esp32s3.generate new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/examples/Wippersnapper_demo/.metro_esp32s3.generate @@ -0,0 +1 @@ + diff --git a/examples/Wippersnapper_demo/.metro_esp32s3_debug.test.skip b/examples/Wippersnapper_demo/.metro_esp32s3_debug.test.skip new file mode 100644 index 000000000..139597f9c --- /dev/null +++ b/examples/Wippersnapper_demo/.metro_esp32s3_debug.test.skip @@ -0,0 +1,2 @@ + + diff --git a/examples/Wippersnapper_demo/.metroesp32s2_debug.test.skip b/examples/Wippersnapper_demo/.metroesp32s2_debug.test.skip new file mode 100644 index 000000000..139597f9c --- /dev/null +++ b/examples/Wippersnapper_demo/.metroesp32s2_debug.test.skip @@ -0,0 +1,2 @@ + + diff --git a/examples/wippersnapper_debug/.metro_esp32s3.test.skip b/examples/wippersnapper_debug/.metro_esp32s3.test.skip new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/examples/wippersnapper_debug/.metro_esp32s3.test.skip @@ -0,0 +1 @@ + diff --git a/examples/wippersnapper_debug/.metro_esp32s3_debug.generate b/examples/wippersnapper_debug/.metro_esp32s3_debug.generate new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/examples/wippersnapper_debug/.metro_esp32s3_debug.generate @@ -0,0 +1 @@ + diff --git a/examples/wippersnapper_debug/.metroesp32s2_debug.generate b/examples/wippersnapper_debug/.metroesp32s2_debug.generate new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/examples/wippersnapper_debug/.metroesp32s2_debug.generate @@ -0,0 +1 @@ + diff --git a/platformio.ini b/platformio.ini index f8822295e..eecf21c5b 100644 --- a/platformio.ini +++ b/platformio.ini @@ -242,6 +242,53 @@ build_flags = -DARDUINO_METRO_ESP32S2 -DBOARD_HAS_PSRAM board_build.partitions = tinyuf2-partitions-4MB.csv extra_scripts = pre:rename_usb_config.py +; Adafruit Metro ESP32-S3 +[env:adafruit_metro_esp32s3] +extends = common:esp32 +board = adafruit_metro_esp32s3 +build_flags = -DARDUINO_METRO_ESP32S3 -DBOARD_HAS_PSRAM +;set partition to tinyuf2-partitions-16MB.csv as of idf 5.1 +board_build.partitions = tinyuf2-partitions-16MB.csv +extra_scripts = pre:rename_usb_config.py + +; Adafruit Funhouse ESP32-S2 +[env:adafruit_funhouse_esp32s2] +extends = common:esp32 +board = adafruit_funhouse_esp32s2 +build_flags = -DARDUINO_FUNHOUSE -DBOARD_HAS_PSRAM +;set partition to tinyuf2-partitions-4MB.csv as of idf 5.1 +board_build.partitions = tinyuf2-partitions-4MB-noota.csv +extra_scripts = pre:rename_usb_config.py + +; Adafruit Funhouse ESP32-S2 +[env:adafruit_funhouse_esp32s2_debug] +extends = common:esp32 +board = adafruit_funhouse_esp32s2 +;lib_extra_dirs = +build_type = debug +build_flags = + -DARDUINO_FUNHOUSE + -DBOARD_HAS_PSRAM + -DCFG_TUSB_DEBUG=1 + -DDEBUG=1 + -DESP_LOG_LEVEL=ESP_LOG_VERBOSE + -DARDUINO_CORE_DEBUG_LEVEL=5 + -DCORE_DEBUG_LEVEL=5 + -DARDUHAL_LOG_LEVEL=5 + ; USB Configuration + ; Uncomment if USB CDC on boot is needed + ; -DARDUINO_USB_CDC_ON_BOOT=1 + ; -DARDUINO_USB_MODE=0 ; 0 for CDC + TinyUSB, 1 for Hardware CDC + JTAG + ; LVGL Debugging + -DLV_USE_DEBUG=1 + -DLV_USE_LOG=1 + -DLV_LOG_PRINTF=1 + -DLV_LOG_COLOR=1 + -DLV_LOG_LEVEL=LV_LOG_LEVEL_TRACE +;set partition to tinyuf2-partitions-4MB.csv as of idf 5.1 +board_build.partitions = tinyuf2-partitions-4MB-noota.csv +extra_scripts = pre:rename_usb_config.py + ; Adafruit QT Py ESP32 Pico [env:adafruit_qtpy_esp32] extends = common:esp32 diff --git a/src/Wippersnapper_Boards.h b/src/Wippersnapper_Boards.h index 947b983ca..d2fbd7287 100644 --- a/src/Wippersnapper_Boards.h +++ b/src/Wippersnapper_Boards.h @@ -51,6 +51,13 @@ #define STATUS_NEOPIXEL_PIN 45 #define STATUS_NEOPIXEL_NUM 1 #define USE_PSRAM ///< Board has PSRAM, use it for dynamic memory allocation +#elif defined(ARDUINO_METRO_ESP32S3) +#define BOARD_ID "metroesp32s3" +#define USE_TINYUSB +#define USE_STATUS_NEOPIXEL +#define STATUS_NEOPIXEL_PIN 46 +#define STATUS_NEOPIXEL_NUM 1 +#define USE_PSRAM ///< Board has PSRAM, use it for dynamic memory allocation #elif defined(ARDUINO_MAGTAG29_ESP32S2) #define BOARD_ID "magtag" #define USE_TINYUSB diff --git a/src/provisioning/tinyusb/Wippersnapper_FS.cpp b/src/provisioning/tinyusb/Wippersnapper_FS.cpp index fa9d45c42..972f63d12 100644 --- a/src/provisioning/tinyusb/Wippersnapper_FS.cpp +++ b/src/provisioning/tinyusb/Wippersnapper_FS.cpp @@ -13,7 +13,7 @@ * */ #if defined(ARDUINO_MAGTAG29_ESP32S2) || defined(ARDUINO_METRO_ESP32S2) || \ - defined(ARDUINO_FUNHOUSE_ESP32S2) || \ + defined(ARDUINO_METRO_ESP32S3) || defined(ARDUINO_FUNHOUSE_ESP32S2) || \ defined(ADAFRUIT_PYPORTAL_M4_TITANO) || \ defined(ADAFRUIT_METRO_M4_AIRLIFT_LITE) || defined(ADAFRUIT_PYPORTAL) || \ defined(ARDUINO_ADAFRUIT_FEATHER_ESP32S2) || \