Skip to content

Traffic display from ADS-B receiver (1090ES / 978 UAT) #15

@billmallard

Description

@billmallard

Summary

Display nearby traffic on the moving map using ADS-B position reports received by an onboard ADS-B In receiver. Traffic awareness is a critical safety feature — most mid-air collision risk exists in terminal environments where both VFR and IFR traffic converge.

ADS-B In Data Sources

Source Protocol Notes
GDL 90 (Garmin/Appareo) UDP port 4000 Standard format; used by ForeFlight, Stratus, etc.
SkyEcho / PingUSB GDL 90 over WiFi Common low-cost ADS-B In devices
OpenGDL90 GDL 90 Open source GDL90 parser available
dump1090 / readsb JSON via HTTP SDR-based 1090 MHz receiver; widely used on RPi
rtl_adsb Raw Lower-level SDR option

For pyEfis integration, the FIX DB could carry traffic as a structured list (JSON blob or individual keyed items per target).

Display Elements

  • Traffic symbol: filled triangle pointing in direction of travel, scaled by proximity
  • Colour coding:
    • White / grey: non-threat (>1000 ft vertical separation or >6 NM)
    • Amber: proximate traffic (within 6 NM / 1200 ft vertical)
    • Red: traffic alert (TCAS RA equivalent threshold)
  • Altitude tag: relative altitude above/below ownship (e.g. "+12" = 1200 ft above) with up/down arrow for climb/descent
  • Callsign / tail number: if available from ADS-B message
  • Track vector: short line showing projected path

TCAS-style Logic

Compute closure rate and time-to-closest-point-of-approach (CPA). Issue:

  • Traffic Advisory (TA): when traffic will be within 35 seconds of CPA
  • Resolution Advisory (RA): directional guidance (climb/descend) — display only; pyEfis autopilot integration is a future item

Integration

Traffic targets should also appear on the pyEfis AI/HSI instruments (a separate pyEfis issue). The moving map shows the geographic picture; the EFIS instruments show the vertical picture.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions