Commit Graph

75 Commits

Author SHA1 Message Date
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
cf9d096527 v2.7.4: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.7.4 and refreshes
firmware.bin to match the v2.7.4 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 14:42:23 +02:00
Eiswolf-BG
36afd4ae75 v2.7.4: Named location presets and tappable nearest-airport ticker
Location presets can now optionally be given a name (e.g. "Home"),
shown in the overview instead of the raw coordinates. The
nearest-airport ticker on the Location Presets screen is now
tappable (shown with a thin green border) and adds that airport
directly as a new preset with its name and coordinates, using the
existing local airport database on the SD card - no internet lookup
needed. AirportLookup::findNearest() now also returns the found
airport's own lat/lon for this purpose.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 14:42:10 +02:00
Eiswolf-BG
a555fb01ac v2.7.3: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.7.3 and refreshes
firmware.bin to match the v2.7.3 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 14:02:16 +02:00
Eiswolf-BG
7137e50d66 v2.7.3: Flight logbook safety net, radar/clock/timezone fixes
New:
- Flight logbook safety net: disabled by default, requires confirming
  a full-screen warning before it can be turned on, and automatically
  switches off again after exactly 24 hours - survives restarts and
  power cycles (no valid enable timestamp = guaranteed off). Each
  activation now writes its own CSV file instead of endlessly
  appending to one growing file, and every file can be deleted
  individually from Logbook files.
- Adjustable display brightness (10-100% in 10% steps, Menu -> System
  -> "Brightness") with a live preview.
- About screen (Menu -> System -> "About") showing project name,
  description, and firmware version.

Fixed:
- Radar's red altitude band (>9100m/30000ft) no longer gets dimmed at
  night - the previous dim tone looked orange-brown and was hard to
  tell apart from yellow. Legend and markers are consistent again.
- Radius change no longer leaves a stale "tail" trail behind each
  aircraft between the old and new position.
- Splash screen no longer shows a time-of-day greeting that appeared
  too late in the boot sequence to be useful; the star animation now
  starts immediately instead of only near the end of boot.
- Clock stayed on raw UTC after the first boot instead of local time
  (missing DST handling in some timezones) because the location wait
  loop skipped the timezone lookup once a location was already saved.
- Header clock no longer leaves stale digit fragments behind the
  current time, most visible on the last minute digit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 14:02:01 +02:00
Eiswolf-BG
d5eda78d2f v2.7.2: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.7.2 and refreshes
firmware.bin to match the v2.7.2 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 23:04:08 +02:00
Eiswolf-BG
5dd4e53258 v2.7.2: Aircraft list screen, radar night dimming, and flash savings
New:
- Aircraft list (Menu -> Flight Options, top entry): sortable list
  (distance/altitude/callsign) of every aircraft currently in range,
  with the same altitude color-coding and emergency/watchlist border
  highlighting as the radar. Tapping a row jumps back to the radar
  with that aircraft's detail panel already open.
- Night dimming now also softens the radar screen itself (aircraft
  markers and the sweep line switch to darker tones) during the
  existing 22:00-06:00 window, reusing the same setting - no new
  toggle.

Improved:
- Removed the unused built-in TFT_eSPI number fonts (GLCD/Font2/
  Font4/Font6/Font7/Font8) from platformio.ini - the project only
  ever uses the custom UI font via setFreeFont(). Saves ~15KB flash.

Also documents a CYD-flightradar.bin staleness safety check in the
CLAUDE.md release workflow (delete any leftover copy from a previous
release before renaming the fresh build, so an old binary can never
be silently re-used for a GitHub release).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 23:03:58 +02:00
Eiswolf-BG
537c1600d5 Improve README intro sentence flow around Web Flasher link
The em dash before the link made it sit awkwardly mid-sentence;
rephrased for a more natural read.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 21:54:50 +02:00
Eiswolf-BG
c8b63991af Fix web flasher instructions to match actual button label
Step 2 said to click the "Install" button, but the esp-web-tools
default button (no custom activate slot defined) actually reads
"Connect", which was confusing for new users.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 21:49:04 +02:00
Eiswolf-BG
883857a553 v2.7.1: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.7.1 and refreshes
firmware.bin to match the v2.7.1 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 21:12:51 +02:00
Eiswolf-BG
b65e45c3d4 v2.7.1: Fix layout collisions on Watchlist screens and empty-sky timer
Three small layout bugs found after v2.7.0:
- Watchlist info screen title now wraps word-by-word via
  layoutWrapped() instead of println(), which cut it off mid-word.
