Show only reliable tracks in interactive mode
This commit is contained in:
parent
429e34db21
commit
9500a2f2f7
113
interactive.c
113
interactive.c
|
|
@ -115,66 +115,65 @@ void interactiveShowData(void) {
|
||||||
int row = 2;
|
int row = 2;
|
||||||
|
|
||||||
while (a && row < rows) {
|
while (a && row < rows) {
|
||||||
|
if (a->reliable && (now - a->seen) < Modes.interactive_display_ttl) {
|
||||||
if ((now - a->seen) < Modes.interactive_display_ttl)
|
char strSquawk[5] = " ";
|
||||||
{
|
char strFl[7] = " ";
|
||||||
|
char strTt[5] = " ";
|
||||||
|
char strGs[5] = " ";
|
||||||
int msgs = a->messages;
|
int msgs = a->messages;
|
||||||
|
|
||||||
if (msgs > 1) {
|
if (trackDataValid(&a->squawk_valid)) {
|
||||||
char strSquawk[5] = " ";
|
snprintf(strSquawk,5,"%04x", a->squawk);
|
||||||
char strFl[7] = " ";
|
|
||||||
char strTt[5] = " ";
|
|
||||||
char strGs[5] = " ";
|
|
||||||
|
|
||||||
if (trackDataValid(&a->squawk_valid)) {
|
|
||||||
snprintf(strSquawk,5,"%04x", a->squawk);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (trackDataValid(&a->gs_valid)) {
|
|
||||||
snprintf (strGs, 5,"%3d", convert_speed(a->gs));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (trackDataValid(&a->track_valid)) {
|
|
||||||
snprintf (strTt, 5,"%03.0f", a->track);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (msgs > 99999) {
|
|
||||||
msgs = 99999;
|
|
||||||
}
|
|
||||||
|
|
||||||
char strMode[5] = " ";
|
|
||||||
char strLat[8] = " ";
|
|
||||||
char strLon[9] = " ";
|
|
||||||
double * pSig = a->signalLevel;
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
if (a->modeA_hit) {strMode[2] = 'a';}
|
|
||||||
if (a->modeC_hit) {strMode[3] = 'c';}
|
|
||||||
|
|
||||||
if (trackDataValid(&a->position_valid)) {
|
|
||||||
snprintf(strLat, 8,"%7.03f", a->lat);
|
|
||||||
snprintf(strLon, 9,"%8.03f", a->lon);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (trackDataValid(&a->airground_valid) && a->airground == AG_GROUND) {
|
|
||||||
snprintf(strFl, 7," grnd");
|
|
||||||
} else if (Modes.use_gnss && trackDataValid(&a->altitude_geom_valid)) {
|
|
||||||
snprintf(strFl, 7, "%5dH", convert_altitude(a->altitude_geom));
|
|
||||||
} else if (trackDataValid(&a->altitude_baro_valid)) {
|
|
||||||
snprintf(strFl, 7, "%5d ", convert_altitude(a->altitude_baro));
|
|
||||||
}
|
|
||||||
|
|
||||||
mvprintw(row, 0, "%s%06X %-4s %-4s %-8s %6s %3s %3s %7s %8s %5.1f %5d %2.0f",
|
|
||||||
(a->addr & MODES_NON_ICAO_ADDRESS) ? "~" : " ", (a->addr & 0xffffff),
|
|
||||||
strMode, strSquawk, a->callsign, strFl, strGs, strTt,
|
|
||||||
strLat, strLon, 10 * log10(signalAverage), msgs, (now - a->seen)/1000.0);
|
|
||||||
++row;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (trackDataValid(&a->gs_valid)) {
|
||||||
|
snprintf (strGs, 5,"%3d", convert_speed(a->gs));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trackDataValid(&a->track_valid)) {
|
||||||
|
snprintf (strTt, 5,"%03.0f", a->track);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msgs > 99999) {
|
||||||
|
msgs = 99999;
|
||||||
|
}
|
||||||
|
|
||||||
|
char strMode[5] = " ";
|
||||||
|
char strLat[8] = " ";
|
||||||
|
char strLon[9] = " ";
|
||||||
|
double * pSig = a->signalLevel;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
if (a->modeA_hit) {
|
||||||
|
strMode[2] = 'a';
|
||||||
|
}
|
||||||
|
if (a->modeC_hit) {
|
||||||
|
strMode[3] = 'c';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trackDataValid(&a->position_valid)) {
|
||||||
|
snprintf(strLat, 8,"%7.03f", a->lat);
|
||||||
|
snprintf(strLon, 9,"%8.03f", a->lon);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trackDataValid(&a->airground_valid) && a->airground == AG_GROUND) {
|
||||||
|
snprintf(strFl, 7," grnd");
|
||||||
|
} else if (Modes.use_gnss && trackDataValid(&a->altitude_geom_valid)) {
|
||||||
|
snprintf(strFl, 7, "%5dH", convert_altitude(a->altitude_geom));
|
||||||
|
} else if (trackDataValid(&a->altitude_baro_valid)) {
|
||||||
|
snprintf(strFl, 7, "%5d ", convert_altitude(a->altitude_baro));
|
||||||
|
}
|
||||||
|
|
||||||
|
mvprintw(row, 0, "%s%06X %-4s %-4s %-8s %6s %3s %3s %7s %8s %5.1f %5d %2.0f",
|
||||||
|
(a->addr & MODES_NON_ICAO_ADDRESS) ? "~" : " ", (a->addr & 0xffffff),
|
||||||
|
strMode, strSquawk, a->callsign, strFl, strGs, strTt,
|
||||||
|
strLat, strLon, 10 * log10(signalAverage), msgs, (now - a->seen)/1000.0);
|
||||||
|
++row;
|
||||||
}
|
}
|
||||||
a = a->next;
|
a = a->next;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue