Squawk/callsign might not be seen regularly from Mode S transponders

as it relies on SSR interrogation. Increase the FATSV validity
timeout so that any message we do see stays valid long enough to
get reported.
This commit is contained in:
Oliver Jowett 2017-04-21 22:25:41 +01:00
parent fbb87b909f
commit 0d7177fe9a

View file

@ -1944,7 +1944,7 @@ static void writeFATSV()
p += snprintf(p, bufsize(p, end), "\taddrtype\t%s", addrtype_short_string(a->addrtype)); p += snprintf(p, bufsize(p, end), "\taddrtype\t%s", addrtype_short_string(a->addrtype));
} }
if (trackDataValidEx(&a->callsign_valid, now, 15000, SOURCE_MODE_S_CHECKED) && strcmp(a->callsign, " ") != 0 && a->callsign_valid.updated > a->fatsv_last_emitted) { if (trackDataValidEx(&a->callsign_valid, now, 35000, SOURCE_MODE_S_CHECKED) && strcmp(a->callsign, " ") != 0 && a->callsign_valid.updated > a->fatsv_last_emitted) {
p += snprintf(p, bufsize(p,end), "\tident\t%s", a->callsign); p += snprintf(p, bufsize(p,end), "\tident\t%s", a->callsign);
switch (a->callsign_valid.source) { switch (a->callsign_valid.source) {
case SOURCE_MODE_S: case SOURCE_MODE_S:
@ -1965,7 +1965,7 @@ static void writeFATSV()
tisb |= (a->callsign_valid.source == SOURCE_TISB) ? TISB_IDENT : 0; tisb |= (a->callsign_valid.source == SOURCE_TISB) ? TISB_IDENT : 0;
} }
if (trackDataValidEx(&a->squawk_valid, now, 15000, SOURCE_MODE_S) && a->squawk_valid.updated > a->fatsv_last_emitted) { if (trackDataValidEx(&a->squawk_valid, now, 35000, SOURCE_MODE_S) && a->squawk_valid.updated > a->fatsv_last_emitted) {
p += snprintf(p, bufsize(p,end), "\tsquawk\t%04x", a->squawk); p += snprintf(p, bufsize(p,end), "\tsquawk\t%04x", a->squawk);
useful = 1; useful = 1;
tisb |= (a->squawk_valid.source == SOURCE_TISB) ? TISB_SQUAWK : 0; tisb |= (a->squawk_valid.source == SOURCE_TISB) ? TISB_SQUAWK : 0;