From a494f63503be8fe6aeda97b38f67739f1b88f97a Mon Sep 17 00:00:00 2001 From: Eiswolf-BG <37225519+Eiswolf-BG@users.noreply.github.com> Date: Fri, 14 Aug 2026 03:29:55 +0200 Subject: [PATCH] Add version picker to web flasher Lets users choose among the last 3 releases (v3.6.3 latest, v3.6.2, v3.6.1) instead of only ever flashing the newest build - handy for testing or rolling back. Archives the real historical binaries for v3.6.1/v3.6.2 under versions/, each with its own manifest.json. Documents the archival step as part of the standard release workflow in CLAUDE.md so the picker stays current on future releases. Co-Authored-By: Claude Sonnet 5 --- CLAUDE.md | 14 +++++++++ index.html | 58 +++++++++++++++++++++++++++++++++-- versions/v3.6.1/manifest.json | 14 +++++++++ versions/v3.6.2/manifest.json | 14 +++++++++ 4 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 versions/v3.6.1/manifest.json create mode 100644 versions/v3.6.2/manifest.json diff --git a/CLAUDE.md b/CLAUDE.md index c4ae3ce..72ac6e9 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -212,6 +212,20 @@ in dieser Reihenfolge: immer die README (oder auch nur die Versionsnummer) auf eine neue Version aktualisiert wird, IMMER im selben Zug auch `index.html` prüfen und synchron mitziehen. +4b. Web-Flasher-Versionsauswahl aktuell halten: Bevor die Wurzel-.bin-Dateien + mit dem neuen Build überschrieben werden, die BISHERIGEN (noch alten) + bootloader.bin/partitions.bin/firmware.bin in einen neuen Ordner + `versions/vALT/` archivieren (vALT = die Versionsnummer, die index.html + vor diesem Update zeigte) - dort auch eine `manifest.json` ablegen + (identischer Inhalt wie die Wurzel-manifest.json, siehe + `versions/v3.6.2/manifest.json` als Vorlage). Danach im Ordner + `versions/` nur die 2 neuesten Versionsordner (nach Versionsnummer + sortiert, nicht nach Datei-Datum) behalten - ältere Ordner löschen. + Anschließend in `index.html` den Versions-Dropdown + (` + + + + +
Older versions are only kept for testing or rolling back - the latest version is recommended for most users.
+
1. Connect your CYD via USB cable
@@ -122,7 +157,8 @@ 3. Select the correct COM port
4. Sit back and wait for the process to finish
- +
Requires Chrome, Edge, or Opera (Web Serial API)
@@ -183,5 +219,21 @@ draw(); })(); + diff --git a/versions/v3.6.1/manifest.json b/versions/v3.6.1/manifest.json new file mode 100644 index 0000000..1e73384 --- /dev/null +++ b/versions/v3.6.1/manifest.json @@ -0,0 +1,14 @@ +{ + "name": "Eiswolfs Flightradar (CYD)", + "new_install_prompt_erase": true, + "builds": [ + { + "chipFamily": "ESP32", + "parts": [ + { "path": "bootloader.bin", "offset": 4096 }, + { "path": "partitions.bin", "offset": 32768 }, + { "path": "firmware.bin", "offset": 65536 } + ] + } + ] +} diff --git a/versions/v3.6.2/manifest.json b/versions/v3.6.2/manifest.json new file mode 100644 index 0000000..1e73384 --- /dev/null +++ b/versions/v3.6.2/manifest.json @@ -0,0 +1,14 @@ +{ + "name": "Eiswolfs Flightradar (CYD)", + "new_install_prompt_erase": true, + "builds": [ + { + "chipFamily": "ESP32", + "parts": [ + { "path": "bootloader.bin", "offset": 4096 }, + { "path": "partitions.bin", "offset": 32768 }, + { "path": "firmware.bin", "offset": 65536 } + ] + } + ] +}