- Watchlist overview screen draws the "?" info button first, so the
  title and two description lines start below it instead of running
  underneath and getting obscured.
- The radar's "empty sky for..." timer now shows only whole minutes
  once past the first minute (e.g. "2min" instead of "2min 05s"),
  since the seconds suffix collided with the range button.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 21:12:41 +02:00
Eiswolf-BG
27e56484a6 v2.7.0: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.7.0 and refreshes
firmware.bin to match the v2.7.0 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 20:41:18 +02:00
Eiswolf-BG
9b9b89eb85 v2.7.0: Time-of-day greeting, bearing indicator, and empty-sky timer
Three small usability additions:
- Splash screen now shows a "Good morning/day/evening" greeting under
  the title, based on local time (computed after the timezone offset
  from IP geolocation is applied via configTime(), not before, so it
  reflects actual local time rather than UTC).
- Selecting an aircraft on the radar now also draws a dotted bearing
  line plus a degree label from the radar center to the compass edge,
  showing which direction to actually look to spot it in the sky
  (distinct from the aircraft's own heading arrow).
- The radar info bar now shows "Empty sky for <time>" instead of the
  "tap for details" hint whenever no aircraft are currently in range
  after all filters, counting up from the last sighting.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 20:41:09 +02:00
Eiswolf-BG
e4aa03dbf2 v2.6.5: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.6.5 and refreshes
firmware.bin to match the v2.6.5 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 16:39:11 +02:00
Eiswolf-BG
406326f3da v2.6.5: Add arrowhead to aircraft heading line on radar
drawAircraftMarker() previously drew a plain symmetric line for an
aircraft's heading, making it impossible to tell at a glance which
end pointed "forward". The line now ends in a small two-stroke
arrowhead (chevron), so the direction of travel is unambiguous.

Also documents that the index.html version-badge check (release
workflow step 4) is mandatory and not optional, since it was
accidentally skipped on a recent patch release.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 16:39:02 +02:00
Eiswolf-BG
58bdedae31 v2.6.1: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.6.1 and refreshes
firmware.bin to match the v2.6.1 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 16:04:47 +02:00
Eiswolf-BG
81d11ad954 v2.6.1: Fix "highest flight today" layout collision on Statistics screen
The v2.6.0 addition was drawn as a single line that could overflow
and collide with the "Reset logbook data" button. It now uses the
same two-line drawStatRow() layout (label + value) as the other
stats, with all row Y positions shifted up slightly to make room,
and the i18n strings dropped their now-redundant ": " suffix since
drawStatRow() renders label and value on separate lines.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 16:03:49 +02:00
Eiswolf-BG
b7362f4fba v2.6.0: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.6.0 and refreshes
firmware.bin to match the v2.6.0 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 15:58:18 +02:00
Eiswolf-BG
f966255329 v2.6.0: Show highest-altitude flight of the day on Statistics screen
Adds FlightLogbook::todayMaxAltitude(), which scans today's logbook
CSV for the entry with the greatest altitude at first sighting, and
displays it as "Highest flight today: <callsign> (<alt> ft)" on the
Statistics screen (Menu -> Flight Options -> Statistics).

Also documents the CYD-flightradar.bin rename step (for GitHub
release uploads) in the CLAUDE.md release workflow.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 15:58:08 +02:00
Eiswolf-BG
82b0877e8d v2.5.1: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.5.1 and refreshes
firmware.bin to match the v2.5.1 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 15:35:13 +02:00
Eiswolf-BG
2d9c615fae Polish nearest-airport marquee: bigger, cleaner, smoother
Several fixes to the "nearest airport" marquee on the Location
Presets screen, building on the size-2 enlargement from the previous
commit:
- Fix leftover dashed line above the text by clearing a background
  area sized for size-2 text and by running MenuStars::update()
  before drawMarquee() in the wait loop (stars could otherwise be
  drawn over the freshly rendered text).
- A pixel-perfect scrolling attempt (sub-character cursor offset)
  caused a stray green box to the left of the text and has been
  reverted in favor of the original whole-character scrolling, with
  a shorter gap (3 spaces) and a more generous clear rect.
- Slowed the scroll step from 120ms to 200ms per character for a
  calmer, more readable pace.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 15:34:11 +02:00
Eiswolf-BG
191380ba01 Enlarge nearest-airport marquee text to size 2
The scrolling "nearest airport" line on the Location Presets screen
was hard to read at size 1. setupMarquee() now measures text width
at size 2 (matching what drawMarquee() actually renders), and
drawMarquee() resets back to size 1 on both return paths so it
doesn't leak into subsequently drawn UI (e.g. the Back button).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 15:09:51 +02:00
Eiswolf-BG
0abd293450 v2.5.0: Update web flasher version badge and firmware binary
Bumps the web flasher version display to v2.5.0 and refreshes
firmware.bin to match the v2.5.0 build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-06 05:49:53 +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
Eiswolf-BG
8f557fc829 Add README docs for night dimming, watchlist, and nearest airport 2026-08-06 00:21:26 +02:00
Eiswolf-BG
8d6aaaa461 Show full project name in web flasher title
Changes the h1 from "FLIGHTRADAR CYD" to "EISWOLFS FLIGHTRADAR CYD"
to match the repo/README naming, and reduces the font size slightly
so the longer title still fits on one line.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-05 21:42:16 +02:00
Eiswolf
133d4f3264 Simplify link text for Flightradar Web Flasher 2026-08-05 21:34:26 +02:00
Eiswolf-BG
f711dc6d63 v2.4.0: Update version badge and firmware binary
Bumps the web flasher version display to v2.4.0 and refreshes
firmware.bin to match the current build output.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-05 20:43:46 +02:00
Eiswolf-BG
1ee04c0055 v2.4.0: Night dimming, aircraft watchlist, and nearest-airport lookup 2026-08-05 20:31:22 +02:00
Eiswolf
79f2598b0b Revise README with additional hardware and data info
Updated README.md to improve clarity and add details about hardware and data sources.
2026-08-05 19:25:27 +02:00
Eiswolf
cd116ff6a6 Update ESP Web Tools script and add browser note 2026-08-05 19:24:09 +02:00
Eiswolf
9d52c564a8 Fix missing newline in manifest.json
Add missing newline at the end of the manifest file
2026-08-05 19:23:33 +02:00
Eiswolf
c6a5417f97 Update README with badge links and project URL 2026-08-05 19:18:25 +02:00
Eiswolf
1522c629a8 Update installation instructions in README
Removed browser compatibility requirement for Web Flasher link.
2026-08-05 19:05:27 +02:00
Eiswolf
f874066551 Update index.html 2026-08-05 19:04:58 +02:00
Eiswolf
c315512930 Enhance index.html with installation guide and features
Added detailed instructions and features for the Flightradar Web Installer.
2026-08-05 19:03:48 +02:00
Eiswolf
c54a1fd4b9 Update README.md 2026-08-05 19:02:24 +02:00
Eiswolf
bd7618949a Update README.md 2026-08-05 18:56:50 +02:00
Eiswolf
3886bc8dae Fix Flightradar Web Flasher link in README
Updated the link for the Flightradar Web Flasher to the correct URL.
2026-08-05 18:55:05 +02:00
Eiswolf
2883c87b7f Change shield images to generic source
Updated shield image links to a generic shield source.
2026-08-05 18:52:49 +02:00
Eiswolf
bec8d5eb66 Enhance README with installation instructions and hardware info
Added installation options and hardware details to README.
2026-08-05 18:51:07 +02:00
Eiswolf
81178d75a2 Translate index.html content to English
Updated text and comments from German to English.
2026-08-05 18:49:13 +02:00
Eiswolf
845f2e4237 Add initial HTML structure for web installer 2026-08-05 18:22:00 +02:00
Eiswolf
681815ae9f Add manifest.json for Eiswolfs Flightradar project 2026-08-05 18:20:47 +02:00
Eiswolf
5b80dc5bf6 Add files via upload 2026-08-05 18:18:41 +02:00
Eiswolf-BG
0b66101858 v2.3.2: Add info button to WiFi Manager screen explaining multi-network support 2026-08-05 16:02:17 +02:00
Eiswolf
55c8c6be0b Expand README with flight options details
Added detailed descriptions of flight options and functionalities.
2026-08-05 15:59:47 +02:00
Eiswolf
42f459416b Revise README with features and examples
Updated README.md to include project features and examples.
2026-08-05 15:36:23 +02:00
Eiswolf
cb48a26c77 Update README.md with new features and details
Replaced the entire README.md with an updated version that includes additional features and detailed explanations.
2026-08-05 15:35:53 +02:00
Eiswolf-BG
e37dd469af v2.3.1: Info button for location presets, fix menu titles clipped at top edge, scrollable info screen 2026-08-05 15:27:29 +02:00