Skip to content

Commit 2e97574

Browse files
committed
Merge branch 'main' into ina238
2 parents 51dcd25 + 10c9ef1 commit 2e97574

File tree

5 files changed

+79
-45
lines changed

5 files changed

+79
-45
lines changed

.github/workflows/build-clang-doxy.yml

Lines changed: 72 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -25,36 +25,21 @@ jobs:
2525
matrix:
2626
arduino-platform:
2727
[
28+
"feather_esp32s2",
29+
"feather_esp32s2_reverse_tft",
30+
"feather_esp32s2_tft",
2831
"funhouse_noota",
29-
"esp32s3_devkitc_1_n8",
3032
"magtag",
3133
"metroesp32s2",
32-
"feather_esp32s2",
33-
"feather_esp32s2_tft",
34-
"feather_esp32s2_reverse_tft",
3534
"qtpy_esp32s2",
36-
"feather_esp32s3_reverse_tft",
37-
"qtpy_esp32s3_n4r2",
35+
"esp32s3_devkitc_1_n8",
3836
"feather_esp32s3_4mbflash_2mbpsram",
37+
"feather_esp32s3_reverse_tft",
3938
"feather_esp32s3_tft",
39+
"qtpy_esp32s3_n4r2",
4040
"xiao_esp32s3",
4141
]
42-
include:
43-
- offset: "0x0"
44-
- offset: "0x1000"
45-
arduino-platform: "funhouse_noota"
46-
- offset: "0x1000"
47-
arduino-platform: "magtag"
48-
- offset: "0x1000"
49-
arduino-platform: "metroesp32s2"
50-
- offset: "0x1000"
51-
arduino-platform: "feather_esp32s2"
52-
- offset: "0x1000"
53-
arduino-platform: "feather_esp32s2_tft"
54-
- offset: "0x1000"
55-
arduino-platform: "feather_esp32s2_reverse_tft"
56-
- offset: "0x1000"
57-
arduino-platform: "qtpy_esp32s2"
42+
5843
steps:
5944
- name: "skip if unwanted"
6045
continue-on-error: true
@@ -83,12 +68,13 @@ jobs:
8368
with:
8469
repository: adafruit/Wippersnapper_Boards
8570
path: ws-boards
71+
ref: migrate-4mb-to-esptool
8672
- name: Install CI-Arduino
8773
run: bash ci/actions_install.sh
8874
- name: Install extra Arduino libraries
8975
run: |
9076
git clone --quiet --branch 2.2.54 https://github.com/adafruit/SdFat.git /home/runner/Arduino/libraries/SdFat
91-
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
77+
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
9278
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
9379
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
9480
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
@@ -163,6 +149,58 @@ jobs:
163149
echo $content
164150
echo EOF
165151
} >> "$GITHUB_OUTPUT"
152+
- name: fetch tinyuf2 combined.bin
153+
run: |
154+
BOARD_NAME="${{fromJson(steps.get_board_json.outputs.boardJson).bootloaderBoardName}}"
155+
set +e
156+
for attempt in 1 2 3; do
157+
echo "Attempt $attempt: Fetching tinyuf2 release info for board $BOARD_NAME"
158+
API_RESPONSE=$(curl --silent --fail https://api.github.com/repos/adafruit/tinyuf2/releases/latest)
159+
if [ $? -ne 0 ]; then
160+
echo "Attempt $attempt: curl failed to fetch release info."
161+
if [ "$attempt" -eq 3 ]; then exit 1; else sleep $((60 + RANDOM % 40)); continue; fi
162+
fi
163+
DOWNLOAD_URL=$(echo "$API_RESPONSE" | jq -r '.assets[] | select(.browser_download_url | contains("tinyuf2-'$BOARD_NAME'-") and endswith(".zip")) | .browser_download_url // empty'); JQ_EXIT=$?
164+
if [ $JQ_EXIT -ne 0 ] || [ -z "$DOWNLOAD_URL" ]; then
165+
echo "Attempt $attempt: jq failed or no matching zip found."
166+
if [ "$attempt" -eq 3 ]; then exit 1; else sleep $((60 + RANDOM % 40)); continue; fi
167+
fi
168+
echo "Attempt $attempt: Downloading $DOWNLOAD_URL"
169+
wget "$DOWNLOAD_URL" -O tinyuf2.zip
170+
if [ $? -eq 0 ]; then
171+
unzip -o tinyuf2.zip -d .
172+
if [ $? -ne 0 ]; then
173+
echo "Attempt $attempt: unzip failed"
174+
if [ "$attempt" -eq 3 ]; then exit 1; else sleep $((60 + RANDOM % 40)); continue; fi
175+
fi
176+
break
177+
else
178+
echo "Attempt $attempt: wget failed to download $DOWNLOAD_URL"
179+
if [ "$attempt" -eq 3 ]; then exit 1; else sleep $((60 + RANDOM % 40)); fi
180+
fi
181+
done
182+
set -e
183+
- name: move partition and bootloader files for tinyuf2 (to match flash_args)
184+
run: |
185+
# Copy files where they're expected to make flash_args happy
186+
mkdir bootloader
187+
cp bootloader.bin bootloader/bootloader.bin
188+
mkdir partition_table
189+
cp partition-table.bin partition_table/partition-table.bin
190+
191+
- name: Create new_flash_args file from flash_args with added app bin + output file
192+
run: |
193+
# Create new_flash_args with esptool parameters first and output file
194+
echo "--flash-mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}}" > new_flash_args
195+
echo "--flash-freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}}" >> new_flash_args
196+
echo "--flash-size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}}" >> new_flash_args
197+
echo "-o wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.combined.bin" >> new_flash_args
198+
199+
# Append flash_args content to new_flash_args, skipping the first line
200+
tail -n +2 flash_args >> new_flash_args
201+
202+
# Append main app to flash_args file
203+
echo "0x10000 wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.bin" >> new_flash_args
166204
- name: Check boot_app0 file existence (esp32sx built from core, not-source)
167205
id: check_files
168206
uses: andstor/file-existence-action@v3
@@ -178,23 +216,17 @@ jobs:
178216
ls /home/runner/Arduino/hardware/espressif/esp32/tools/partitions
179217
- name: boot_app0 file from arduino-cli core
180218
if: steps.check_files.outputs.files_exists == 'true'
181-
run: mv /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin
219+
run: cp /home/runner/.arduino15/packages/esp32/hardware/esp32/*/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin
182220
- name: boot_app0 file from esp32 source bsp
183221
if: steps.check_files.outputs.files_exists == 'false'
184-
run: mv /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin
222+
run: cp /home/runner/Arduino/hardware/espressif/esp32/tools/partitions/boot_app0.bin wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin
223+
- name: Copy boot_app0 file to ota_data_initial.bin (overwrite tinyuf2 boot preference)
224+
run: cp wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin ota_data_initial.bin
185225
- name: Create combined binary using Esptool merge-bin
186226
run: |
187227
echo ${{ steps.get_board_json.outputs.boardJson }}
188228
echo ${{ fromJson(steps.get_board_json.outputs.boardJson) }}
189-
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin \
190-
--flash-mode ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashMode}} \
191-
--flash-freq ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashFreq}} \
192-
--flash-size ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.flashSize}} \
193-
-o wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.combined.bin \
194-
${{ matrix.offset }} wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.bootloader.bin \
195-
0x8000 wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.partitions.bin \
196-
0xe000 wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.boot_app0.bin \
197-
0x10000 wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.bin
229+
python3 -m esptool --chip ${{fromJson(steps.get_board_json.outputs.boardJson).esptool.chip}} merge-bin @new_flash_args
198230
- name: Zip build artifacts
199231
run: |
200232
zip -r wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.zip wippersnapper.${{ matrix.arduino-platform }}.fatfs.${{ env.WS_VERSION }}.*
@@ -253,7 +285,7 @@ jobs:
253285
run: bash ci/actions_install.sh
254286
- name: Install extra Arduino libraries
255287
run: |
256-
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
288+
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
257289
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
258290
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
259291
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
@@ -371,7 +403,7 @@ jobs:
371403
run: bash ci/actions_install.sh
372404
- name: Install extra Arduino libraries
373405
run: |
374-
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
406+
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
375407
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
376408
- name: Download stable Nanopb
377409
id: download-nanopb
@@ -506,7 +538,7 @@ jobs:
506538
- name: Install extra Arduino libraries
507539
run: |
508540
git clone --quiet https://github.com/adafruit/WiFiNINA.git /home/runner/Arduino/libraries/WiFiNINA
509-
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
541+
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
510542
git clone --quiet https://github.com/PaulStoffregen/OneWire.git /home/runner/Arduino/libraries/OneWire
511543
git clone --quiet https://github.com/adafruit/Adafruit_TinyUSB_Arduino /home/runner/Arduino/libraries/Adafruit_TinyUSB_Arduino
512544
- name: Download stable Nanopb
@@ -665,7 +697,7 @@ jobs:
665697
run: bash ci/actions_install.sh
666698
- name: Install extra Arduino library
667699
run: |
668-
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
700+
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
669701
git clone --quiet https://github.com/PaulStoffregen/OneWire.git /home/runner/Arduino/libraries/OneWire
670702
- name: Download stable Nanopb
671703
id: download-nanopb
@@ -762,7 +794,7 @@ jobs:
762794
run: bash ci/actions_install.sh
763795
- name: Install extra Arduino libraries
764796
run: |
765-
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
797+
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
766798
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
767799
git clone --quiet https://github.com/adafruit/Adafruit_HX8357_Library.git /home/runner/Arduino/libraries/Adafruit_HX8357_Library
768800
git clone --quiet https://github.com/adafruit/Adafruit_ILI9341.git /home/runner/Arduino/libraries/Adafruit_ILI9341
@@ -871,7 +903,7 @@ jobs:
871903
run: bash ci/actions_install.sh
872904
- name: Install extra Arduino libraries
873905
run: |
874-
git clone --quiet https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
906+
git clone --quiet --branch v4.0.3 https://github.com/milesburton/Arduino-Temperature-Control-Library.git /home/runner/Arduino/libraries/Arduino-Temperature-Control-Library
875907
git clone --quiet https://github.com/pstolarz/OneWireNg.git /home/runner/Arduino/libraries/OneWireNg
876908
- name: Download stable Nanopb
877909
id: download-nanopb

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=Adafruit WipperSnapper
2-
version=1.0.0-beta.105
2+
version=1.0.0-beta.109
33
author=Adafruit
44
maintainer=Adafruit <adafruitio@adafruit.com>
55
sentence=Arduino application for Adafruit.io WipperSnapper

src/Wippersnapper.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@
142142
#endif
143143

144144
#define WS_VERSION \
145-
"1.0.0-beta.105" ///< WipperSnapper app. version (semver-formatted)
145+
"1.0.0-beta.109" ///< WipperSnapper app. version (semver-formatted)
146146

147147
// Reserved Adafruit IO MQTT topics
148148
#define TOPIC_IO_THROTTLE "/throttle" ///< Adafruit IO Throttle MQTT Topic

src/Wippersnapper_Boards.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@
209209
#define USE_STATUS_LED
210210
#define STATUS_LED_PIN LED_BUILTIN
211211
#elif defined(ARDUINO_XIAO_ESP32S3)
212-
#define BOARD_ID "seeed-xiao-esp32s3"
212+
#define BOARD_ID "xiao-esp32s3"
213213
#define BOARD_HAS_PSRAM
214214
#define USE_PSRAM
215215
#define USE_TINYUSB

src/network_interfaces/Wippersnapper_ESP8266.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,15 @@
2929
* important - please switch to using the modern ESP32 (and related models)
3030
* instead of the ESP8266 to avoid updating the SSL fingerprint every year.
3131
*
32+
* The commented-out fingerprint below was last updated on 07/14/2025.
33+
*
3234
* If you've read through this and still want to use "Secure MQTT" with your
3335
* ESP8266 project, we've left the "WiFiClientSecure" lines commented out. To
3436
* use them, uncomment the commented out lines within this file and re-compile
3537
* the library.
3638
*/
37-
// static const char *fingerprint PROGMEM = "4E C1 52 73 24 A8 36 D6 7A 4C 67
38-
// C7 91 0C 0A 22 B9 2D 5B CA";
39+
// static const char *fingerprint PROGMEM = "47 D2 CB 14 DF 38 97 59 C6 65 1A
40+
// 1F 3E 00 1E 53 CC A5 17 E0";
3941

4042
extern Wippersnapper WS;
4143

0 commit comments

Comments
 (0)