diff --git a/dump1090.c b/dump1090.c index 7fa5327a3..9a8d73b2a 100644 --- a/dump1090.c +++ b/dump1090.c @@ -143,6 +143,7 @@ struct { int enable_agc; rtlsdr_dev_t *dev; int freq; + int ppm; /* Networking */ char aneterr[ANET_ERR_LEN]; @@ -274,6 +275,7 @@ void modesInitConfig(void) { Modes.interactive_ttl = MODES_INTERACTIVE_TTL; Modes.aggressive = 0; Modes.interactive_rows = getTermRows(); + Modes.ppm=0; } void modesInit(void) { @@ -334,7 +336,6 @@ void modesInit(void) { void modesInitRTLSDR(void) { int j; int device_count; - int ppm_error = 0; char vendor[256], product[256], serial[256]; device_count = rtlsdr_get_device_count(); @@ -374,7 +375,7 @@ void modesInitRTLSDR(void) { } else { fprintf(stderr, "Using automatic gain control.\n"); } - rtlsdr_set_freq_correction(Modes.dev, ppm_error); + rtlsdr_set_freq_correction(Modes.dev, Modes.ppm); if (Modes.enable_agc) rtlsdr_set_agc_mode(Modes.dev, 1); rtlsdr_set_center_freq(Modes.dev, Modes.freq); rtlsdr_set_sample_rate(Modes.dev, MODES_DEFAULT_RATE); @@ -2422,6 +2423,7 @@ void showHelp(void) { "--gain Set gain (default: max gain. Use -100 for auto-gain).\n" "--enable-agc Enable the Automatic Gain Control (default: off).\n" "--freq Set frequency (default: 1090 Mhz).\n" +"--ppm Set ppm error (default: 0).\n" "--ifile Read data from file (use '-' for stdin).\n" "--interactive Interactive mode refreshing data on screen.\n" "--interactive-rows Max number of rows in interactive mode (default: 15).\n" @@ -2492,6 +2494,8 @@ int main(int argc, char **argv) { Modes.enable_agc++; } else if (!strcmp(argv[j],"--freq") && more) { Modes.freq = strtoll(argv[++j],NULL,10); + } else if (!strcmp(argv[j],"--ppm") && more) { + Modes.ppm = strtoll(argv[++j],NULL,10); } else if (!strcmp(argv[j],"--ifile") && more) { Modes.filename = strdup(argv[++j]); } else if (!strcmp(argv[j],"--no-fix")) {