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:
parent
c0af448efa
commit
4ecd6958a1
4 changed files with 20 additions and 2 deletions
12
mode_s.c
12
mode_s.c
|
|
@ -1212,8 +1212,18 @@ void useModesMessage(struct modesMessage *mm) {
|
|||
// see a second message?
|
||||
|
||||
if (Modes.net) {
|
||||
if (Modes.net_verbatim || a->messages > 1)
|
||||
if (Modes.net_verbatim || a->messages > 1) {
|
||||
// If this is the second message, and we
|
||||
// squelched the first message, then re-emit the
|
||||
// first message now.
|
||||
if (!Modes.net_verbatim && a->messages == 2) {
|
||||
fprintf(stderr, "reemit first message for %06x\n", a->addr);
|
||||
displayModesMessage(&a->first_message);
|
||||
modesQueueOutput(&a->first_message);
|
||||
}
|
||||
|
||||
modesQueueOutput(mm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue