Commit Graph

19 Commits

Author SHA1 Message Date
Eiswolf-BG
a7f14b3125 v3.3.0: Welcome screen, factory reset, calibration/touch fixes, flash partition fix
## New
- "Welcome" screen shown on first-time setup (before touch
  calibration), with the splash screen's animated radar graphic and a
  Start button.
- The "Setup complete" screen now counts down 7 seconds with a button
  matching the Welcome screen's style, then automatically continues
  into the app (previously required a tap).
- System menu "Backup & Reset" page (Backup, Restore, and a new
  "Reset settings" option that wipes the on-device data and re-runs
  first-time setup - useful for testing or handing the device to
  someone else).
- Touch calibration targets are now green mini radar reticles instead
  of red crosshairs.

## Improved
- The SD card's data folder is now only created after tapping Start
  on the Welcome screen, instead of on every boot regardless.
- Flash partition layout changed to free up roughly 850 KB of
  firmware space (no OTA update slot needed, since firmware is always
  flashed via cable/USB) - lowers flash usage from ~95% to ~59%.

## Fixed
- The Start button and the WiFi scanning screen now show a loading
  indicator instead of appearing frozen during SD-card/WiFi
  operations.
- A touch-input bug during first-time setup that could corrupt touch
  calibration and cause taps to land on the wrong on-screen element
  afterward (most noticeable in the WiFi network selection list).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 06:57:48 +02:00
Eiswolf-BG
ba1c062ef1 Add welcome screen at the start of first-time setup, before touch calibration
Shows a new FirstRunWelcomeScreen right at the very beginning of the
first-time setup flow (isFirstRun), before touch calibration even
runs: hard-coded English title (no language chosen yet at this point),
the splash screen's radar reticle centered below it, and a large
black/green-outlined "Start" button whose text breathes between a
darker and a lighter, slightly whitish green (~2.5s cycle) so it's the
one element that visibly stands out against the otherwise uniform
green UI. The button intentionally stays unfilled (black) so the
twinkling MenuStars background shows through it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 05:38:11 +02:00
Eiswolf-BG
140840d89b Add 12h/AM-PM clock format for Imperial units, add miles to distance display
The header clock now shows 12-hour time with AM/PM when Imperial
units are selected (Menu > Units), instead of always using 24-hour
format - the clock-clear region was widened from 50px to 80px to fully
erase the longer "12:59PM"-style text.

The aircraft detail panel's distance line now also shows miles
alongside km and nautical miles (e.g. "12km / 6nm / 7mi"), since nm
alone wasn't self-explanatory for lay users from Imperial-unit
countries.

Also fixes the radar screen's range button, which still always showed
a fixed "km" label regardless of the Metric/Imperial setting - it now
shows mi (converted) when Imperial is selected, matching the pattern
already used by the altitude legend.

Refreshes firmware.bin to match this build.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 23:28:28 +02:00
Eiswolf-BG
795c008af6 Fix address search keyboard hint/punctuation and add setup-complete screen
The address search screen previously gave no hint about the expected
input format and had no punctuation keys at all on either keyboard
page, making addresses like a house number "45/3" impossible to type.
Adds a localized format-hint line under the title, comma/hyphen keys
on the main keyboard, and swaps four rarely-needed accented letters on
the special-character page for "/", ".", "'", "-". The header and
input field position are now measured dynamically (getCursorY())
instead of assuming a fixed pixel offset, so longer translations of
the hint text don't overlap the keyboard.

Adds a new FirstRunCompleteScreen shown after the location setup step
on first boot: confirms setup is done, names the SD card folder all
data is stored in, and notes that WiFi will reconnect automatically
from now on, with a large "Flightradar" button leading into the app.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 01:02:23 +02:00
Eiswolf-BG
43b073a0eb Add native address search with geocoding for location presets, remove itilog.com link
Adds a new AddressSearchScreen: enter an address on a dedicated
keyboard (with a special-character page for common European accented
letters), geocode it via the free OpenStreetMap Nominatim service,
confirm the found place, optionally name it, and save it as a new
location preset - no external website needed anymore.

