Add --show-only for extracting messages from a single plane.
This commit is contained in:
parent
b804359077
commit
e1d262d992
|
@ -264,6 +264,9 @@ void modesInit(void) {
|
|||
// Prepare error correction tables
|
||||
modesChecksumInit(Modes.nfix_crc);
|
||||
icaoFilterInit();
|
||||
|
||||
if (Modes.show_only)
|
||||
icaoFilterAdd(Modes.show_only);
|
||||
}
|
||||
//
|
||||
// =============================== RTLSDR handling ==========================
|
||||
|
@ -603,6 +606,7 @@ void showHelp(void) {
|
|||
"--snip <level> Strip IQ file removing samples < level\n"
|
||||
"--debug <flags> Debug mode (verbose), see README for details\n"
|
||||
"--quiet Disable output to stdout. Use for daemon applications\n"
|
||||
"--show-only <addr> Show only messages from the given ICAO on stdout\n"
|
||||
"--ppm <error> Set receiver error in parts per million (default 0)\n"
|
||||
"--no-decode Don't decode the message contents beyond the minimum necessary\n"
|
||||
"--write-json <dir> Periodically write json output to <dir> (for serving by a separate webserver)\n"
|
||||
|
@ -918,6 +922,8 @@ int main(int argc, char **argv) {
|
|||
Modes.ppm_error = atoi(argv[++j]);
|
||||
} else if (!strcmp(argv[j],"--quiet")) {
|
||||
Modes.quiet = 1;
|
||||
} else if (!strcmp(argv[j],"--show-only") && more) {
|
||||
Modes.show_only = (uint32_t) strtoul(argv[++j], NULL, 16);
|
||||
} else if (!strcmp(argv[j],"--mlat")) {
|
||||
Modes.mlat = 1;
|
||||
} else if (!strcmp(argv[j],"--interactive-rtl1090")) {
|
||||
|
|
|
@ -315,6 +315,7 @@ struct { // Internal state
|
|||
int net_sndbuf_size; // TCP output buffer size (64Kb * 2^n)
|
||||
int net_verbatim; // if true, send the original message, not the CRC-corrected one
|
||||
int quiet; // Suppress stdout
|
||||
uint32_t show_only; // Only show messages from this ICAO
|
||||
int interactive; // Interactive mode
|
||||
int interactive_rows; // Interactive mode: max number of rows
|
||||
uint64_t interactive_display_ttl;// Interactive mode: TTL display
|
||||
|
|
2
mode_s.c
2
mode_s.c
|
@ -1231,7 +1231,7 @@ void useModesMessage(struct modesMessage *mm) {
|
|||
a = trackUpdateFromMessage(mm);
|
||||
|
||||
// In non-interactive non-quiet mode, display messages on standard output
|
||||
if (!Modes.interactive && !Modes.quiet) {
|
||||
if (!Modes.interactive && !Modes.quiet && (!Modes.show_only || mm->addr == Modes.show_only)) {
|
||||
displayModesMessage(mm);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue