github preston-peterson/aerodrome v3.4.111

latest releases: v3.4.182, v3.4.181, v3.4.179...
3 months ago

(3.4.110 was an unpublished release candidate of this feature; 3.4.111 is the
complete version.)

Added

  • A display board for wall TVs. Open /board on any screen you want to
    leave running — an FBO lounge, an office, a hangar — and Aerodrome becomes a
    full-screen flight display: no menus, no buttons, big type readable from
    across the room, and a live clock. Three layouts are available, and each
    screen picks its own: Radar wall (a full-screen radar scope with every
    contact labeled — callsign, altitude, heading, with the familiar red MIL and
    blue WL tags), Flight board (classic airport-arrivals rows — flight,
    aircraft type, route, altitude, speed, distance, climbing/descending — that
    page through everything overhead and cycle live facts along the bottom), and
    Hybrid (radar beside a closest-traffic list, plus a spotlight card that
    rotates through the aircraft overhead showing a real photo of that airframe,
    its registered owner, and where it's flying). The first visit shows a
    one-time layout picker and remembers the choice on that device;
    /board?mode=radar, ?mode=board, or ?mode=hybrid skips the picker for
    kiosk autostart setups, and ?mode=pick brings the picker back. There are
    two more ways to manage layouts: Configuration → Display → Wallboard
    layout
    sets the server-wide default for screens that haven't picked yet
    (with an "Open display board" link right there), and a gear icon on the
    board itself
    — invisible until the mouse moves or the screen is touched —
    reopens the layout picker, so anyone standing at the TV can switch layouts
    without Configuration access. A choice made on the screen always wins over
    the server default. Designed for 1080p TVs and long unattended runs: if the receiver goes quiet the board
    says so and keeps the last picture, it recovers on its own when data
    returns, and it quietly refreshes itself once a day. The radar layouts need
    a configured receiver location (Configuration → Receiver); the flight board
    works regardless.

Behind the scenes

  • The board is a single standalone template (templates/board.html) on a new
    chrome-less /board route, reusing the existing surfaces wholesale:
    /api/live for contacts, /api/ui-config for range-ring distances and the
    distance unit, and the photo / registered-owner / route enrichment endpoints
    (including the current-leg inference for multi-leg flights) for the
    spotlight and route columns. The radar layouts draw a pure SVG/CSS scope —
    contacts are placed by bearing and distance from the receiver, so there are
    no map tiles to fetch and nothing external to break on a kiosk. Enrichment
    lookups are memoized per aircraft, polling backs off exponentially while the
    server is unreachable, and a browser left running reloads itself during the
    quiet hours each morning. The layout default is a new display.wallboard_layout
    config key ("ask" | "radar" | "board" | "hybrid", validated, live-reloadable)
    served through /api/ui-config; the board resolves its layout as URL
    ?mode= → this screen's saved pick → the config default → the picker.

Don't miss a new aerodrome release

NewReleases is sending notifications on new releases.