From cb0dbc4ce18bfe3c2c08ac158f0a6b6b99cfbc6b Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 22 May 2018 22:09:28 +0200 Subject: [PATCH 1/8] Catch exception --- src/utils/front-end-cal/main.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/utils/front-end-cal/main.cc b/src/utils/front-end-cal/main.cc index db8e8baae..7a90e0cc8 100644 --- a/src/utils/front-end-cal/main.cc +++ b/src/utils/front-end-cal/main.cc @@ -449,7 +449,14 @@ int main(int argc, char** argv) { std::cout << " . "; } - channel_internal_queue.push(3); + try + { + channel_internal_queue.push(3); + } + catch (const boost::exception& e) + { + LOG(INFO) << "Exception caught while pushing to he internal queue."; + } try { ch_thread.join(); From 85278eb454aff9ce34a3e66979d35282bf32bf9b Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 25 May 2018 12:17:19 +0200 Subject: [PATCH 2/8] Update reference --- src/utils/reproducibility/ieee-access18/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/reproducibility/ieee-access18/README.md b/src/utils/reproducibility/ieee-access18/README.md index 62098afaa..58a2350ff 100644 --- a/src/utils/reproducibility/ieee-access18/README.md +++ b/src/utils/reproducibility/ieee-access18/README.md @@ -4,7 +4,7 @@ Continuous Reproducibility in GNSS Signal Processing This folder contains files required for the reproduction of the experiment proposed in: -C. Fernández-Prades, J. Vilà-Valls, J. Arribas and A. Ramos, [*Continuous Reproducibility in GNSS Signal Processing*](http://ieeexplore.ieee.org/document/8331069/), IEEE Access, accepted for publication, April 2018. DOI: 10.1109/ACCESS.2018.2822835 +C. Fernández-Prades, J. Vilà-Valls, J. Arribas and A. Ramos, [*Continuous Reproducibility in GNSS Signal Processing*](https://ieeexplore.ieee.org/document/8331069/), IEEE Access, Vol. 6, No. 1, pp. 20451-20463, April 2018. DOI: [10.1109/ACCESS.2018.2822835](https://doi.org/10.1109/ACCESS.2018.2822835) The data set used in this paper is available at https://zenodo.org/record/1184601 From 9dc85f19b154d5afff58308d7c983ca6919f06bc Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 25 May 2018 13:44:57 +0200 Subject: [PATCH 3/8] Update links --- AUTHORS | 112 +++++++++--------- MANIFEST.md | 5 +- docs/doxygen/Doxyfile.in | 26 ++-- .../volk_gnsssdr/Doxyfile.in | 39 +++--- .../python/volk_gnsssdr_modtool/README | 3 +- 5 files changed, 91 insertions(+), 94 deletions(-) diff --git a/AUTHORS b/AUTHORS index 0416cfe97..f83920adb 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,56 +1,56 @@ -GNSS-SDR Authorship ------------------------------------------------------------------------------- - -The GNSS-SDR project is hosted and sponsored by the Centre Tecnologic de -Telecomunicacions de Catalunya (CTTC), a non-profit research foundation located -in Castelldefels (40.396764 N, 3.713379 E), 20 km south of Barcelona, Spain. -GNSS-SDR is the by-product of GNSS research conducted at the Communications -Systems Division of CTTC, and it is the combined effort of students, -software engineers and researchers from different institutions around the World. - -Contact Information ------------------------------------------------------------------------------- - GNSS-SDR Homepage - ---------------------------- - https://gnss-sdr.org - - - CTTC Homepage - ---------------------------- - http://www.cttc.cat - - - Mailing Lists - ---------------------------- - gnss-sdr-developers@lists.sourceforge.net - https://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers - - - Email - ---------------------------- - Inquiries beyond the mailing list can be sent to carles.fernandez@cttc.cat - - -List of authors ------------------------------------------------------------------------------- -Carles Fernandez-Prades carles.fernandez@cttc.cat Project manager -Javier Arribas javier.arribas@cttc.es Developer -Luis Esteve Elfau luis@epsilon-formacion.com Developer -Antonio Ramos antonio.ramos@cttc.es Developer -Marc Majoral marc.majoral@cttc.cat Developer -Pau Closas pau.closas@northeastern.edu Consultant -Jordi Vila-Valls jordi.vila@cttc.cat Consultant -Carlos Aviles carlos.avilesr@googlemail.com Contributor -David Pubill david.pubill@cttc.cat Contributor -Mara Branzanti mara.branzanti@gmail.com Contributor -Marc Molina marc.molina.pena@gmail.com Contributor -Daniel Fehr daniel.co@bluewin.ch Contributor -Marc Sales marcsales92@gmail.com Contributor -Damian Miralles dmiralles2009@gmail.com Contributor -Andres Cecilia Luque a.cecilia.luque@gmail.com Contributor -Leonardo Tonetto tonetto.dev@gmail.com Contributor -Anthony Arnold anthony.arnold@uqconnect.edu.au Contributor -Fran Fabra fabra@ice.csic.es Contributor -Cillian O'Driscoll cillian.odriscoll@gmail.com Contributor -Gabriel Araujo gabriel.araujo.5000@gmail.com Contributor -Carlos Paniego carpanie@hotmail.com Artwork +GNSS-SDR Authorship +------------------------------------------------------------------------------ + +The GNSS-SDR project is hosted and sponsored by the Centre Tecnologic de +Telecomunicacions de Catalunya (CTTC), a non-profit research foundation located +in Castelldefels (40.396764 N, 3.713379 E), 20 km south of Barcelona, Spain. +GNSS-SDR is the by-product of GNSS research conducted at the Communications +Systems Division of CTTC, and it is the combined effort of students, +software engineers and researchers from different institutions around the World. + +Contact Information +------------------------------------------------------------------------------ + GNSS-SDR Homepage + ---------------------------- + https://gnss-sdr.org + + + CTTC Homepage + ---------------------------- + http://www.cttc.cat + + + Mailing Lists + ---------------------------- + gnss-sdr-developers@lists.sourceforge.net + https://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers + + + Email + ---------------------------- + Inquiries beyond the mailing list can be sent to carles.fernandez@cttc.cat + + +List of authors +------------------------------------------------------------------------------ +Carles Fernández-Prades carles.fernandez@cttc.cat Project manager +Javier Arribas javier.arribas@cttc.es Developer +Luis Esteve Elfau luis@epsilon-formacion.com Developer +Antonio Ramos antonio.ramosdet@gmail.com Developer +Marc Majoral marc.majoral@cttc.cat Developer +Jordi Vilà-Valls jordi.vila@cttc.cat Consultant +Pau Closas pau.closas@northeastern.edu Consultant +Andres Cecilia Luque a.cecilia.luque@gmail.com Contributor +Anthony Arnold anthony.arnold@uqconnect.edu.au Contributor +Carlos Avilés carlos.avilesr@googlemail.com Contributor +Cillian O'Driscoll cillian.odriscoll@gmail.com Contributor +Damian Miralles dmiralles2009@gmail.com Contributor +Daniel Fehr daniel.co@bluewin.ch Contributor +David Pubill david.pubill@cttc.cat Contributor +Fran Fabra fabra@ice.csic.es Contributor +Gabriel Araujo gabriel.araujo.5000@gmail.com Contributor +Leonardo Tonetto tonetto.dev@gmail.com Contributor +Mara Branzanti mara.branzanti@gmail.com Contributor +Marc Molina marc.molina.pena@gmail.com Contributor +Marc Sales marcsales92@gmail.com Contributor +Carlos Paniego carpanie@hotmail.com Artwork diff --git a/MANIFEST.md b/MANIFEST.md index ad39cfa7a..d98411e9f 100644 --- a/MANIFEST.md +++ b/MANIFEST.md @@ -5,17 +5,18 @@ tags: - gnss - gps - Galileo + - Glonass author: - Carles Fernandez-Prades - Javier Arribas - et altri (see AUTHORS file for a list of contributors) copyright_owner: - The Authors -dependencies: gnuradio (>= 3.7.3), armadillo, gflags, glog, gnutls +dependencies: gnuradio (>= 3.7.3), armadillo, gflags, glog, gnutls, matio license: GPLv3+ repo: https://github.com/gnss-sdr/gnss-sdr website: https://gnss-sdr.org -icon: https://a.fsdn.com/con/app/proj/gnss-sdr/screenshots/logo400x400.jpg +icon: https://raw.githubusercontent.com/gnss-sdr/gnss-sdr/master/docs/doxygen/images/gnss-sdr_logo.png --- Global Navigation Satellite Systems receiver defined by software. It performs all the signal processing from raw signal samples up to the computation of the Position-Velocity-Time solution, diff --git a/docs/doxygen/Doxyfile.in b/docs/doxygen/Doxyfile.in index 9d0978e3f..28b3c9d2a 100644 --- a/docs/doxygen/Doxyfile.in +++ b/docs/doxygen/Doxyfile.in @@ -21,7 +21,7 @@ # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. +# https://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 @@ -551,7 +551,7 @@ LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. @@ -623,7 +623,7 @@ INPUT = @top_srcdir@/src @top_srcdir@/docs/doxygen/other # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# into libc) for the transcoding. See https://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 @@ -796,7 +796,7 @@ SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You +# tagging system (see https://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO @@ -875,7 +875,7 @@ HTML_STYLESHEET = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the stylesheet and background images # according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. +# see https://en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. # The allowed range is 0 to 359. @@ -925,8 +925,6 @@ HTML_DYNAMIC_SECTIONS = NO # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. GENERATE_DOCSET = NO @@ -1123,7 +1121,7 @@ FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the +# (see https://www.mathjax.org) which uses client side Javascript for the # rendering instead of using prerendered bitmaps. Use this if you do not # have LaTeX installed or if you want to formulas look prettier in the HTML # output. When enabled you also need to install MathJax separately and @@ -1133,7 +1131,7 @@ USE_MATHJAX = @GNSSSDR_USE_MATHJAX@ # When MathJax is enabled you can set the default output format to be used for # the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# https://docs.mathjax.org/en/latest/output.html) for more details. # Possible values are: HTML-CSS (which is slower, but has the best # compatibility), NativeMML (i.e. MathML) and SVG. # The default value is: HTML-CSS. @@ -1149,7 +1147,7 @@ MATHJAX_FORMAT = HTML-CSS # MathJax, but it is strongly recommended to install a local copy of MathJax # before deployment. -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_RELPATH = https://cdnjs.com/libraries/mathjax/ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example @@ -1160,7 +1158,7 @@ MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: https://docs.mathjax.org/en/latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1194,7 +1192,7 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1207,7 +1205,7 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and +# Xapian (see: https://xapian.org/). See the section "External Indexing and # Searching" for details. # This tag requires that the tag SEARCHENGINE is set to YES. @@ -1358,7 +1356,7 @@ LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/Doxyfile.in b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/Doxyfile.in index 8fa50f08d..4d9e579a3 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/Doxyfile.in +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/Doxyfile.in @@ -20,7 +20,7 @@ # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all text # before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv +# built into libc) for the transcoding. See https://www.gnu.org/software/libiconv # for the list of possible encodings. # The default value is: UTF-8. @@ -287,7 +287,7 @@ EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. +# documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. @@ -320,7 +320,7 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# https://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. @@ -679,7 +679,7 @@ LAYOUT_FILE = @PROJECT_SOURCE_DIR@/DoxygenLayout.xml # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. Do not use file names with spaces, bibtex cannot handle them. See @@ -761,7 +761,7 @@ INPUT = @PROJECT_SOURCE_DIR@ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of +# documentation (see: https://www.gnu.org/software/libiconv) for the list of # possible encodings. # The default value is: UTF-8. @@ -994,7 +994,7 @@ SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version +# (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: @@ -1137,7 +1137,7 @@ HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the stylesheet and background images according to # this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. @@ -1195,13 +1195,12 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with +# environment (see: https://developer.apple.com/xcode/), introduced with # OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a # Makefile in the HTML output directory. Running make will produce the docset in # that directory and running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. +# startup. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1240,7 +1239,7 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on # Windows. # # The HTML Help Workshop contains a compiler that can convert all HTML output @@ -1453,7 +1452,7 @@ FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering +# https://www.mathjax.org) which uses client side Javascript for the rendering # instead of using prerendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path @@ -1465,7 +1464,7 @@ USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# https://docs.mathjax.org/en/latest/output.html) for more details. # Possible values are: HTML-CSS (which is slower, but has the best # compatibility), NativeMML (i.e. MathML) and SVG. # The default value is: HTML-CSS. @@ -1480,11 +1479,11 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. +# MathJax from https://www.mathjax.org before deployment. +# The default value is: https://cdnjs.com/libraries/mathjax/. # This tag requires that the tag USE_MATHJAX is set to YES. -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest +MATHJAX_RELPATH = https://cdnjs.com/libraries/mathjax/ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example @@ -1495,7 +1494,7 @@ MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: https://docs.mathjax.org/en/latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1542,7 +1541,7 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer ( doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1555,7 +1554,7 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer ( doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and +# Xapian (see: https://xapian.org/). See the section "External Indexing and # Searching" for details. # This tag requires that the tag SEARCHENGINE is set to YES. @@ -1726,7 +1725,7 @@ LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/python/volk_gnsssdr_modtool/README b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/python/volk_gnsssdr_modtool/README index 3820201c2..f0da0f59d 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/python/volk_gnsssdr_modtool/README +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/python/volk_gnsssdr_modtool/README @@ -76,8 +76,7 @@ This will put the code for the new kernel into Other kernels must be added by hand. See the following webpages for more information about creating VOLK kernels: - http://gnuradio.org/doc/doxygen/volk_gnsssdr_guide.html - http://gnuradio.org/redmine/projects/gnuradio/wiki/Volk + https://www.gnuradio.org/doc/doxygen/volk_guide.html ====================================================================== From 321967d028fefe63e5d4b1d89a19a605884ad984 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 25 May 2018 13:55:56 +0200 Subject: [PATCH 4/8] Fix typo --- AUTHORS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index f83920adb..da4b589f9 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,7 +1,7 @@ GNSS-SDR Authorship ------------------------------------------------------------------------------ -The GNSS-SDR project is hosted and sponsored by the Centre Tecnologic de +The GNSS-SDR project is hosted and sponsored by the Centre Tecnològic de Telecomunicacions de Catalunya (CTTC), a non-profit research foundation located in Castelldefels (40.396764 N, 3.713379 E), 20 km south of Barcelona, Spain. GNSS-SDR is the by-product of GNSS research conducted at the Communications From d50d7d7b576ae4ec478d3563f5ee79221c265367 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 25 May 2018 14:46:29 +0200 Subject: [PATCH 5/8] Remove outdated app --- src/utils/gpstk/gnsspvt/CMakeLists.txt | 49 -- .../gpstk/gnsspvt/CMakeModules/FindGLOG.cmake | 103 --- .../gnsspvt/CMakeModules/FindGPSTK.cmake | 87 --- src/utils/gpstk/gnsspvt/README | 62 -- src/utils/gpstk/gnsspvt/src/gnsspvt.cpp | 593 ------------------ .../gpstk/gnsspvt/src/kml_printer_gpstk.cpp | 136 ---- .../gpstk/gnsspvt/src/kml_printer_gpstk.h | 60 -- 7 files changed, 1090 deletions(-) delete mode 100644 src/utils/gpstk/gnsspvt/CMakeLists.txt delete mode 100644 src/utils/gpstk/gnsspvt/CMakeModules/FindGLOG.cmake delete mode 100644 src/utils/gpstk/gnsspvt/CMakeModules/FindGPSTK.cmake delete mode 100644 src/utils/gpstk/gnsspvt/README delete mode 100644 src/utils/gpstk/gnsspvt/src/gnsspvt.cpp delete mode 100644 src/utils/gpstk/gnsspvt/src/kml_printer_gpstk.cpp delete mode 100644 src/utils/gpstk/gnsspvt/src/kml_printer_gpstk.h diff --git a/src/utils/gpstk/gnsspvt/CMakeLists.txt b/src/utils/gpstk/gnsspvt/CMakeLists.txt deleted file mode 100644 index b7255c413..000000000 --- a/src/utils/gpstk/gnsspvt/CMakeLists.txt +++ /dev/null @@ -1,49 +0,0 @@ -# CMAKE for GPSTK by Javier Arribas 2012 -cmake_minimum_required (VERSION 2.6) -project (gnsspvt_project) - -include_directories(${gnsspvt_project_SOURCE_DIR}/src) - -add_library (kml_printer_gpstk ${gnsspvt_project_SOURCE_DIR}/src/kml_printer_gpstk.cpp) -add_executable(gnsspvt ${gnsspvt_project_SOURCE_DIR}/src/gnsspvt.cpp) - -target_link_libraries (gnsspvt kml_printer_gpstk) - -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules/") - -find_package(GPSTK REQUIRED) - -if ( NOT GPSTK_FOUND ) - message(FATAL_ERROR "GPSTK library not found!") -endif( NOT GPSTK_FOUND ) - -find_package(GLOG REQUIRED) -if ( NOT GLOG_FOUND ) - message(FATAL_ERROR "GLOG library not found!") -endif( NOT GLOG_FOUND ) - -include_directories(${GLOG_INCLUDE_DIRS}) - -# IMPORTANT NOTICE: The GPSTK linking order is critical. First it is required to link agains libprocframe to avoid vtable errors -include_directories(${GPSTK_INCLUDE_DIR}/gpstk ${GEOMATICS_INCLUDE_DIR} ${PROCFRAME_INCLUDE_DIR} ${VDRAW_INCLUDE_DIR} ${VPLOT_INCLUDE_DIR} ${RXIO_INCLUDE_DIR}) -# set(LIBS ${LIBS} ${GPSTK_LIBRARIES} ${GEOMATICS_LIBRARIES} ${VDRAW_LIBRARIES} ${VPLOT_LIBRARIES} ${RXIO_LIBRARIES}) -set(LIBS ${LIBS} ${PROCFRAME_LIBRARIES} ${GPSTK_LIBRARIES} ${GEOMATICS_LIBRARIES} ${GLOG_LIBRARIES}) - - -target_link_libraries(gnsspvt ${LIBS}) - -message(STATUS "GPSTK_INCLUDE_DIR="${GLOG_LIBRARIES}) -#message(STATUS "GPSTK_LIBRARIES=${GPSTK_LIBRARIES}") -#message(STATUS "LIBS=${LIBS}") - -# debug info: print all variables -#get_cmake_property(_variableNames VARIABLES) -#foreach (_variableName ${_variableNames}) -# message(STATUS "${_variableName}=${${_variableName}}") -#endforeach() - -#get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES) -#foreach(dir ${dirs}) -# message(STATUS "INCLUDE_DIRECTORIES='${dir}'") -#endforeach() - diff --git a/src/utils/gpstk/gnsspvt/CMakeModules/FindGLOG.cmake b/src/utils/gpstk/gnsspvt/CMakeModules/FindGLOG.cmake deleted file mode 100644 index c4ddbe28a..000000000 --- a/src/utils/gpstk/gnsspvt/CMakeModules/FindGLOG.cmake +++ /dev/null @@ -1,103 +0,0 @@ -# - Try to find the Google Glog library -# -# This module defines the following variables -# -# GLOG_FOUND - Was Glog found -# GLOG_INCLUDE_DIRS - the Glog include directories -# GLOG_LIBRARIES - Link to this -# -# This module accepts the following variables -# -# GLOG_ROOT - Can be set to Glog install path or Windows build path -# -#============================================================================= -# FindGlog.cmake, adapted from FindBullet.cmake which has the following -# copyright - -#----------------------------------------------------------------------------- -# Copyright 2009 Kitware, Inc. -# Copyright 2009 Philip Lowman -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -if (NOT DEFINED GLOG_ROOT) -set (GLOG_ROOT /usr /usr/local) -endif (NOT DEFINED GLOG_ROOT) - -if(MSVC) -set(LIB_PATHS ${GLOG_ROOT} ${GLOG_ROOT}/Release) -else(MSVC) -set (LIB_PATHS ${GLOG_ROOT} ${GLOG_ROOT}/lib) -endif(MSVC) - -macro(_FIND_GLOG_LIBRARIES _var) -find_library(${_var} -NAMES -${ARGN} -PATHS -${LIB_PATHS} -PATH_SUFFIXES lib -) -mark_as_advanced(${_var}) -endmacro() - -macro(_GLOG_APPEND_LIBRARIES _list _release) -set(_debug ${_release}_DEBUG) -if(${_debug}) -set(${_list} ${${_list}} optimized ${${_release}} debug ${${_debug}}) -else() -set(${_list} ${${_list}} ${${_release}}) -endif() -endmacro() - -if(MSVC) -find_path(GLOG_INCLUDE_DIR NAMES raw_logging.h -PATHS -${GLOG_ROOT}/src/windows -${GLOG_ROOT}/src/windows/glog -) -else(MSVC) -# Linux/OS X builds -find_path(GLOG_INCLUDE_DIR NAMES raw_logging.h -PATHS -${GLOG_ROOT}/include/glog -) -endif(MSVC) - -# Find the libraries -if(MSVC) -_FIND_GLOG_LIBRARIES(GLOG_LIBRARIES libglog.lib) -else(MSVC) -# Linux/OS X builds -_FIND_GLOG_LIBRARIES(GLOG_LIBRARIES libglog.so) -endif(MSVC) - -message("glog library = " ${GLOG_LIBRARIES}) - -# handle the QUIETLY and REQUIRED arguments and set GLOG_FOUND to TRUE if -# all listed variables are TRUE -include("${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake") -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Glog DEFAULT_MSG -GLOG_LIBRARIES) - -if(MSVC) -string(REGEX REPLACE "/glog$" "" VAR_WITHOUT ${GLOG_INCLUDE_DIR}) -string(REGEX REPLACE "/windows$" "" VAR_WITHOUT ${VAR_WITHOUT}) -set(GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIRS} "${VAR_WITHOUT}") -string(REGEX REPLACE "/libglog.lib" "" GLOG_LIBRARIES_DIR ${GLOG_LIBRARIES}) -else(MSVC) -# Linux/OS X builds -set(GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIR}) -string(REGEX REPLACE "/libglog.so" "" GLOG_LIBRARIES_DIR ${GLOG_LIBRARIES}) -endif(MSVC) - -if(GLOG_FOUND) -# _GLOG_APPEND_LIBRARIES(GLOG GLOG_LIBRARIES) -endif() diff --git a/src/utils/gpstk/gnsspvt/CMakeModules/FindGPSTK.cmake b/src/utils/gpstk/gnsspvt/CMakeModules/FindGPSTK.cmake deleted file mode 100644 index 9529154f9..000000000 --- a/src/utils/gpstk/gnsspvt/CMakeModules/FindGPSTK.cmake +++ /dev/null @@ -1,87 +0,0 @@ -# - Find gpstk library -# Find the native gpstk includes and library -# This module defines -# GPSTK_INCLUDE_DIR, where to find tiff.h, etc. -# GPSTK_LIBRARIES, libraries to link against to use GPSTK. -# GPSTK_FOUND, If false, do not try to use GPSTK. -# also defined, but not for general use are -# GPSTK_LIBRARY, where to find the GPSTK library. - -FIND_PATH(GPSTK_INCLUDE_DIR gpstk/Matrix.hpp) -FIND_PATH(GEOMATICS_INCLUDE_DIR gpstk/random.hpp) -FIND_PATH(PROCFRAME_INCLUDE_DIR gpstk/SolverWMS.hpp) -FIND_PATH(VDRAW_INCLUDE_DIR gpstk/Layout.hpp) -FIND_PATH(VPLOT_INCLUDE_DIR gpstk/ScatterPlot.hpp) -FIND_PATH(RXIO_INCLUDE_DIR gpstk/EphReader.hpp) - -SET(GPSTK_NAMES ${GPSTK_NAMES} gpstk libgpstk) -FIND_LIBRARY(GPSTK_LIBRARY NAMES ${GPSTK_NAMES} ) - -SET(GEOMATICS_NAMES ${GEOMATICS_NAMES} geomatics libgeomatics) -FIND_LIBRARY(GEOMATICS_LIBRARY NAMES ${GEOMATICS_NAMES} ) - -SET(PROCFRAME_NAMES ${PROCFRAME_NAMES} procframe libprocframe) -FIND_LIBRARY(PROCFRAME_LIBRARY NAMES ${PROCFRAME_NAMES} ) - -SET(VDRAW_NAMES ${VDRAW_NAMES} vdraw libvdraw) -FIND_LIBRARY(VDRAW_LIBRARY NAMES ${VDRAW_NAMES} ) - -SET(VPLOT_NAMES ${VPLOT_NAMES} vplot libvplot) -FIND_LIBRARY(VPLOT_LIBRARY NAMES ${VPLOT_NAMES} ) - -SET(RXIO_NAMES ${RXIO_NAMES} rxio librxio) -FIND_LIBRARY(RXIO_LIBRARY NAMES ${RXIO_NAMES} ) - -# handle the QUIETLY and REQUIRED arguments and set GPSTK_FOUND to TRUE if -# all listed variables are TRUE -INCLUDE(FindPackageHandleStandardArgs) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GPSTK DEFAULT_MSG GPSTK_LIBRARY GPSTK_INCLUDE_DIR) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(GEOMATICS DEFAULT_MSG GEOMATICS_LIBRARY GEOMATICS_INCLUDE_DIR) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROCFRAME DEFAULT_MSG PROCFRAME_LIBRARY PROCFRAME_INCLUDE_DIR) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(VDRAW DEFAULT_MSG VDRAW_LIBRARY VDRAW_INCLUDE_DIR) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(VPLOT DEFAULT_MSG VPLOT_LIBRARY VPLOT_INCLUDE_DIR) - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(RXIO DEFAULT_MSG RXIO_LIBRARY RXIO_INCLUDE_DIR) - -IF(GPSTK_FOUND) - SET( GPSTK_LIBRARIES ${GPSTK_LIBRARY} ) -ENDIF(GPSTK_FOUND) - -IF(GEOMATICS_FOUND) - SET( GEOMATICS_LIBRARIES ${GEOMATICS_LIBRARY} ) -ENDIF(GEOMATICS_FOUND) - -IF(PROCFRAME_FOUND) - SET( PROCFRAME_LIBRARIES ${PROCFRAME_LIBRARY} ) -ENDIF(PROCFRAME_FOUND) - -IF(VDRAW_FOUND) - SET( VDRAW_LIBRARIES ${VDRAW_LIBRARY} ) -ENDIF(VDRAW_FOUND) - -IF(VPLOT_FOUND) - SET( VPLOT_LIBRARIES ${VPLOT_LIBRARY} ) -ENDIF(VPLOT_FOUND) - -IF(RXIO_FOUND) - SET( RXIO_LIBRARIES ${RXIO_LIBRARY} ) -ENDIF(RXIO_FOUND) - -MARK_AS_ADVANCED(GPSTK_INCLUDE_DIR GPSTK_LIBRARY) - -MARK_AS_ADVANCED(GEOMATICS_INCLUDE_DIR GEOMATICS_LIBRARY) - -MARK_AS_ADVANCED(PROCFRAME_INCLUDE_DIR PROCFRAME_LIBRARY) - -MARK_AS_ADVANCED(VDRAW_INCLUDE_DIR VDRAW_LIBRARY) - -MARK_AS_ADVANCED(VPLOT_INCLUDE_DIR VPLOT_LIBRARY) - -MARK_AS_ADVANCED(RXIO_INCLUDE_DIR RXIO_LIBRARY) - - diff --git a/src/utils/gpstk/gnsspvt/README b/src/utils/gpstk/gnsspvt/README deleted file mode 100644 index 6360ac4be..000000000 --- a/src/utils/gpstk/gnsspvt/README +++ /dev/null @@ -1,62 +0,0 @@ -ABOUT GNSSPVT ----------------------- -This program uses the high level GpsTk classes to implement a simple PVT solver -that uses RINEX files as an input. -The output is written both in the console and in a Google Earth KML file. - -HOW TO BUILD GNSSPVT ----------------------- - -Installation in Ubuntu 11.04, 11.10, 12.04 (32 and 64 bits) ------------------------------------------------------------ - -- Install CMake through your OS's package manager or by some other means. - -- Install GpsTk: - - The following procedure will build and install the GPSTk. - - Ensure that prerequisites such as jam have been installed. - Download the GPSTk source distribution from http://www.gpstk.org/bin/view/Documentation/GPSTkDownloads - Extract the GPSTk tarball. For example, using GNU tar - - tar xvzf gpstk.tar.gz - - Change into the gpstk/dev directory (if using Subversion) or the gpstk/ directory (if using the tarball)and type - - jam - - To build the source documentation using doxygen: - - doxygen - - To install GPSTk as a system library in /usr/local, assume root privileges then execute - - jam install - - To install to a different directory, define the environment variable PREFIX to point to the root of the installation - - -- Download, unzip, configure, build and install glog, a Google's library that implements application-level logging: - -$ wget http://google-glog.googlecode.com/files/glog-0.3.2.tar.gz -$ tar xvfz glog-0.3.2.tar.gz -$ cd glog-0.3.2 -$ ./configure -$ make -$ sudo make install - -- Go to GNSSPVT root directory and compile the gnsspvt: - -$ cd gnss-sdr/src/utils/gpstk/gnsspvt/ -$ mkdir build -$ cd build -$ cmake ../ -$ make - -If everything goes well, the executable file is available in the build directory. - -USAGE ----------------------- - -./gnsspvt -i path_to_rinex_observable_file -n path_to_rinex_navigation_file -k path_to_kml_output_file diff --git a/src/utils/gpstk/gnsspvt/src/gnsspvt.cpp b/src/utils/gpstk/gnsspvt/src/gnsspvt.cpp deleted file mode 100644 index e571e3138..000000000 --- a/src/utils/gpstk/gnsspvt/src/gnsspvt.cpp +++ /dev/null @@ -1,593 +0,0 @@ -/*! - * \file gnsspvt.cpp - * \brief Adapted version of high level gpstk PVT solver to read RINEX files, - * compute the position, velocity and time solution, and write Google Earth KML output file. - * The input Observables and Navigation files can be RINEX 2.10 or RINEX 3.00. - * It is a modified version of the example5.cpp code provided in gpstk source code. - * - * \author Javier Arribas, 2012. jarribas(at)cttc.es - * - * - * ------------------------------------------------------------------------- - * - * Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors) - * - * GNSS-SDR is a software defined Global Navigation - * Satellite Systems receiver - * - * This file is part of GNSS-SDR. - * - * GNSS-SDR 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. - * - * GNSS-SDR 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 GNSS-SDR. If not, see . - * - * ------------------------------------------------------------------------- - */ - -// Modified Example program Nro 5 for GPSTk -// This program shows how to use some high-level GPSTk classes - - // Basic input/output C++ class -#include - - // Classes for handling observations RINEX files (data) -#include "gpstk/Rinex3ObsData.hpp" -#include "gpstk/Rinex3ObsStream.hpp" - - // Class to easily extract data from Rinex3ObsData objects -#include "gpstk/ExtractData.hpp" - - // Classes for handling satellite navigation parameters RINEX files - // (Broadcast ephemerides) -#include "gpstk/Rinex3NavHeader.hpp" -#include "gpstk/Rinex3NavData.hpp" -#include "gpstk/Rinex3NavStream.hpp" - - // Class to store satellite broadcast navigation data -#include "gpstk/GPSEphemerisStore.hpp" - - // Class to model GPS data for a mobile receiver -#include "gpstk/ModeledPR.hpp" - -#include "gpstk/GNSSconstants.hpp" -#include "gpstk/CommonTime.hpp" -#include "gpstk/SatID.hpp" -#include "gpstk/Matrix.hpp" -#include "gpstk/XvtStore.hpp" -#include "gpstk/TropModel.hpp" - - // Class to model the tropospheric delays -#include "gpstk/TropModel.hpp" - - // Classes to model ans store ionospheric delays -#include "gpstk/IonoModel.hpp" -#include "gpstk/IonoModelStore.hpp" - - // Class to solve the equations system using a Weighted Least Mean Square method -#include "gpstk/SolverWMS.hpp" - - // Class to compute the weights to be used for each satellite -#include "gpstk/MOPSWeight.hpp" - - // Basic framework for programs in the GPSTk. The 'process()' method MUST - // be implemented -#include "gpstk/BasicFramework.hpp" - -#include "gpstk/geometry.hpp" // DEG_TO_RAD - - // Time-class year-day-second -#include "gpstk/YDSTime.hpp" - -#include "kml_printer_gpstk.h" - -using namespace std; -using namespace gpstk; - - - // A new class is declared that will handle program behaviour - // This class inherits from BasicFramework -class gpstk_solver : public BasicFramework -{ -public: - - // Constructor declaration - gpstk_solver(char* arg0); - ~gpstk_solver(); - -protected: - - // Method that will take care of processing - virtual void process(); - - // Method that hold code to be run BEFORE processing - virtual void spinUp(); - - virtual int Prepare( const CommonTime& Tr, - std::vector& Satellite, - std::vector& Pseudorange, - const XvtStore& Eph ); - virtual int Prepare2( const CommonTime& Tr, - const Vector& Satellite, - const Vector& Pseudorange, - const XvtStore& Eph ); - -private: - - // These field represent options at command line interface (CLI) - CommandOptionWithArg dataFile; - CommandOptionWithArg navFile; - CommandOptionWithArg kmlFile; - - Kml_Printer_gpstk kml_printer; - - // If you want to share objects and variables among methods, you'd - // better declare them here - Rinex3ObsStream rObsFile; // Object to read Rinex observation data files - Rinex3ObsData rData; // Object to store Rinex observation data - Rinex3NavStream rNavFile; // Object to read Rinex navigation data files - Rinex3NavData rNavData; // Object to store Rinex navigation data - Rinex3NavHeader rNavHeader; // Object to read the header of Rinex - // navigation data files - IonoModelStore ionoStore; // Object to store ionospheric models - GPSEphemerisStore bceStore; // Object to store ephemeris - ModeledPR modelPR; // Declare a ModeledReferencePR object - MOPSTropModel mopsTM; // Declare a MOPSTropModel object - ExtractData obsC1; // Declare an ExtractData object - int indexC1; // Index to "C1" observation - bool useFormerPos; // Flag indicating if we have an a priori - // position - Position formerPosition; // Object to store the former position - IonoModel ioModel; // Declare a Ionospheric Model object - SolverWMS solver; // Declare an object to apply WMS method - MOPSWeight mopsWeights; // Object to compute satellites' weights - -}; - - - // Let's implement constructor details -gpstk_solver::gpstk_solver(char* arg0) - : BasicFramework(arg0, "\nProgram to print the position solution in ECEF " - "and longitude, latitude, height, based in C1 and " - "given a RINEX observations file and a RINEX " - "broadcast navigation file.\n\n" - "The output is: \n" - " Time(sec) X(m) Y(m) Z(m) Lon(deg) " - " Lat(deg) Height(m)\n"), - // Option initialization. "true" means a mandatory option - dataFile(CommandOption::stdType, 'i', "datainput", - " [-i|--datainput] Name of RINEX observations file.", true), - navFile(CommandOption::stdType, 'n', "navinput", - " [-n|--navinput] Name of RINEX broadcast navigation file.", true), - kmlFile(CommandOption::stdType, 'k', "kmloutput", - " [-n|--navinput] Name of KML output file.", true) -{ - // These options may appear just once at CLI - dataFile.setMaxCount(1); - navFile.setMaxCount(1); - kmlFile.setMaxCount(1); -} // End of constructor details - - - - /* Method to set an a priori position of receiver using - * Bancroft's method. - * - * @param Tr Time of observation - * @param Satellite std::vector of satellites in view - * @param Pseudorange std::vector of pseudoranges measured from - * rover station to satellites - * @param Eph Satellites Ephemeris - * - * @return - * 0 if OK - * -1 if problems arose - */ - int gpstk_solver::Prepare( const CommonTime& Tr, - std::vector& Satellite, - std::vector& Pseudorange, - const XvtStore& Eph ) - { - - Matrix SVP; - Bancroft Ban; - Vector vPos; - PRSolution2 raimObj; - - try - { - cerr << "Tr=" <::iterator it = Satellite.begin() ; it != Satellite.end(); ++it) - { - cerr << "SatID=" << *it<& Satellite, - const Vector& Pseudorange, - const XvtStore& Eph ) - { - - int i; - std::vector vSat; - std::vector vPR; - - // Convert from gpstk::Vector to std::vector - for (i = 0; i < (int)Satellite.size(); i++) - { - vSat.push_back(Satellite[i]); - } - - for (i = 0; i < (int)Pseudorange.size(); i++) - { - vPR.push_back(Pseudorange[i]); - } - - return Prepare(Tr, vSat, vPR, Eph); - - } // End of method 'ModeledPR::Prepare()' - - - // Method that will be executed AFTER initialization but BEFORE processing -void gpstk_solver::spinUp() -{ - - - //open KML output file - if (kml_printer.set_headers(kmlFile.getValue()[0].c_str())!=true) - { - cerr << "Problem creating the kml file "<> roh; - - // We need the index pointing to C1-type observations - try - { - indexC1 = roh.getObsIndex( "C1" ); - } - catch(...) - { - cerr << "The observation file doesn't have C1 pseudoranges." << endl; - exit(1); - } - - - // Activate failbit to enable exceptions - rNavFile.exceptions(ios::failbit); - - // Read nav file and store unique list of ephemerides - try - { - rNavFile.open(navFile.getValue()[0].c_str(), std::ios::in); - } - catch(...) - { - cerr << "Problem opening file " << navFile.getValue()[0].c_str() << endl; - cerr << "Maybe it doesn't exist or you don't have proper read " - << "permissions." << endl; - - exit (-1); - } - - // We will need to read ionospheric parameters (Klobuchar model) from - // the file header - rNavFile >> rNavHeader; - - // Let's feed the ionospheric model (Klobuchar type) from data in the - // navigation (ephemeris) file header. First, we must check if there are - // valid ionospheric correction parameters in the header - if(rNavHeader.valid & Rinex3NavHeader::validIonoCorrGPS) - { - // Extract the Alpha and Beta parameters from the header - double* ionAlpha = rNavHeader.mapIonoCorr["GPSA"].param; - double* ionBeta = rNavHeader.mapIonoCorr["GPSB"].param; - - // Feed the ionospheric model with the parameters - ioModel.setModel(ionAlpha, ionBeta); - } - else - { - cerr << "WARNING: Navigation file " << navFile.getValue()[0].c_str() - << " doesn't have valid ionospheric correction parameters." << endl; - } - - // WARNING-WARNING-WARNING: In this case, the same model will be used - // for the full data span - ionoStore.addIonoModel(CommonTime::BEGINNING_OF_TIME, ioModel); - - // Storing the ephemeris in "bceStore" - while (rNavFile >> rNavData) - { - bceStore.addEphemeris(rNavData); - rNavData.dump(cerr); - cerr<> rData ) - { - - // Begin usable data with enough number of satellites - if( (rData.epochFlag == 0 || rData.epochFlag == 1) && - (rData.numSVs > 3) ) - { - - // Number of satellites with valid data in this epoch - int validSats = 0; - int prepareResult; - double rxAltitude; // Receiver altitude for tropospheric model - double rxLatitude; // Receiver latitude for tropospheric model - - // We need to extract C1 data from this epoch. Skip epoch if not - // enough data (4 SV at least) is available - if( obsC1.getData(rData, indexC1) < 4 ) - { - // The former position will not be valid next time - useFormerPos = false; - continue; - } - - - // If possible, use former position as a priori - if( useFormerPos ) - { - - prepareResult = modelPR.Prepare(formerPosition); - - // We need to seed this kind of tropospheric model with - // receiver altitude - rxAltitude = formerPosition.getAltitude(); - rxLatitude = formerPosition.getGeodeticLatitude(); - - } - else - { - // Use Bancroft method is no a priori position is available - cerr << "Bancroft method was used at epoch " - << static_cast(rData.time).sod << endl; - - Prepare2( rData.time,obsC1.availableSV,obsC1.obsData,bceStore ); - prepareResult = modelPR.Prepare( rData.time, - obsC1.availableSV, - obsC1.obsData, - bceStore ); - - // We need to seed this kind of tropospheric model with - // receiver altitude - rxAltitude = modelPR.rxPos.getAltitude(); - rxLatitude = modelPR.rxPos.getGeodeticLatitude(); - } - - // If there were problems with Prepare(), skip this epoch - if( prepareResult ) - { - // The former position will not be valid next time - useFormerPos = false; - continue; - } - - // If there were no problems, let's feed the tropospheric model - mopsTM.setReceiverHeight(rxAltitude); - mopsTM.setReceiverLatitude(rxLatitude); - mopsTM.setDayOfYear(static_cast(rData.time).doy); - - - // Now, let's compute the GPS model for our observable (C1) - validSats = modelPR.Compute( rData.time, - obsC1.availableSV, - obsC1.obsData, - bceStore, - &mopsTM, - &ionoStore ); - - // Only get into further computations if there are enough - // satellites - if( validSats >= 4 ) - { - - // Now let's solve the navigation equations using the WMS method - try - { - // First, compute the satellites' weights - int goodSv = mopsWeights.getWeights( rData.time, - modelPR.availableSV, - bceStore, - modelPR.ionoCorrections, - modelPR.elevationSV, - modelPR.azimuthSV, - modelPR.rxPos ); - - // Some minimum checking is in order - if ( goodSv != (int)modelPR.prefitResiduals.size() ) continue; - - // Then, solve the system - solver.Compute( modelPR.prefitResiduals, - modelPR.geoMatrix, - mopsWeights.weightsVector ); - - } - catch( InvalidSolver& e ) - { - cerr << "Couldn't solve equations system at epoch " - << static_cast(rData.time).sod << endl; - cerr << e << endl; - - // The former position will not be valid next time - useFormerPos = false; - continue; - } - - // With "solver", we got the difference vector between the - // a priori position and the computed, 'real' position. Then, - // let's convert the solution to a Position object - Position solPos( (modelPR.rxPos.X() + solver.solution[0]), - (modelPR.rxPos.Y() + solver.solution[1]), - (modelPR.rxPos.Z() + solver.solution[2]) ); - - // Print results - cout << static_cast(rData.time).sod - << " "; // Output field #1 - cout << "X="<= 4 )' - else - { - // The former position will not be valid next time - useFormerPos = false; - } - - } // End of 'if( (rData.epochFlag == 0 || rData.epochFlag == 1) &&...' - else - { - // The former position will not be valid next time - useFormerPos = false; - } - - } // End of 'while( rObsFile >> rData )' - - return; - -} // End of 'gpstk_solver::process()' - -gpstk_solver::~gpstk_solver() -{ - kml_printer.close_file(); -} - // Main function -int main(int argc, char* argv[]) -{ - - try - { - gpstk_solver program(argv[0]); - if (!program.initialize(argc, argv)) - return 0; - if (!program.run()) - return 1; - - return 0; - } - catch(Exception& e) - { - cout << "Problem: " << e << endl; - return 1; - } - catch(...) - { - cout << "Unknown error." << endl; - return 1; - } - - return 0; - -} // End of 'main()' diff --git a/src/utils/gpstk/gnsspvt/src/kml_printer_gpstk.cpp b/src/utils/gpstk/gnsspvt/src/kml_printer_gpstk.cpp deleted file mode 100644 index 7778c1dfe..000000000 --- a/src/utils/gpstk/gnsspvt/src/kml_printer_gpstk.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/*! - * \file kml_printer.cc - * \brief Implementation of a class that prints PVT information to a kml file - * for GPSTK data structures - * \author Javier Arribas, 2012. jarribas(at)cttc.es - * - * - * ------------------------------------------------------------------------- - * - * Copyright (C) 2010-2012 (see AUTHORS file for a list of contributors) - * - * GNSS-SDR is a software defined Global Navigation - * Satellite Systems receiver - * - * This file is part of GNSS-SDR. - * - * GNSS-SDR 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. - * - * GNSS-SDR 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 GNSS-SDR. If not, see . - * - * ------------------------------------------------------------------------- - */ - -#include "kml_printer_gpstk.h" -#include -#include -#include - -bool Kml_Printer_gpstk::set_headers(std::string filename) -{ - time_t rawtime; - struct tm * timeinfo; - time ( &rawtime ); - timeinfo = localtime ( &rawtime ); - kml_file.open(filename.c_str()); - if (kml_file.is_open()) - { - DLOG(INFO) << "KML printer writing on " << filename.c_str(); - // Set iostream numeric format and precision - kml_file.setf(kml_file.fixed,kml_file.floatfield); - kml_file << std::setprecision(14); - kml_file << "" << std::endl - << "" << std::endl - << " " << std::endl - << " GNSS Track" << std::endl - << " GNSS-SDR Receiver position log file created at " << asctime (timeinfo) - << " " << std::endl - << "" << std::endl - << "" << std::endl - << "GNSS-SDR PVT" << std::endl - << "GNSS-SDR position log" << std::endl - << "#yellowLineGreenPoly" << std::endl - << "" << std::endl - << "0" << std::endl - << "1" << std::endl - << "absolute" << std::endl - << "" << std::endl; - return true; - } - else - { - return false; - } -} - - - -bool Kml_Printer_gpstk::print_position(gpstk::Position position) -{ - double latitude; - double longitude; - double height; - latitude = position.geodeticLatitude(); - longitude = position.getLongitude(); - if (longitude>190) - { - longitude=longitude-360; - } - height = position.getHeight(); - - if (kml_file.is_open()) - { - kml_file << longitude << "," << latitude << "," << height << std::endl; - return true; - } - else - { - return false; - } -} - - - -bool Kml_Printer_gpstk::close_file() -{ - if (kml_file.is_open()) - { - kml_file << "" << std::endl - << "" << std::endl - << "" << std::endl - << "" << std::endl - << ""; - kml_file.close(); - return true; - } - else - { - return false; - } -} - - - -Kml_Printer_gpstk::Kml_Printer_gpstk () {} - - - -Kml_Printer_gpstk::~Kml_Printer_gpstk () {} - diff --git a/src/utils/gpstk/gnsspvt/src/kml_printer_gpstk.h b/src/utils/gpstk/gnsspvt/src/kml_printer_gpstk.h deleted file mode 100644 index dc30ce42b..000000000 --- a/src/utils/gpstk/gnsspvt/src/kml_printer_gpstk.h +++ /dev/null @@ -1,60 +0,0 @@ -/*! - * \file kml_printer.h - * \brief Interface of a class that prints PVT information to a kml file - * for GPSTK data structures - * \author Javier Arribas, 2012. jarribas(at)cttc.es - * - * - * ------------------------------------------------------------------------- - * - * Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors) - * - * GNSS-SDR is a software defined Global Navigation - * Satellite Systems receiver - * - * This file is part of GNSS-SDR. - * - * GNSS-SDR 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. - * - * GNSS-SDR 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 GNSS-SDR. If not, see . - * - * ------------------------------------------------------------------------- - */ - - -#ifndef GNSS_SDR_KML_PRINTER_H_ -#define GNSS_SDR_KML_PRINTER_H_ - -#include -#include -#include "gpstk/Position.hpp" - - -/*! - * \brief Prints PVT information to OGC KML format file (can be viewed with Google Earth) - * - * See http://www.opengeospatial.org/standards/kml - */ -class Kml_Printer_gpstk -{ -private: - std::ofstream kml_file; - -public: - bool set_headers(std::string filename); - bool print_position(gpstk::Position position); - bool close_file(); - Kml_Printer_gpstk(); - ~Kml_Printer_gpstk(); -}; - -#endif From d40094e6e256a9a4fbf9904bc3af51ca5b56d323 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 25 May 2018 20:49:45 +0200 Subject: [PATCH 6/8] Clean CMake scripts --- .../signal_source/adapters/CMakeLists.txt | 80 +++++++------------ .../gnuradio_blocks/CMakeLists.txt | 36 ++------- src/core/system_parameters/CMakeLists.txt | 46 +++++------ src/main/CMakeLists.txt | 19 ++--- 4 files changed, 66 insertions(+), 115 deletions(-) diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index 78061f7f5..4ee93a535 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -22,62 +22,42 @@ list(SORT SIGNAL_SOURCE_ADAPTER_HEADERS) # Optional drivers if(ENABLE_RAW_UDP) - # - Try to find libpcap include dirs and libraries - # - # Usage of this module as follows: - # - # find_package(PCAP) - # - # Variables used by this module, they can change the default behaviour and need - # to be set before calling find_package: - # - # PCAP_ROOT_DIR Set this variable to the root installation of - # libpcap if the module has problems finding the - # proper installation path. - # - # Variables defined by this module: - # - # PCAP_FOUND System has libpcap, include and library dirs found - # PCAP_INCLUDE_DIR The libpcap include directories. - # PCAP_LIBRARY The libpcap library (possibly includes a thread - # library e.g. required by pf_ring's libpcap) - # HAVE_PF_RING If a found version of libpcap supports PF_RING - find_package(PCAP) - if(NOT PCAP_FOUND) - message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source (ENABLE_RAW_UDP)") - endif() - get_filename_component(PCAP_LIBRARY_DIRS ${PCAP_LIBRARY} DIRECTORY CACHE) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${PCAP_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${PCAP_INCLUDE_DIRS}) - set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} custom_udp_signal_source.cc) + find_package(PCAP) + if(NOT PCAP_FOUND) + message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source (ENABLE_RAW_UDP)") + endif(NOT PCAP_FOUND) + get_filename_component(PCAP_LIBRARY_DIRS ${PCAP_LIBRARY} DIRECTORY CACHE) + set(OPT_LIBRARIES ${OPT_LIBRARIES} ${PCAP_LIBRARIES}) + set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${PCAP_INCLUDE_DIRS}) + set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} custom_udp_signal_source.cc) endif(ENABLE_RAW_UDP) if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) - find_package(Griio REQUIRED) - if(NOT IIO_FOUND) - message(STATUS "gnuradio-iio not found, its installation is required.") - message(STATUS "Please build and install the following projects:") - message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio") - message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio") - message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") - message(FATAL_ERROR "gnuradio-iio is required for building gnss-sdr with this option enabled.") - endif(NOT IIO_FOUND) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${IIO_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS}) + find_package(Griio REQUIRED) + if(NOT IIO_FOUND) + message(STATUS "gnuradio-iio not found, its installation is required.") + message(STATUS "Please build and install the following projects:") + message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio") + message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio") + message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") + message(FATAL_ERROR "gnuradio-iio is required for building gnss-sdr with this option enabled.") + endif(NOT IIO_FOUND) + set(OPT_LIBRARIES ${OPT_LIBRARIES} ${IIO_LIBRARIES}) + set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS}) endif(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) if(ENABLE_AD9361) - find_package(libiio REQUIRED) - if(NOT LIBIIO_FOUND) - message(STATUS "libiio not found, its installation is required.") - message(STATUS "Please build and install the following projects:") - message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio") - message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio") - message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") - message(FATAL_ERROR "libiio is required for building gnss-sdr with this option enabled.") - endif(NOT LIBIIO_FOUND) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${LIBIIO_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${LIBIIO_INCLUDE_DIRS}) + find_package(libiio REQUIRED) + if(NOT LIBIIO_FOUND) + message(STATUS "libiio not found, its installation is required.") + message(STATUS "Please build and install the following projects:") + message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio") + message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio") + message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") + message(FATAL_ERROR "libiio is required for building gnss-sdr with this option enabled.") + endif(NOT LIBIIO_FOUND) + set(OPT_LIBRARIES ${OPT_LIBRARIES} ${LIBIIO_LIBRARIES}) + set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${LIBIIO_INCLUDE_DIRS}) endif(ENABLE_AD9361) diff --git a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt index fdeb71c47..4108bed58 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt @@ -18,34 +18,14 @@ if(ENABLE_RAW_UDP) - # - Try to find libpcap include dirs and libraries - # - # Usage of this module as follows: - # - # find_package(PCAP) - # - # Variables used by this module, they can change the default behaviour and need - # to be set before calling find_package: - # - # PCAP_ROOT_DIR Set this variable to the root installation of - # libpcap if the module has problems finding the - # proper installation path. - # - # Variables defined by this module: - # - # PCAP_FOUND System has libpcap, include and library dirs found - # PCAP_INCLUDE_DIR The libpcap include directories. - # PCAP_LIBRARY The libpcap library (possibly includes a thread - # library e.g. required by pf_ring's libpcap) - # HAVE_PF_RING If a found version of libpcap supports PF_RING - find_package(PCAP) - if(NOT PCAP_FOUND) - message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source (ENABLE_RAW_UDP)") - endif() - get_filename_component(PCAP_LIBRARY_DIRS ${PCAP_LIBRARY} DIRECTORY CACHE) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${PCAP_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${PCAP_INCLUDE_DIRS}) - set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} gr_complex_ip_packet_source.cc) + find_package(PCAP) + if(NOT PCAP_FOUND) + message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source (ENABLE_RAW_UDP)") + endif(NOT PCAP_FOUND) + get_filename_component(PCAP_LIBRARY_DIRS ${PCAP_LIBRARY} DIRECTORY CACHE) + set(OPT_LIBRARIES ${OPT_LIBRARIES} ${PCAP_LIBRARIES}) + set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${PCAP_INCLUDE_DIRS}) + set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} gr_complex_ip_packet_source.cc) endif(ENABLE_RAW_UDP) set(SIGNAL_SOURCE_GR_BLOCKS_SOURCES diff --git a/src/core/system_parameters/CMakeLists.txt b/src/core/system_parameters/CMakeLists.txt index d8d3971f6..2d7c10f23 100644 --- a/src/core/system_parameters/CMakeLists.txt +++ b/src/core/system_parameters/CMakeLists.txt @@ -20,29 +20,29 @@ set(SYSTEM_PARAMETERS_SOURCES gnss_satellite.cc gnss_signal.cc gps_navigation_message.cc - gps_ephemeris.cc - gps_iono.cc - gps_almanac.cc - gps_utc_model.cc - gps_acq_assist.cc - gps_ref_time.cc - gps_ref_location.cc - galileo_utc_model.cc - galileo_ephemeris.cc - galileo_almanac.cc - galileo_iono.cc - galileo_navigation_message.cc - sbas_ephemeris.cc - galileo_fnav_message.cc - gps_cnav_ephemeris.cc - gps_cnav_navigation_message.cc - gps_cnav_iono.cc - gps_cnav_utc_model.cc - rtcm.cc - glonass_gnav_ephemeris.cc - glonass_gnav_almanac.cc - glonass_gnav_utc_model.cc - glonass_gnav_navigation_message.cc + gps_ephemeris.cc + gps_iono.cc + gps_almanac.cc + gps_utc_model.cc + gps_acq_assist.cc + gps_ref_time.cc + gps_ref_location.cc + galileo_utc_model.cc + galileo_ephemeris.cc + galileo_almanac.cc + galileo_iono.cc + galileo_navigation_message.cc + sbas_ephemeris.cc + galileo_fnav_message.cc + gps_cnav_ephemeris.cc + gps_cnav_navigation_message.cc + gps_cnav_iono.cc + gps_cnav_utc_model.cc + rtcm.cc + glonass_gnav_ephemeris.cc + glonass_gnav_almanac.cc + glonass_gnav_utc_model.cc + glonass_gnav_navigation_message.cc ) diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt index b97a62458..7b41ccfbd 100644 --- a/src/main/CMakeLists.txt +++ b/src/main/CMakeLists.txt @@ -16,13 +16,11 @@ # along with GNSS-SDR. If not, see . # - set(GNSS_SDR_OPTIONAL_LIBS "") set(GNSS_SDR_OPTIONAL_HEADERS "") if(ENABLE_GPERFTOOLS) if(GPERFTOOLS_FOUND) - #set(GNSS_SDR_OPTIONAL_LIBS "${GNSS_SDR_OPTIONAL_LIBS};${GPERFTOOLS_LIBRARIES}") set(GNSS_SDR_OPTIONAL_LIBS "${GNSS_SDR_OPTIONAL_LIBS};${GPERFTOOLS_PROFILER};${GPERFTOOLS_TCMALLOC}") set(GNSS_SDR_OPTIONAL_HEADERS "${GNSS_SDR_OPTIONAL_HEADERS};${GPERFTOOLS_INCLUDE_DIR}") endif(GPERFTOOLS_FOUND) @@ -48,7 +46,6 @@ if(ORC_FOUND) set(GNSS_SDR_OPTIONAL_HEADERS ${GNSS_SDR_OPTIONAL_HEADERS} ${ORC_INCLUDE_DIRS}) endif(ORC_FOUND) - include_directories( ${CMAKE_SOURCE_DIR}/src/core/system_parameters ${CMAKE_SOURCE_DIR}/src/core/interfaces @@ -76,13 +73,11 @@ if(OS_IS_MACOSX) endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") endif(OS_IS_MACOSX) - add_executable(gnss-sdr ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) add_custom_command(TARGET gnss-sdr POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ - ${CMAKE_SOURCE_DIR}/install/$ - ) + ${CMAKE_SOURCE_DIR}/install/$ ) target_link_libraries(gnss-sdr ${MAC_LIBRARIES} ${Boost_LIBRARIES} @@ -97,18 +92,14 @@ target_link_libraries(gnss-sdr ${MAC_LIBRARIES} ${GNSS_SDR_OPTIONAL_LIBS} gnss_sp_libs gnss_sdr_flags - gnss_rx - ) - + gnss_rx ) install(TARGETS gnss-sdr RUNTIME DESTINATION bin - COMPONENT "gnss-sdr" - ) + COMPONENT "gnss-sdr" ) install(DIRECTORY ${CMAKE_SOURCE_DIR}/conf DESTINATION share/gnss-sdr - FILES_MATCHING PATTERN "*.conf" - ) + FILES_MATCHING PATTERN "*.conf" ) install(FILES ${CMAKE_SOURCE_DIR}/conf/gnss-sdr.conf DESTINATION share/gnss-sdr/conf RENAME default.conf) @@ -118,7 +109,6 @@ if(NOT VOLK_GNSSSDR_FOUND) install(PROGRAMS ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build/apps/volk_gnsssdr-config-info DESTINATION bin COMPONENT "volk_gnsssdr") endif(NOT VOLK_GNSSSDR_FOUND) - find_program(GZIP gzip /bin @@ -127,6 +117,7 @@ find_program(GZIP /opt/local/bin /sbin ) + if(NOT GZIP_NOTFOUND) execute_process(COMMAND gzip -9 -c ${CMAKE_SOURCE_DIR}/docs/manpage/gnss-sdr-manpage WORKING_DIRECTORY ${CMAKE_BINARY_DIR} OUTPUT_FILE "${CMAKE_BINARY_DIR}/gnss-sdr.1.gz") From 83c06a47297cfe1e97240e52e98b403dfcfc858e Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sat, 26 May 2018 09:33:57 +0200 Subject: [PATCH 7/8] Catch all exceptions --- src/utils/front-end-cal/main.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/utils/front-end-cal/main.cc b/src/utils/front-end-cal/main.cc index 7a90e0cc8..0b1429b8c 100644 --- a/src/utils/front-end-cal/main.cc +++ b/src/utils/front-end-cal/main.cc @@ -308,11 +308,18 @@ int main(int argc, char** argv) // 2. Get SUPL information from server: Ephemeris record, assistance info and TOW - if (front_end_cal.get_ephemeris() == true) + try { - std::cout << "SUPL data received OK!" << std::endl; + if (front_end_cal.get_ephemeris() == true) + { + std::cout << "SUPL data received OK!" << std::endl; + } + else + { + std::cout << "Failure connecting to SUPL server" << std::endl; + } } - else + catch (const boost::exception& e) { std::cout << "Failure connecting to SUPL server" << std::endl; } From e720d49fccc4b31e1e6251f11a8e7dcc72e987e7 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sun, 27 May 2018 02:09:49 +0200 Subject: [PATCH 8/8] Remove blank lines, minor cleaning --- src/utils/front-end-cal/main.cc | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/src/utils/front-end-cal/main.cc b/src/utils/front-end-cal/main.cc index 0b1429b8c..52ab62218 100644 --- a/src/utils/front-end-cal/main.cc +++ b/src/utils/front-end-cal/main.cc @@ -146,8 +146,6 @@ FrontEndCal_msg_rx::FrontEndCal_msg_rx() : gr::block("FrontEndCal_msg_rx", gr::i FrontEndCal_msg_rx::~FrontEndCal_msg_rx() {} -// ########################################################### - void wait_message() { while (!stop) @@ -234,8 +232,6 @@ bool front_end_capture(std::shared_ptr configuration) return false; } - //delete conditioner; - //delete source; return true; } @@ -275,7 +271,6 @@ int main(int argc, char** argv) if (FLAGS_log_dir.empty()) { std::cout << "Logging will be done at " - << "/tmp" << std::endl << "Use front-end-cal --log_dir=/path/to/log to change that." @@ -296,17 +291,13 @@ int main(int argc, char** argv) << FLAGS_log_dir << std::endl; } - // 0. Instantiate the FrontEnd Calibration class FrontEndCal front_end_cal; // 1. Load configuration parameters from config file - std::shared_ptr configuration = std::make_shared(FLAGS_config_file); - front_end_cal.set_configuration(configuration); - // 2. Get SUPL information from server: Ephemeris record, assistance info and TOW try { @@ -385,11 +376,6 @@ int main(int argc, char** argv) exit(0); } - //gr_basic_block_sptr head = gr_make_head(sizeof(gr_complex), nsamples); - //gr_head_sptr head_sptr = boost::dynamic_pointer_cast(head); - //head_sptr->set_length(nsamples); - //head_sptr->reset(); - try { acquisition->connect(top_block); @@ -530,8 +516,8 @@ int main(int argc, char** argv) std::cout << "Reference location (defined in config file):" << std::endl; - std::cout << "Latitude=" << lat_deg << " [�]" << std::endl; - std::cout << "Longitude=" << lon_deg << " [�]" << std::endl; + std::cout << "Latitude=" << lat_deg << " [º]" << std::endl; + std::cout << "Longitude=" << lon_deg << " [º]" << std::endl; std::cout << "Altitude=" << altitude_m << " [m]" << std::endl; if (doppler_measurements_map.size() == 0)