diff options
-rw-r--r-- | src/ConfigParser.cpp | 14 | ||||
-rw-r--r-- | src/Utils.cpp | 5 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/ConfigParser.cpp b/src/ConfigParser.cpp index e0bf6dc..33e6219 100644 --- a/src/ConfigParser.cpp +++ b/src/ConfigParser.cpp @@ -214,7 +214,8 @@ static void parse_configfile( } mod_settings.useFileOutput = true; - mod_settings.fileOutputFormat = pt.get("fileoutput.format", mod_settings.fileOutputFormat); + mod_settings.fileOutputFormat = pt.get("fileoutput.format", + mod_settings.fileOutputFormat); } #if defined(HAVE_OUTPUT_UHD) else if (output_selected == "uhd") { @@ -409,9 +410,18 @@ void parse_args(int argc, char **argv, mod_settings_t& mod_settings) mod_settings.useFileOutput = true; break; case 'F': + if (mod_settings.useFileOutput) { + mod_settings.fileOutputFormat = optarg; + } #if defined(HAVE_OUTPUT_UHD) - mod_settings.sdr_device_config.frequency = strtof(optarg, NULL); + else if (mod_settings.useUHDOutput) { + mod_settings.sdr_device_config.frequency = strtof(optarg, NULL); + } #endif + else { + fprintf(stderr, "Cannot use -F before setting output!\n"); + throw std::invalid_argument("Invalid command line options"); + } break; case 'g': mod_settings.gainMode = parse_gainmode(optarg); diff --git a/src/Utils.cpp b/src/Utils.cpp index 3efef7f..dd63862 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -75,12 +75,14 @@ void printUsage(const char* progName) fprintf(out, "Usage with command line options:\n"); fprintf(out, "\t%s" " input" - " (-f filename | -u uhddevice -F frequency) " + " (-f filename -F format | -u uhddevice -F frequency)" + "\n\t" " [-G txgain]" " [-o offset]" " [-T filter_taps_file]" " [-a gain]" " [-c clockrate]" + "\n\t" " [-g gainMode]" " [-h]" " [-l]" @@ -93,6 +95,7 @@ void printUsage(const char* progName) fprintf(out, " zmq+tcp://source:port for ZMQ input.\n"); fprintf(out, " udp://:port for EDI input.\n"); fprintf(out, "-f name: Use file output with given filename. (use /dev/stdout for standard output)\n"); + fprintf(out, "-F format: Set the output format (see doc/example.ini for formats) for the file output.\n"); fprintf(out, "-u device: Use UHD output with given device string. (use "" for default device)\n"); fprintf(out, "-F frequency: Set the transmit frequency when using UHD output. (mandatory option when using UHD)\n"); fprintf(out, "-G txgain: Set the transmit gain for the UHD driver (default: 0)\n"); |