Skip to content

v0.6.0 — GPS geotagging + SigMF export

Choose a tag to compare

@clorth0 clorth0 released this 14 Jun 19:17
· 27 commits to main since this release

Aetherscope v0.6.0 adds optional GPS geotagging and SigMF capture export.

GPS geotagging (opt-in, default off)

  • New raw-socket gpsd client (backend/gps.py, no new dependency): connects only
    while enabled, parses TPV/SKY, keeps a thread-safe last-known position, and
    never logs latitude/longitude.
  • A header GPS pill leads with fix quality ("GPS 3D, 7 sat") and keeps
    coordinates masked behind the tooltip; clicking it toggles geotagging.
  • A live Receiver (GPS) marker tracks your position on the ADS-B map.
  • Captures are stamped with a geolocation in their sidecar when GPS is enabled
    and holding a fresh fix; geotagging never blocks or fails a capture.
  • Privacy controls: per-capture Remove location redaction, a Geotag
    precision
    setting (full / ~100 m / ~1 km) that coarsens only the stored
    artifact (the live map stays exact), and AETHERSCOPE_GPS=0 to hard-disable.
  • Capture timestamps stay on the system clock (the puck has no PPS); GPS supplies
    position only.

SigMF export

  • Each capture also writes a companion <base>.sigmf-meta (SigMF 1.0.0)
    referencing the .iq via core:dataset, so recordings are portable to other
    SDR tools (GNU Radio, inspectrum, IQEngine, the sigmf library). Geotags ride
    in core:geolocation (GeoJSON Point) and are scrubbed by redaction. A SigMF
    download link is on each capture row. Non-breaking: the .iq and UI sidecar
    are unchanged.

10 test suites (new: test_gps, test_sigmf), CI green. Everything from v0.5.0
carries forward. Install and run are unchanged; geotagging requires a local gpsd
and is off until you enable it.

Env: AETHERSCOPE_GPSD_HOST / AETHERSCOPE_GPSD_PORT (default 127.0.0.1:2947),
AETHERSCOPE_GPS=0 to disable.