Add --throttle option.
This gives access to the existing throttling behaviour when reading from a file with --interactive, without needing to actually have --interactive. This is useful when testing, as without --throttle samples will be processsed much faster than real-time, which can produce different results with e.g. aircraft/filter expiry times and position/speed checks.
This commit is contained in:
parent
21bdc45bf0
commit
e7e9cecc1a
|
@ -558,7 +558,7 @@ void readDataFromFile(void) {
|
||||||
// Convert the new data
|
// Convert the new data
|
||||||
convert_samples(readbuf, &outbuf->data[Modes.trailing_samples], slen, &outbuf->total_power);
|
convert_samples(readbuf, &outbuf->data[Modes.trailing_samples], slen, &outbuf->total_power);
|
||||||
|
|
||||||
if (Modes.interactive) {
|
if (Modes.throttle) {
|
||||||
// Wait until we are allowed to release this buffer to the main thread
|
// Wait until we are allowed to release this buffer to the main thread
|
||||||
while (clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &next_buffer_delivery, NULL) == EINTR)
|
while (clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &next_buffer_delivery, NULL) == EINTR)
|
||||||
;
|
;
|
||||||
|
@ -670,7 +670,8 @@ void showHelp(void) {
|
||||||
"--freq <hz> Set frequency (default: 1090 Mhz)\n"
|
"--freq <hz> Set frequency (default: 1090 Mhz)\n"
|
||||||
"--ifile <filename> Read data from file (use '-' for stdin)\n"
|
"--ifile <filename> Read data from file (use '-' for stdin)\n"
|
||||||
"--iformat <format> Sample format for --ifile: UC8 (default), SC16, or SC16Q11\n"
|
"--iformat <format> Sample format for --ifile: UC8 (default), SC16, or SC16Q11\n"
|
||||||
"--interactive Interactive mode refreshing data on screen\n"
|
"--throttle When reading from a file, play back in realtime, not at max speed\n"
|
||||||
|
"--interactive Interactive mode refreshing data on screen. Implies --throttle\n"
|
||||||
"--interactive-rows <num> Max number of rows in interactive mode (default: 15)\n"
|
"--interactive-rows <num> Max number of rows in interactive mode (default: 15)\n"
|
||||||
"--interactive-ttl <sec> Remove from list if idle for <sec> (default: 60)\n"
|
"--interactive-ttl <sec> Remove from list if idle for <sec> (default: 60)\n"
|
||||||
"--interactive-rtl1090 Display flight table in RTL1090 format\n"
|
"--interactive-rtl1090 Display flight table in RTL1090 format\n"
|
||||||
|
@ -997,7 +998,9 @@ int main(int argc, char **argv) {
|
||||||
} else if (!strcmp(argv[j],"--aggressive")) {
|
} else if (!strcmp(argv[j],"--aggressive")) {
|
||||||
Modes.nfix_crc = MODES_MAX_BITERRORS;
|
Modes.nfix_crc = MODES_MAX_BITERRORS;
|
||||||
} else if (!strcmp(argv[j],"--interactive")) {
|
} else if (!strcmp(argv[j],"--interactive")) {
|
||||||
Modes.interactive = 1;
|
Modes.interactive = Modes.throttle = 1;
|
||||||
|
} else if (!strcmp(argv[j],"--throttle")) {
|
||||||
|
Modes.throttle = 1;
|
||||||
} else if (!strcmp(argv[j],"--interactive-rows") && more) {
|
} else if (!strcmp(argv[j],"--interactive-rows") && more) {
|
||||||
Modes.interactive_rows = atoi(argv[++j]);
|
Modes.interactive_rows = atoi(argv[++j]);
|
||||||
} else if (!strcmp(argv[j],"--interactive-ttl") && more) {
|
} else if (!strcmp(argv[j],"--interactive-ttl") && more) {
|
||||||
|
|
|
@ -339,6 +339,7 @@ struct { // Internal state
|
||||||
char *json_dir; // Path to json base directory, or NULL not to write json.
|
char *json_dir; // Path to json base directory, or NULL not to write json.
|
||||||
uint64_t json_interval; // Interval between rewriting the json aircraft file, in milliseconds; also the advertised map refresh interval
|
uint64_t json_interval; // Interval between rewriting the json aircraft file, in milliseconds; also the advertised map refresh interval
|
||||||
int json_location_accuracy; // Accuracy of location metadata: 0=none, 1=approx, 2=exact
|
int json_location_accuracy; // Accuracy of location metadata: 0=none, 1=approx, 2=exact
|
||||||
|
int throttle; // When reading from a file, throttle file playback to realtime?
|
||||||
|
|
||||||
int json_aircraft_history_next;
|
int json_aircraft_history_next;
|
||||||
struct {
|
struct {
|
||||||
|
|
Loading…
Reference in a new issue