Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 28 additions & 17 deletions .github/workflows/build-clang-doxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
- uses: actions/checkout@v4
with:
repository: adafruit/ci-arduino
ref: ci-wippersnapper
ref: ci-wippersnapper-esp333
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we are going to use this branch, across this ci, shouldn't we merge the esp333 work into ci-wippersnapper and use that instead?

path: ci
- name: Checkout Board Definitions
uses: actions/checkout@v4
Expand Down Expand Up @@ -145,6 +145,8 @@ jobs:
board_name=${board_name%_noota}
# Remove 'wippersnapper_' prefix if present
board_name=${board_name#wippersnapper_}
# Remove 'espressif_' prefix if present
board_name=${board_name#espressif_}
content=$(cat ws-boards/boards/${board_name//_/-}/definition.json)
{
echo 'boardJson<<EOF'
Expand Down Expand Up @@ -289,7 +291,7 @@ jobs:
- uses: actions/checkout@v4
with:
repository: adafruit/ci-arduino
ref: ci-wippersnapper
ref: ci-wippersnapper-esp333
path: ci
- name: Install CI-Arduino
run: bash ci/actions_install.sh
Expand Down Expand Up @@ -367,6 +369,7 @@ jobs:
"itsybitsy_esp32",
"dfrobot_beetle_esp32c3",
"wippersnapper_qtpy_esp32c3",
"espressif_esp32c5_devkitc_1_n8r4",
"wippersnapper_feather_esp32c6"
]
include:
Expand All @@ -375,6 +378,8 @@ jobs:
arduino-platform: "dfrobot_beetle_esp32c3"
- offset: "0x0"
arduino-platform: "wippersnapper_qtpy_esp32c3"
- offset: "0x2000"
arduino-platform: "espressif_esp32c5_devkitc_1_n8r4"
- offset: "0x0"
arduino-platform: "wippersnapper_feather_esp32c6"
steps:
Expand Down Expand Up @@ -406,13 +411,14 @@ jobs:
- uses: actions/checkout@v4
with:
repository: adafruit/ci-arduino
ref: ci-wippersnapper
ref: ci-wippersnapper-esp333
path: ci
- name: Checkout Board Definitions
uses: actions/checkout@v4
with:
repository: adafruit/Wippersnapper_Boards
path: ws-boards
ref: add-c5devkit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this ref be removed after the boards repo PR is merged?

- name: Install CI-Arduino
run: bash ci/actions_install.sh
- name: Install extra Arduino libraries
Expand Down Expand Up @@ -450,7 +456,7 @@ jobs:
mv nanopb/pb.h src/nanopb/nanopb.pb.h
- name: Install Dependencies
run: |
pip install esptool==4.6
pip install esptool
- name: build ESP32 platforms
run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
- name: Check artifacts
Expand All @@ -459,6 +465,7 @@ jobs:
- 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.merged.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.auto-merge.bin
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If commenting out, please add another commented line explaining why you are commenting this out

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
Expand All @@ -482,6 +489,8 @@ jobs:
board_name=${board_name%_noota}
# Remove 'wippersnapper_' prefix if present
board_name=${board_name#wippersnapper_}
# Remove 'espressif_' prefix if present
board_name=${board_name#espressif_}
content=$(cat ws-boards/boards/${board_name//_/-}/definition.json)
{
echo 'boardJson<<EOF'
Expand All @@ -492,14 +501,11 @@ jobs:
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}} \
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin \
--flash-mode keep --flash-freq keep --flash-size keep \
-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: |
Expand Down Expand Up @@ -835,7 +841,7 @@ jobs:
- uses: actions/checkout@v4
with:
repository: adafruit/ci-arduino
ref: ci-wippersnapper
ref: ci-wippersnapper-esp333
path: ci
- name: Install CI-Arduino
run: bash ci/actions_install.sh
Expand Down Expand Up @@ -905,11 +911,15 @@ jobs:
arduino-platform:
[
"wippersnapper_feather_esp32c6_debug",
"espressif_esp32c5_devkitc_1_n8r4_debug",
]
include:
- offset: "0x1000"
- offset: "0x0"
arduino-platform: "wippersnapper_feather_esp32c6_debug"
- offset: "0x2000"
arduino-platform: "espressif_esp32c5_devkitc_1_n8r4_debug"

steps:
- name: "skip if unwanted"
continue-on-error: true
Expand Down Expand Up @@ -939,13 +949,14 @@ jobs:
- uses: actions/checkout@v4
with:
repository: adafruit/ci-arduino
ref: ci-wippersnapper
ref: ci-wippersnapper-esp333
path: ci
- name: Checkout Board Definitions
uses: actions/checkout@v4
with:
repository: adafruit/Wippersnapper_Boards
path: ws-boards
ref: add-c5devkit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure to change this when the ws-boards branch is merged please!

- name: Install CI-Arduino
run: bash ci/actions_install.sh
- name: Install extra Arduino libraries
Expand Down Expand Up @@ -983,7 +994,7 @@ jobs:
mv nanopb/pb.h src/nanopb/nanopb.pb.h
- name: Install Dependencies
run: |
pip3 install esptool==4.6
pip3 install esptool
- name: build ESP32 platforms
run: python3 ci/build_platform.py ${{ matrix.arduino-platform }} --build_timeout 48000
- name: Check artifacts
Expand All @@ -992,6 +1003,7 @@ jobs:
- name: Rename build artifacts to reflect the platform name
run: |
mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bin
mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.merged.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.auto-merge.bin
mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.elf wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.elf
mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.map wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.map
mv examples/wippersnapper_debug/build/*/wippersnapper_debug.ino.bootloader.bin wippersnapper.${{ matrix.arduino-platform }}.littlefs.${{ env.WS_VERSION }}.bootloader.bin
Expand All @@ -1017,6 +1029,8 @@ jobs:
board_name=${board_name%_debug}
# Remove 'wippersnapper_' prefix if present
board_name=${board_name#wippersnapper_}
# Remove 'espressif_' prefix if present
board_name=${board_name#espressif_}
content=$(cat ws-boards/boards/${board_name//_/-}/definition.json)
{
echo 'boardJson<<EOF'
Expand All @@ -1027,14 +1041,11 @@ jobs:
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}} \
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin \
--flash-mode keep --flash-freq keep --flash-size keep \
-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: |
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ You will need a **free** [Adafruit IO](https://io.adafruit.com) account to use W

|Platform| MCU(s) |
|--|--|
|[ESP32-x](https://github.com/espressif/arduino-esp32)| ESP32, ESP32-Sx, ESP32-C3, ESP32-C6 |
|[ESP32-x](https://github.com/espressif/arduino-esp32)| ESP32, ESP32-Sx, ESP32-C3, ESP32-C5, ESP32-C6 |
|[ESP8266](https://github.com/esp8266/Arduino)| ESP8266 |
|[RP2040](https://github.com/earlephilhower/arduino-pico)| RP2040 MCU w/WiFi (i.e: Pico W) |
|[RP2350](https://github.com/earlephilhower/arduino-pico)| RP2350 MCU w/WiFi (i.e: Pico 2W) |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

77 changes: 64 additions & 13 deletions platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -101,18 +101,16 @@ lib_deps =

; Common build environment for ESP32 platform
[common:esp32]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.13/platform-espressif32.zip
;;Funhouse uses 3.0.7 of arduino-esp32 for now:
; platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.07/platform-espressif32.zip
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.33/platform-espressif32.zip
; This is needed for occasional new features and bug fixes
; platform = https://github.com/pioarduino/platform-espressif32#develop
lib_ignore = WiFiNINA, WiFi101, OneWire
lib_ignore = WiFiNINA, WiFiNINA_-_Adafruit_Fork, WiFi101, OneWire
monitor_filters = esp32_exception_decoder, time

; Common build environment for ESP8266 platform
[common:esp8266]
platform = espressif8266
lib_ignore = WiFiNINA, WiFi101, Adafruit TinyUSB Library, OneWire
lib_ignore = WiFiNINA, WiFiNINA_-_Adafruit_Fork, WiFi101, Adafruit TinyUSB Library, OneWire

; Common build environment for Atmel/Microchip SAMDx platform
[common:atsamd]
Expand All @@ -132,8 +130,10 @@ platform_packages = framework-arduinopico@https://github.com/earlephilhower/ardu
framework = arduino
board_build.core = earlephilhower
board_build.filesystem_size = 0.5m
lib_ignore = WiFiNINA, WiFi101, Adafruit Zero DMA Library, OneWire
lib_compat_mode = soft ; can be stricter once pio detects SleepyDog on RP2040
build_flags = -DUSE_TINYUSB
; Once https://github.com/platformio/platformio-core > 6.1.11 these can be removed
lib_ignore = WiFiNINA, WiFiNINA_-_Adafruit_Fork, WiFi101, Adafruit Zero DMA Library, OneWire
lib_compat_mode = soft ; can be strict once pio detects SleepyDog on RP2040


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Individual Board Definitions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Expand All @@ -148,7 +148,6 @@ build_flags = -DARDUINO_FEATHER_ESP32
board_build.filesystem = littlefs
board_build.partitions = min_spiffs.csv


; Adafruit ESP32 Feather V2
[env:featheresp32v2]
extends = common:esp32
Expand All @@ -175,6 +174,32 @@ build_flags =
board_build.filesystem = littlefs
board_build.partitions = min_spiffs.csv

; Espressif ESP32-C5 8MB FLASH 2MB PSRAM ESP32-C5-DevKitC-1
[env:espressif_esp32-c5-devkitc-1-n8r4]
extends = common:esp32
board = esp32-c5-devkitc1-n8r4
build_type = debug
; debug_tool = esp-builtin
; upload_protocol = esp-builtin
; debug_init_break = tbreak setup
board_build.f_flash = 80000000L
board_build.flash_size = 8MB
board_build.flash_mode = qio
board_build.boot_mode = dio
board_build.f_cpu = 240000000L
build_flags =
-DWS_ESPRESSIF_ESP32C5_DEVKITC_1_N8R4
-DARDUINO_ESP32C5_DEV
-DDEBUG=1
-DARDUINO_USB_MODE=1
-DARDUINO_USB_CDC_ON_BOOT=1
-DESP_LOG_LEVEL=5
-DARDUINO_LOG_LEVEL=5
-DCORE_DEBUG_LEVEL=5
-DBOARD_HAS_PSRAM
board_build.filesystem = littlefs
board_build.partitions = min_spiffs.csv

; Espressif ESP32-C6 4MB NO PSRAM esp32-c6-devkitm-1
[env:espressif_esp32-c6-devkitm-1]
extends = common:esp32
Expand All @@ -183,7 +208,6 @@ build_type = debug
build_flags =
-DARDUINO_ESPRESSIF_ESP32C6_DEVKITM_1
-DARDUINO_ADAFRUIT_FEATHER_ESP32C6
-DNDEBUG=1
-DDEBUG=1
-DESP_LOG_LEVEL=5
-DARDUINO_CORE_DEBUG_LEVEL=5
Expand All @@ -194,6 +218,8 @@ build_flags =
board_build.filesystem = littlefs
board_build.partitions = min_spiffs.csv



; Adafruit Feather ESP32-S2
[env:featheresp32s2]
extends = common:esp32
Expand Down Expand Up @@ -297,6 +323,35 @@ build_flags = -DARDUINO_FUNHOUSE -DBOARD_HAS_PSRAM
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
Expand Down Expand Up @@ -374,7 +429,6 @@ build_flags =
-DARDUINO_ADAFRUIT_QTPY_ESP32S3_N4R2
-DBOARD_HAS_PSRAM
-DCFG_TUSB_DEBUG=1
-DNDEBUG=1
-DDEBUG=1
-DESP_LOG_LEVEL=5
-DARDUINO_CORE_DEBUG_LEVEL=5
Expand Down Expand Up @@ -495,7 +549,6 @@ build_flags = -DUSE_TINYUSB
-DARDUINO_USB_CDC_ON_BOOT=1
-DCFG_TUSB_DEBUG=1
-DDEBUG=1
-DNDEBUG=1
-DUSE_AIRLIFT=1
-g
; -DUSBCON
Expand Down Expand Up @@ -563,7 +616,6 @@ build_flags =
-DDEBUG_RP2040_SPI
-DDEBUG_RP2040_CORE
-DDEBUG_RP2040_WIFI
-DNDEBUG
-DLWIP_DEBUG=1
-DDEBUG_RP2040_PORT=Serial1
-DDEBUG_RP2040_UART_1
Expand Down Expand Up @@ -619,7 +671,6 @@ build_flags =
; -DDEBUG_RP2040_SPI
; -DDEBUG_RP2040_CORE
; -DDEBUG_RP2040_WIFI
; -DNDEBUG
; -DLWIP_DEBUG
; -DDEBUG_RP2040_PORT=Serial1
; -DDEBUG_RP2040_UART_1
Expand Down
10 changes: 10 additions & 0 deletions src/Wippersnapper_Boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,16 @@
#define USE_STATUS_NEOPIXEL
#define STATUS_NEOPIXEL_PIN PIN_NEOPIXEL
#define STATUS_NEOPIXEL_NUM 1
#elif defined(ARDUINO_ESP32C5_DEV)
#define BOARD_ID "esp32c5-devkitc-1-n8r4"
#define USE_LITTLEFS
#define USE_STATUS_NEOPIXEL
#define STATUS_NEOPIXEL_PIN PIN_RGB_LED
// PIN_RGB_LED = 27, or GPIO_NUM+27 if using RGBwrite()
#define STATUS_NEOPIXEL_NUM 1
#ifdef BOARD_HAS_PSRAM
#define USE_PSRAM ///< Board has PSRAM, use it for dynamic memory allocation
#endif
#elif defined(ARDUINO_ADAFRUIT_FEATHER_ESP32_V2)
#define BOARD_ID "feather-esp32-v2"
#define USE_LITTLEFS
Expand Down
2 changes: 1 addition & 1 deletion src/provisioning/littlefs/WipperSnapper_LittleFS.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
defined(ARDUINO_SPARKLEMOTIONMINI_ESP32) || \
defined(ARDUINO_SPARKLEMOTIONSTICK_ESP32) || \
defined(ARDUINO_ADAFRUIT_QTPY_ESP32C3) || \
defined(ARDUINO_ADAFRUIT_FEATHER_ESP32C6)
defined(ARDUINO_ADAFRUIT_FEATHER_ESP32C6) || defined(ARDUINO_ESP32C5_DEV)
#include "WipperSnapper_LittleFS.h"

/**************************************************************************/
Expand Down
Loading