Commit Graph

8 Commits

Author SHA1 Message Date
c41d419033 expand ground planes to include alt 0 m 2026-08-16 21:15:30 +02:00
fb09b2b7a1 localization 2026-08-16 14:33:27 +02:00
811d4f0ac9 rebrand and flip rortatoin 2026-08-15 19:57:06 +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
fe3eec29b8 Sun-based night dimming; separate marker for Heavy aircraft
Night dimming now uses the actual sunrise/sunset at the active
location (classic Almanac algorithm) instead of a fixed 22:00-06:00
window, with a fallback to that fixed window while location or time
isn't known yet. Applies to both the backlight (main.cpp) and the
radar's own color dimming (radar_screen.cpp).

Heavy-category aircraft (ADS-B emitter category "A5") now get a
distinct marker (larger circle with an outer ring, plus the usual
heading line) instead of sharing the orange "notable" ring, on both
the device display and the WebUI radar.

Note: the orange "notable" ring itself (military/government callsign
prefixes) remains unimplemented - Config::NOTABLE_CALLSIGN_PREFIXES
has never been defined anywhere in this project. The WebUI radar's
"notable" field is hardcoded false until that's actually specified;
on the device it was never wired up in the first place.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 04:13:41 +02:00
Eiswolf-BG
5e22025d7a Add WebUI live radar; mutex-protect AirlineFilter/AircraftWatchlist
The WebUI home page now shows a live radar canvas above the flight
logbook, polling a new /radar.json endpoint every 3 seconds. It
mirrors the device display: distance rings, aircraft colored by
altitude, ground vehicles as squares, rotorcraft as diamonds, and
emergency/watchlist/heavy-category rings in that priority. Applies
the same range, hide-ground-vehicles, and airline filters as the
device radar.

AirlineFilter and AircraftWatchlist gain proper mutex protection
around their in-memory arrays (previously only guarded around SD
file I/O) since the new /lists WebUI pages reach them from Core 0
(NetTask) in addition to their existing Core 1 (menu screen)
callers.

Note: the "notable aircraft" military/government callsign-prefix
marker is not implemented - Config::NOTABLE_CALLSIGN_PREFIXES was
never defined anywhere in this project, on the device display or
here. The "notable" ring currently fires on heavy-category aircraft
only.

Also documents the OTA-testing exception to the auto-flash rule in
CLAUDE.md (build-only during Push & Release, so the test device stays
on the previous version for OTA testing).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-13 03:50:20 +02:00
Eiswolf-BG
bb0f1d9e46 v2.7.5: Logbook Web UI menu entry, per-day CSV delete, remove screenshot feature
Adds a "Logbook / WebUI" entry directly in Menu > System, showing the
device's IP and usage instructions (previously only reachable via a
hidden "?" button in Logbook Files). The web export page now supports
downloading and deleting individual daily logbook CSV files, in
addition to the existing merged CSV download.

Fixes a task watchdog reset that could reboot the device mid-download
when exporting the logbook via the built-in web server: the CSV send
loop never yielded the CPU, starving the idle task on larger logbooks.
The export loop now yields periodically (delay(1) every 10 lines and
after each file).

Removes the screenshot feature (camera button, on-device BMP storage,
web-based screenshot browser). Screenshots always came out solid
black - diagnosis showed the SPI readback from the display returns all
zeros regardless of SPI_READ_FREQUENCY, indicating TFT_MISO isn't
wired to the display on this CYD board revision. This is a hardware
limitation, not fixable in software, so the feature has been removed
rather than shipped broken.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 16:16:14 +02:00
Eiswolf-BG
a271109f19 v2.5.0: History chart, web export, and marquee fix for nearest airport
Adds a 7-day bar-chart view of the flight logbook (Menu -> Flight
Options -> History chart), and a small built-in web server that
serves a logbook overview page plus a merged CSV export of all
logged days once the device is connected to WiFi (discoverable via
the "?" button on the Logbook files screen, which now also shows the
live device IP). Also fixes the "nearest airport" line on the
Location Presets screen, which previously used tft.setViewport() and
went completely invisible with our custom font - it now scrolls as a
proper marquee without relying on the viewport clip.

Also documents the standard release workflow in CLAUDE.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 05:49:23 +02:00