From 886b0d3f81655c6605f35885310325084ee2d5fa Mon Sep 17 00:00:00 2001 From: Oliver Jowett Date: Wed, 11 Dec 2019 12:43:19 -0600 Subject: [PATCH] Treat ADS-R as a separate source type (higher priority than TIS-B, lower priority than direct ADS-B) --- dump1090.h | 1 + mode_s.c | 1 + net_io.c | 3 +++ 3 files changed, 5 insertions(+) diff --git a/dump1090.h b/dump1090.h index 3628d76..5c7cf73 100644 --- a/dump1090.h +++ b/dump1090.h @@ -138,6 +138,7 @@ typedef enum { SOURCE_MODE_S, /* data from a Mode S message, no full CRC */ SOURCE_MODE_S_CHECKED, /* data from a Mode S message with full CRC */ SOURCE_TISB, /* data from a TIS-B extended squitter message */ + SOURCE_ADSR, /* data from a ADS-R extended squitter message */ SOURCE_ADSB, /* data from a ADS-B extended squitter message */ } datasource_t; diff --git a/mode_s.c b/mode_s.c index 14e895e..5cd9612 100644 --- a/mode_s.c +++ b/mode_s.c @@ -1400,6 +1400,7 @@ static void decodeExtendedSquitter(struct modesMessage *mm) // IMF=0: AA field holds 24-bit ICAO aircraft address // IMF=1: AA field holds anonymous address or ground vehicle address or fixed obstruction address mm->addrtype = ADDR_ADSR_ICAO; + mm->source = SOURCE_ADSR; check_imf = 1; break; diff --git a/net_io.c b/net_io.c index a946829..6375f01 100644 --- a/net_io.c +++ b/net_io.c @@ -2096,6 +2096,9 @@ static inline float heading_difference(float h1, float h2) case SOURCE_TISB: sourcetype = "T"; break; + case SOURCE_ADSR: + sourcetype = "R"; + break; case SOURCE_ADSB: sourcetype = "A"; break;