Commit Graph

9 Commits

Author SHA1 Message Date
2949e8c110 OTA bypass gitea local ip
All checks were successful
Build Release / build (push) Successful in 1m20s
2026-08-16 19:46:29 +02:00
fb884acc27 faster response times
Some checks failed
Build Release / build (push) Failing after 1m18s
2026-08-16 16:55:32 +02:00
a02e280f42 ota update 2026-08-16 14:52:23 +02:00
fb09b2b7a1 localization 2026-08-16 14:33:27 +02:00
Eiswolf-BG
a5b0e5404a Fix title overflow in confirm/info screens; log checkForUpdate() diagnostics
confirmWarningScreen() and infoScreen() only fell back from text size
2 to size 1 for long titles, but some titles (e.g. "Prüfung
fehlgeschlagen. WLAN prüfen.") still overflowed the screen edge at
size 1. Both now wrap the title across up to 3 lines via the new
wrapTitleLines() helper, and VIEW_TOP shifts down to match the actual
number of title lines instead of always assuming one.

checkForUpdate() now logs the same kind of diagnostic detail over
serial that performUpdate() already had (start info, and the specific
failure reason - HTTP error/status, JSON parse error, missing
tag_name, missing firmware.bin asset - instead of just returning
silently).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 21:56:37 +02:00
Eiswolf-BG
c3536f3852 OTA close-WebUI hint, OTA diagnostic logging, WebUI radar improvements
The OTA confirmation dialog now warns to close the WebUI page first -
its 3-second polling was interfering with the firmware download.

performUpdate() now logs progress and, on failure, the actual
HTTPUpdate error code/string over serial instead of just returning
false, to make future OTA failures easier to diagnose.

WebUI live radar: all four compass directions (N/E/S/W) instead of
just N, clickable aircraft with a persistent info panel (callsign,
altitude, speed, distance/bearing, heading, squawk), a client-side
range selector (10/25/50/100 km, independent of the device setting),
and twinkling background stars outside the radar circle redrawn at
150ms independent of the 3s aircraft-data poll.

Note: the "notable" (orange ring) field in /radar.json remains
hardcoded false - Config::NOTABLE_CALLSIGN_PREFIXES still doesn't
exist anywhere in this project.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 21:39:30 +02:00
Eiswolf-BG
0bf8518ac5 Fix OTA download (follow GitHub redirect), rework result screens, drop asset rename
OTA downloads always failed because GitHub's browser_download_url
returns a 301/302 redirect to a signed objects.githubusercontent.com
URL, which HTTPUpdate doesn't follow by default. Now sets
HTTPC_STRICT_FOLLOW_REDIRECTS before downloading.

Update results (success and failure) are now shown as a persistent
info screen requiring an explicit tap to dismiss, instead of a
1.2-1.5s auto-vanishing message followed by an automatic restart -
a firmware update result is important enough that it shouldn't be
missable. Also fixes long dynamic titles (e.g. "Update available:
v3.5.0") and the installing-progress label overflowing the screen
edge in some languages.

Release workflow no longer renames the build artifact to
CYD-flightradar.bin before upload; the release asset is just
firmware.bin now, matching what OtaUpdate::checkForUpdate() looks
for. CLAUDE.md's release workflow updated to match.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 02:13:24 +02:00
Eiswolf-BG
7b31a92606 Add idle screensaver feature; fix OTA release asset filename
New "Screensaver" toggle in Menu > System (off by default). When the
inactivity timeout fires with it enabled, the display shows a dimmed
starfield with a large centered clock instead of turning the
backlight fully off; a tap wakes it and redraws normally. Off keeps
the existing behavior unchanged.

Also fixes OtaUpdate::checkForUpdate() to look for the release asset
"CYD-flightradar.bin" (the actual filename used by the release
workflow) instead of the placeholder "firmware.bin" it was checking
for before.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 23:09:39 +02:00
Eiswolf-BG
d7454d9784 Add OTA firmware update via GitHub Releases API
New "Check for update" entry in Menu > System checks the latest
GitHub release's tag against the running version and, if newer,
downloads and flashes its firmware.bin asset directly over WiFi -
no cable or web flasher needed. Requires switching the partition
scheme to min_spiffs (two OTA-capable app partitions instead of a
single non-OTA one), which needs a full reflash.

confirmWarningScreen() now takes title/body as strings instead of
StringIds so it can show a dynamically composed message (the target
version number) for the update confirmation, with an accent color
parameter so the OTA confirmation can use green instead of the
red used for the existing destructive-action confirmations.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 22:57:12 +02:00