If we squelch the first message from an aircraft, emit it when we see a second message.

This is possible now that the SBS output doesn't rely on the global block timestamp;
the output will look like this:

MSG,8,111,11111,4AC954,111111,2015/02/08,17:57:53.917,2015/02/08,17:57:53.936,,,,,,,,,,,,0
MSG,7,111,11111,392AEB,111111,2015/02/08,17:57:53.744,2015/02/08,17:57:53.936,,15375,,,,,,,,,,0
MSG,8,111,11111,392AEB,111111,2015/02/08,17:57:53.917,2015/02/08,17:57:53.936,,,,,,,,,,,,0
MSG,6,111,11111,800387,111111,2015/02/08,17:57:53.919,2015/02/08,17:57:53.936,,,,,,,,4745,0,0,0,0

where the "receive timestamp" (first time column) goes backwards to reflect the original reception
time of the delayed message, but the "forwarded timestamp" (second time column) reflects the actual
forwarding time.
This commit is contained in:
Oliver Jowett 2015-02-08 18:00:18 +00:00
parent c0af448efa
commit 4ecd6958a1
4 changed files with 20 additions and 2 deletions

View file

@ -80,6 +80,10 @@ struct aircraft *trackCreateAircraft(struct modesMessage *mm) {
mm->bFlags |= MODES_ACFLAGS_ALTITUDE_VALID;
}
}
// Copy the first message so we can emit it later when a second message arrives.
a->first_message = *mm;
return (a);
}