Default to not forwarding mlat messages. Add --forward-mlat option to enable it.
This commit is contained in:
parent
5ef9bdd6f3
commit
e3cd88e24a
|
|
@ -428,6 +428,7 @@ void showHelp(void) {
|
|||
"--net-ro-rate <rate> TCP raw output memory flush rate (default: 0)\n"
|
||||
"--net-heartbeat <rate> TCP heartbeat rate in seconds (default: 60 sec; 0 to disable)\n"
|
||||
"--net-buffer <n> TCP buffer size 64Kb * (2^n) (default: n=0, 64Kb)\n"
|
||||
"--forward-mlat Allow forwarding of received mlat results to output ports\n"
|
||||
"--lat <latitude> Reference/receiver latitude for surface posn (opt)\n"
|
||||
"--lon <longitude> Reference/receiver longitude for surface posn (opt)\n"
|
||||
"--fix Enable single-bits error correction using CRC\n"
|
||||
|
|
@ -736,6 +737,8 @@ int main(int argc, char **argv) {
|
|||
Modes.net_output_sbs_port = atoi(argv[++j]);
|
||||
} else if (!strcmp(argv[j],"--net-buffer") && more) {
|
||||
Modes.net_sndbuf_size = atoi(argv[++j]);
|
||||
} else if (!strcmp(argv[j],"--forward-mlat")) {
|
||||
Modes.forward_mlat = 1;
|
||||
} else if (!strcmp(argv[j],"--onlyaddr")) {
|
||||
Modes.onlyaddr = 1;
|
||||
} else if (!strcmp(argv[j],"--metric")) {
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ struct { // Internal state
|
|||
int net_fatsv_port; // FlightAware TSV port
|
||||
int no_rtlsdr_ok; // keep going if no RTLSDR dev found
|
||||
int net_sndbuf_size; // TCP output buffer size (64Kb * 2^n)
|
||||
int forward_mlat; // enable forwarding of mlat to output ports
|
||||
int quiet; // Suppress stdout
|
||||
int interactive; // Interactive mode
|
||||
int interactive_rows; // Interactive mode: max number of rows
|
||||
|
|
|
|||
|
|
@ -371,9 +371,7 @@ struct aircraft *interactiveReceiveData(struct modesMessage *mm, struct client *
|
|||
//If we sucessfully decoded, back copy the results to mm so that we can print them in list output
|
||||
if (location_ok) {
|
||||
mm->bFlags |= MODES_ACFLAGS_LATLON_VALID;
|
||||
if (mm->timestampMsg == 0xFF004D4C4154) // Magic mlat timestamp
|
||||
mm->bFlags |= MODES_ACFLAGS_MLAT;
|
||||
else
|
||||
if (!(mm->bFlags & MODES_ACFLAGS_MLAT))
|
||||
a->bFlags &= ~MODES_ACFLAGS_MLAT;
|
||||
mm->fLat = a->lat;
|
||||
mm->fLon = a->lon;
|
||||
|
|
|
|||
3
mode_s.c
3
mode_s.c
|
|
@ -838,6 +838,9 @@ void decodeModesMessage(struct modesMessage *mm, unsigned char *msg) {
|
|||
memcpy(mm->msg, msg, MODES_LONG_MSG_BYTES);
|
||||
msg = mm->msg;
|
||||
|
||||
if (mm->remote && mm->timestampMsg == 0xFF004D4C4154) // Magic mlat timestamp
|
||||
mm->bFlags |= MODES_ACFLAGS_MLAT;
|
||||
|
||||
// Get the message type ASAP as other operations depend on this
|
||||
mm->msgtype = msg[0] >> 3; // Downlink Format
|
||||
mm->msgbits = modesMessageLenByType(mm->msgtype);
|
||||
|
|
|
|||
3
net_io.c
3
net_io.c
|
|
@ -473,6 +473,9 @@ void modesSendSBSOutput(struct modesMessage *mm) {
|
|||
//=========================================================================
|
||||
//
|
||||
void modesQueueOutput(struct modesMessage *mm) {
|
||||
if ((mm->bFlags & MODES_ACFLAGS_MLAT) && !Modes.forward_mlat)
|
||||
return;
|
||||
|
||||
if (Modes.stat_sbs_connections) {modesSendSBSOutput(mm);}
|
||||
if (Modes.stat_beast_connections) {modesSendBeastOutput(mm);}
|
||||
if (Modes.stat_raw_connections) {modesSendRawOutput(mm);}
|
||||
|
|
|
|||
Loading…
Reference in New Issue