diff options
| author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-02-12 10:43:06 +0100 | 
|---|---|---|
| committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2015-02-12 10:43:06 +0100 | 
| commit | 7bacaf3818494cf706f7372cb6cd194dbaf3f251 (patch) | |
| tree | 04f58996b032da928ba8a462577b2bb4c9677acd | |
| parent | a84687a3e0776f47deec0ddb7b8f2a47eb0ea877 (diff) | |
| download | dabmod-7bacaf3818494cf706f7372cb6cd194dbaf3f251.tar.gz dabmod-7bacaf3818494cf706f7372cb6cd194dbaf3f251.tar.bz2 dabmod-7bacaf3818494cf706f7372cb6cd194dbaf3f251.zip | |
Move some code from DabMod into Utils
| -rw-r--r-- | Makefile.am | 7 | ||||
| -rw-r--r-- | src/DabMod.cpp | 90 | ||||
| -rw-r--r-- | src/Utils.cpp | 119 | ||||
| -rw-r--r-- | src/Utils.h | 44 | 
4 files changed, 171 insertions, 89 deletions
| diff --git a/Makefile.am b/Makefile.am index 3f5d639..fa8afd0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,10 @@  # Copyright (C) 2007, 2008, 2009, 2010 Her Majesty the Queen in Right  # of Canada (Communications Research Center Canada)  # -# Copyright (C) 2014 Matthias P. Braendli, http://mpb.li +#  Copyright (C) 2014, 2015 +#  Matthias P. Braendli, matthias.braendli@mpb.li + +#   http://opendigitalradio.org  # This file is part of ODR-DabMod.  #  @@ -160,6 +163,8 @@ odr_dabmod_SOURCES  = src/DabMod.cpp \  					  src/RemoteControl.h \  					  src/FormatConverter.cpp \  					  src/FormatConverter.h \ +					  src/Utils.cpp \ +					  src/Utils.h \  					  src/zmq.hpp  dist_bin_SCRIPTS = src/crc-dwap.py diff --git a/src/DabMod.cpp b/src/DabMod.cpp index 77e5da4..1bbfc99 100644 --- a/src/DabMod.cpp +++ b/src/DabMod.cpp @@ -3,7 +3,7 @@     Her Majesty the Queen in Right of Canada (Communications Research     Center Canada) -   Copyright (C) 2014 +   Copyright (C) 2014, 2015     Matthias P. Braendli, matthias.braendli@mpb.li      http://opendigitalradio.org @@ -30,7 +30,7 @@  #endif  #include "porting.h" - +#include "Utils.h"  #include "Log.h"  #include "DabModulator.h"  #include "InputMemory.h" @@ -81,92 +81,6 @@ void signalHandler(int signalNb)      running = 0;  } - -void printUsage(char* progName, FILE* out = stderr) -{ -    fprintf(out, "Welcome to %s %s, compiled at %s, %s\n\n", -            PACKAGE, -#if defined(GITVERSION) -            GITVERSION, -#else -            VERSION, -#endif -            __DATE__, __TIME__); -    fprintf(out, "Usage with configuration file:\n"); -    fprintf(out, "\t%s [-C] config_file.ini\n\n", progName); - -    fprintf(out, "Usage with command line options:\n"); -    fprintf(out, "\t%s" -            " input" -            " (-f filename | -u uhddevice -F frequency) " -            " [-G txgain]" -            " [-o offset]" -            " [-O offsetfile]" -            " [-T filter_taps_file]" -            " [-a gain]" -            " [-c clockrate]" -            " [-g gainMode]" -            " [-h]" -            " [-l]" -            " [-m dabMode]" -            " [-r samplingRate]" -            "\n", progName); -    fprintf(out, "Where:\n"); -    fprintf(out, "input:         ETI input filename (default: stdin).\n"); -    fprintf(out, "-f name:       Use file output with given filename. (use /dev/stdout for standard 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"); -    fprintf(out, "-o:            (UHD only) Set the timestamp offset added to the timestamp in the ETI. The offset is a double.\n"); -    fprintf(out, "-O:            (UHD only) Set the file containing the timestamp offset added to the timestamp in the ETI.\n" -                                 "The file is read every six seconds, and must contain a double value.\n"); -    fprintf(out, "                  Specifying either -o or -O has two implications: It enables synchronous transmission,\n" -                 "                  requiring an external REFCLK and PPS signal and frames that do not contain a valid timestamp\n" -                 "                  get muted.\n\n"); -    fprintf(out, "-T taps_file:  Enable filtering before the output, using the specified file containing the filter taps.\n"); -    fprintf(out, "-a gain:       Apply digital amplitude gain.\n"); -    fprintf(out, "-c rate:       Set the DAC clock rate and enable Cic Equalisation.\n"); -    fprintf(out, "-g:            Set computation gain mode: " -            "%u FIX, %u MAX, %u VAR\n", GAIN_FIX, GAIN_MAX, GAIN_VAR); -    fprintf(out, "-h:            Print this help.\n"); -    fprintf(out, "-l:            Loop file when reach end of file.\n"); -    fprintf(out, "-m mode:       Set DAB mode: (0: auto, 1-4: force).\n"); -    fprintf(out, "-r rate:       Set output sampling rate (default: 2048000).\n"); -} - - -void printVersion(FILE *out = stderr) -{ -    fprintf(out, "Welcome to %s %s, compiled at %s, %s\n\n", -            PACKAGE, VERSION, __DATE__, __TIME__); -    fprintf(out, -            "    ODR-DabMod is copyright (C) Her Majesty the Queen in Right of Canada,\n" -            "    2009, 2010, 2011, 2012 Communications Research Centre (CRC),\n" -            "     and\n" -            "    Copyright (C) 2014 Matthias P. Braendli, matthias.braendli@mpb.li\n" -            "\n" -            "    http://opendigitalradio.org\n" -            "\n" -            "    This program is available free of charge and is licensed to you on a\n" -            "    non-exclusive basis; you may not redistribute it.\n" -            "\n" -            "    This program is provided \"AS IS\" in the hope that it will be useful, but\n" -            "    WITHOUT ANY WARRANTY with respect to its accurancy or usefulness; witout\n" -            "    even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" -            "    PURPOSE and NONINFRINGEMENT.\n" -            "\n" -            "    In no event shall CRC be LIABLE for any LOSS, DAMAGE or COST that may be\n" -            "    incurred in connection with the use of this software.\n" -            "\n" -#if USE_KISS_FFT -            "ODR-DabMod makes use of the following open source packages:\n" -            "    Kiss FFT v1.2.9 (Revised BSD) - http://kissfft.sourceforge.net/\n" -#endif -           ); - -} - -  int main(int argc, char* argv[])  {      int ret = 0; diff --git a/src/Utils.cpp b/src/Utils.cpp new file mode 100644 index 0000000..5c80eee --- /dev/null +++ b/src/Utils.cpp @@ -0,0 +1,119 @@ +/* +   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +   Her Majesty the Queen in Right of Canada (Communications Research +   Center Canada) + +   Copyright (C) 2015 +   Matthias P. Braendli, matthias.braendli@mpb.li + +    http://opendigitalradio.org + */ +/* +   This file is part of ODR-DabMod. + +   ODR-DabMod is free software: you can redistribute it and/or modify +   it under the terms of the GNU General Public License as +   published by the Free Software Foundation, either version 3 of the +   License, or (at your option) any later version. + +   ODR-DabMod is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +   GNU General Public License for more details. + +   You should have received a copy of the GNU General Public License +   along with ODR-DabMod.  If not, see <http://www.gnu.org/licenses/>. + */ + +#include "Utils.h" +#include "GainControl.h" + +void printUsage(char* progName) +{ +    FILE* out = stderr; + +    fprintf(out, "Welcome to %s %s, compiled at %s, %s\n\n", +            PACKAGE, +#if defined(GITVERSION) +            GITVERSION, +#else +            VERSION, +#endif +            __DATE__, __TIME__); +    fprintf(out, "Usage with configuration file:\n"); +    fprintf(out, "\t%s [-C] config_file.ini\n\n", progName); + +    fprintf(out, "Usage with command line options:\n"); +    fprintf(out, "\t%s" +            " input" +            " (-f filename | -u uhddevice -F frequency) " +            " [-G txgain]" +            " [-o offset]" +            " [-O offsetfile]" +            " [-T filter_taps_file]" +            " [-a gain]" +            " [-c clockrate]" +            " [-g gainMode]" +            " [-h]" +            " [-l]" +            " [-m dabMode]" +            " [-r samplingRate]" +            "\n", progName); +    fprintf(out, "Where:\n"); +    fprintf(out, "input:         ETI input filename (default: stdin).\n"); +    fprintf(out, "-f name:       Use file output with given filename. (use /dev/stdout for standard 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"); +    fprintf(out, "-o:            (UHD only) Set the timestamp offset added to the timestamp in the ETI. The offset is a double.\n"); +    fprintf(out, "-O:            (UHD only) Set the file containing the timestamp offset added to the timestamp in the ETI.\n" +                                 "The file is read every six seconds, and must contain a double value.\n"); +    fprintf(out, "                  Specifying either -o or -O has two implications: It enables synchronous transmission,\n" +                 "                  requiring an external REFCLK and PPS signal and frames that do not contain a valid timestamp\n" +                 "                  get muted.\n\n"); +    fprintf(out, "-T taps_file:  Enable filtering before the output, using the specified file containing the filter taps.\n"); +    fprintf(out, "-a gain:       Apply digital amplitude gain.\n"); +    fprintf(out, "-c rate:       Set the DAC clock rate and enable Cic Equalisation.\n"); +    fprintf(out, "-g:            Set computation gain mode: " +            "%u FIX, %u MAX, %u VAR\n", GAIN_FIX, GAIN_MAX, GAIN_VAR); +    fprintf(out, "-h:            Print this help.\n"); +    fprintf(out, "-l:            Loop file when reach end of file.\n"); +    fprintf(out, "-m mode:       Set DAB mode: (0: auto, 1-4: force).\n"); +    fprintf(out, "-r rate:       Set output sampling rate (default: 2048000).\n"); +} + + +void printVersion(void) +{ +    FILE *out = stderr; + +    fprintf(out, "Welcome to %s %s, compiled at %s, %s\n\n", +            PACKAGE, VERSION, __DATE__, __TIME__); +    fprintf(out, +            "    ODR-DabMod is copyright (C) Her Majesty the Queen in Right of Canada,\n" +            "    2009, 2010, 2011, 2012 Communications Research Centre (CRC),\n" +            "     and\n" +            "    Copyright (C) 2014 Matthias P. Braendli, matthias.braendli@mpb.li\n" +            "\n" +            "    http://opendigitalradio.org\n" +            "\n" +            "    This program is available free of charge and is licensed to you on a\n" +            "    non-exclusive basis; you may not redistribute it.\n" +            "\n" +            "    This program is provided \"AS IS\" in the hope that it will be useful, but\n" +            "    WITHOUT ANY WARRANTY with respect to its accurancy or usefulness; witout\n" +            "    even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR\n" +            "    PURPOSE and NONINFRINGEMENT.\n" +            "\n" +            "    In no event shall CRC be LIABLE for any LOSS, DAMAGE or COST that may be\n" +            "    incurred in connection with the use of this software.\n" +            "\n" +#if USE_KISS_FFT +            "ODR-DabMod makes use of the following open source packages:\n" +            "    Kiss FFT v1.2.9 (Revised BSD) - http://kissfft.sourceforge.net/\n" +#endif +           ); + +} + + diff --git a/src/Utils.h b/src/Utils.h new file mode 100644 index 0000000..7c3129c --- /dev/null +++ b/src/Utils.h @@ -0,0 +1,44 @@ +/* +   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +   Her Majesty the Queen in Right of Canada (Communications Research +   Center Canada) + +   Copyright (C) 2015 +   Matthias P. Braendli, matthias.braendli@mpb.li + +    http://opendigitalradio.org + */ +/* +   This file is part of ODR-DabMod. + +   ODR-DabMod is free software: you can redistribute it and/or modify +   it under the terms of the GNU General Public License as +   published by the Free Software Foundation, either version 3 of the +   License, or (at your option) any later version. + +   ODR-DabMod is distributed in the hope that it will be useful, +   but WITHOUT ANY WARRANTY; without even the implied warranty of +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +   GNU General Public License for more details. + +   You should have received a copy of the GNU General Public License +   along with ODR-DabMod.  If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef __UTILS_H_ +#define __UTILS_H_ + +#ifdef HAVE_CONFIG_H +#   include "config.h" +#endif + +#include <stdlib.h> +#include <unistd.h> +#include <stdio.h> + +void printUsage(char* progName); + +void printVersion(void); + +#endif + | 