Reachable both from Location Presets > "+" (choice between "by
address" and manual coordinates) and, for new users, from a one-time
FirstRunLocationScreen shown right after the language picker on first
boot, explaining why an exact address beats automatic IP geolocation
and letting them set it up immediately (skippable).

Removes the itilog.com link/tip added in the previous commit (Location
Presets info screen, all 6 languages, and the README) - superseded by
this native in-app flow.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 00:14:01 +02:00
Eiswolf-BG
b28f9a7686 Group Flight logbook toggle with other switches, real screen-off on timeout
Moves "Flight logbook ON/OFF" into the group of plain on/off toggles
in the Flight Options menu, right under Proximity LED, alongside the
other LED-driven alerts and the ground-vehicle filter.

The inactivity screen timeout (Menu > System > Timeout) now turns the
backlight fully off (0) instead of just dimming it, for users who want
to keep the flight logbook running without needing the screen. Night
dimming (a separate setting) already covers the "just a bit darker"
case and is unaffected. Tapping the screen still wakes it back up to
the configured normal (or night-dimmed) brightness.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 19:33:02 +02:00
Eiswolf-BG
52f692e70c Weather info popup, larger System menu buttons, group Flight toggles
Tapping the weather icon in the header now shows a small info popup
explaining that the shown weather always follows the currently active
location (including an active location preset).

The System menu's buttons now fill the available screen height
instead of leaving unused space below, computed from a dedicated
systemRowRect() helper. "Info" (About) is pinned as the second-to-last
entry, directly above Back, so its position stays stable regardless of
how many other entries come before it.

In the Flight options menu, all plain ON/OFF toggles (LED heartbeat,
emergency alert, proximity LED, watchlist alert, hide ground vehicles)
are now grouped together at the end of the list, right above Back,
instead of being interleaved with the screen/list entries above them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 18:58:53 +02:00
Eiswolf-BG
56293cf3c3 v2.8.0: Weather icon in header
Adds a small weather icon in the header, right where the old camera
button used to be. Shows current conditions (sun, cloud,
sun-behind-cloud, rain, snow, thunderstorm) for whichever location is
currently active, including active location presets, so switching to
e.g. Milan shows Milan's weather. Powered by the free Open-Meteo API
(no API key needed), refreshed automatically every 10 minutes in the
background, or immediately after switching to a different location
preset. Icons are drawn entirely with TFT_eSPI basic shapes (circles,
lines), no image files or extra fonts needed.

The initial implementation failed to parse Open-Meteo's response
(ArduinoJson "InvalidInput") because the API replies with
Transfer-Encoding: chunked and streaming directly from
http.getStream() didn't reassemble the chunks correctly. Fixed by
collecting the full body via http.getString() first, then parsing
that.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-10 17:07:52 +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
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
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
1ee04c0055 v2.4.0: Night dimming, aircraft watchlist, and nearest-airport lookup 2026-08-05 20:31:22 +02:00
Eiswolf-BG
59aa5af1b2 v2.3: Twinkling star animation extended to all menus and splash screen, WiFi submenu removed 2026-08-05 05:49:51 +02:00
Eiswolf-BG
2b07fd036f v2.2: Custom Unicode font for accented characters (DE/TR/FR/ES/IT), 4-category menu reorganization, black/green UI theme, header layout improvements 2026-08-05 01:07:08 +02:00
Eiswolf-BG
665130e8bb v2.0: Full localization (6 languages), first-run language screen, aircraft detail overhaul, aircraft-model API fallback, and multiple bugfixes 2026-08-04 01:32:44 +02:00
Eiswolf-BG
4e8bfcd30c v1.5: World map background, LED heartbeat pulse, screenshot flash confirmation, splash screen resize 2026-08-03 16:21:55 +02:00
Eiswolf-BG
ff2d3af420 v1.4: Header status line, compass rose, logbook files view, WiFi reconnect fix, SD-required screen color fix 2026-08-03 15:13:42 +02:00
Eiswolf-BG
b913ca2f44 v1.2: Settings toggles, flight logbook, local time, WiFi auto-reconnect, metric units 2026-08-03 04:16:08 +02:00
Eiswolf-BG
52c8009296 v1: Live ADS-B radar with detail panel, units, legend, proximity LED alert 2026-08-02 23:28:42 +02:00