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
This commit is contained in:
Oliver Jowett 2021-02-18 14:20:44 +08:00
parent 3324f072cd
commit 22d21cd013
1 changed files with 26 additions and 3 deletions

View File

@ -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';
}