From 22d21cd01304d63732db213b6b2381d00d9c0b27 Mon Sep 17 00:00:00 2001 From: Oliver Jowett Date: Thu, 18 Feb 2021 14:20:44 +0800 Subject: [PATCH] Rework the interactive-mode Mode column to show more detail. New Mode values: S: Mode S, no ADS-B A0: ADS-B v0, DO-260 A1: ADS-B v1, DO-260A A2: ADS-B v2, DO-260B NT: ADS-B non-transponder R: ADS-R T: TIS-B --- interactive.c | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/interactive.c b/interactive.c index 724093e..71150fb 100644 --- a/interactive.c +++ b/interactive.c @@ -217,10 +217,33 @@ void interactiveShowData(void) { double signalAverage = (pSig[0] + pSig[1] + pSig[2] + pSig[3] + pSig[4] + pSig[5] + pSig[6] + pSig[7]) / 8.0; - strMode[0] = 'S'; - if (a->adsb_version >= 0) { - strMode[1] = '0' + a->adsb_version; + switch (a->addrtype) { + case ADDR_ADSB_ICAO: + if (a->adsb_version >= 0) { + strMode[0] = 'A'; + strMode[1] = '0' + a->adsb_version; + } else { + strMode[0] = 'S'; + } + break; + case ADDR_ADSB_ICAO_NT: + strMode[0] = 'N'; + strMode[1] = 'T'; + break; + case ADDR_ADSR_ICAO: + case ADDR_ADSR_OTHER: + strMode[0] = 'R'; + break; + case ADDR_TISB_ICAO: + case ADDR_TISB_TRACKFILE: + case ADDR_TISB_OTHER: + strMode[0] = 'T'; + break; + default: + strMode[0] = '?'; + break; } + if (a->modeA_hit) { strMode[2] = 'a'; }