gatas Companion - rvt/openace GitHub Wiki

GA/TAS Companion

The GA/TAS Companion is an application currently under development for Android and iOS. It is designed to work in conjunction with GA/TAS Pulse or GA/TAS devices.

Purpose of the Companion Application

The Companion application enhances GA/TAS functionality by retrieving supplementary data from the internet, such as:

  • ADS-B MLAT (Mode-S aircraft) traffic data
  • Local QNH information from the nearest METAR

This additional data allows GA/TAS to provide more comprehensive traffic awareness, especially useful at lower altitudes (below 3000 ft) and near airports, where mobile network coverage in Europe is generally reliable. By offloading these functions to a mobile device, we reduce hardware complexity and cost.

Importantly, GA/TAS does not rely on the Companion app. You can use multiple Electronic Flight Bags (EFBs) to connect to GA/TAS and display traffic data independently.

All three devices communicate over Bluetooth. If one device (e.g., a phone) loses its connection, GA/TAS continues functioning, although it may stop receiving internet-based data like ADS-B via the Companion. Core traffic information—such as from FLARM, OGN, ADS-K, and FANET (when enabled)—remains available. Each device can also maintain its own internet connection independently.

Additional Functionality

For users who fly multiple aircraft types, the Companion application simplifies aircraft identity changes. You can quickly change the callsign or ICAO hex code directly within the app—no need to modify cryptic NMEA sentences or use Stratux Wi-Fi interfaces. A single tap on the screen updates the hex code on GA/TAS without requiring a reboot.

Why we not use Additional Hardware

While ADS-B receivers that support Mode-S and ADS-B Out (Extended Squitter) are available, there are restrictions in many parts of Europe:

  • Portable ADS-B equipment is not permitted onboard
  • UAT is not available in mainland Europe
  • Mode-S-only aircraft do not transmit position data

Not allowing portable ADS-B transceiver leeds to a lot of aircraft having Mode-S only.

This could detect an aircraft is nearby but not determine its precise location—hence the need for a system like GA/TAS _ Compamion application with enhanced integration capabilities.

The Barometric Altitude Challenge

Aircraft equipped with only Mode-S typically report barometric altitude, not ellipsoidal (GPS-based) altitude. To determine whether such aircraft are above or below your current altitude, you need the local QNH to convert barometric altitude to a comparable reference.

GA/TAS operates using the WGS84 ellipsoid model internally. Both GA/TAS and the Companion app use the EGM2008 geoid model to convert barometric (MSL-based) altitudes to WGS84-referenced heights.

However, if you do need ADS-B received has hardware to receive ADSB-Out, let me know. I did build the modules to do this, they are just not used and would love you know your usecase!

For more details: GPS vs. Barometric Altitude: A Technical Overview

GA/TAS Companion uses the following function to compute the adjusted altitude:

// Based on: https://www.weather.gov/media/epz/wxcalc/pressureAltitude.pdf
// ISA atmosphere model
fun adjustBaroAlt(baroAlt: Double, localQnh: Double): Double {
    val stationPressure = (1 - (baroAlt * METERS_TO_FT) / 145366.45).pow(5.2553026) * 1013.25
    val correctedAlt = (1 - (stationPressure / localQnh).pow(0.190284)) * 145366.45

    return correctedAlt * FT_TO_METERS
}