diff --git a/CMakeLists.txt b/CMakeLists.txt index 41c2685a7..a24768c62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -115,9 +115,9 @@ endif() set(VERSION_INFO_MAJOR_VERSION 0) set(VERSION_INFO_API_COMPAT 0) if(${THIS_IS_A_RELEASE}) - set(VERSION_INFO_MINOR_VERSION 9) + set(VERSION_INFO_MINOR_VERSION 10) else() - set(VERSION_INFO_MINOR_VERSION 9.git-${GIT_BRANCH}-${GIT_COMMIT_HASH}) + set(VERSION_INFO_MINOR_VERSION 10.git-${GIT_BRANCH}-${GIT_COMMIT_HASH}) endif() set(VERSION ${VERSION_INFO_MAJOR_VERSION}.${VERSION_INFO_API_COMPAT}.${VERSION_INFO_MINOR_VERSION}) diff --git a/docs/changelog b/docs/changelog index aa77a3554..f9effa7d2 100644 --- a/docs/changelog +++ b/docs/changelog @@ -1,6 +1,6 @@ -## [Unreleased](https://github.com/gnss-sdr/gnss-sdr/tree/next) +## [0.0.10](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.10) -Next release will have several improvements in different dimensions, addition of new features and bug fixes: +This release has several improvements in different dimensions, addition of new features and bug fixes: ### Improvements in Accuracy: @@ -14,7 +14,7 @@ Next release will have several improvements in different dimensions, addition of - Internal Finite State Machines rewritten for improved continuity in delivering position fixes. This fixes a bug that was stalling the receiver after about six hours of continuous operation. - Redesign of the time counter for enhanced continuity. -- Improved flow graph in multisystem configurations: the receiver does not get stalled anymore if no signal is found from the first system. +- Improved flow graph in multi-system configurations: the receiver does not get stalled anymore if no signal is found from the first system. - Improved acquisition and tracking sensitivity. - Added mechanisms for Assisted GNSS, thus shortening the Time-To-First-Fix. Provision of data via XML files or via SUPL v1.0. Documented at https://gnss-sdr.org/docs/sp-blocks/global-parameters/ - Other minor bug fixes. @@ -23,7 +23,7 @@ Next release will have several improvements in different dimensions, addition of ### Improvements in Efficiency: - Added the possibility of non-blocking acquisition, which works well when using real-time data from an RF front-end. -- Improved flow graph in multiband configurations: satellites acquired in one band are immediately searched in others. +- Improved flow graph in multi-band configurations: satellites acquired in one band are immediately searched in others. - Complex local codes have been replaced by real codes, alleviating the computational burden. - New volk_gnsssdr kernels: volk_gnsssdr_16i_xn_resampler_16i_xn.h, volk_gnsssdr_16ic_16i_rotator_dot_prod_16ic_xn.h, volk_gnsssdr_32f_xn_resampler_32f_xn.h, volk_gnsssdr_32fc_32f_rotator_dot_prod_32fc_xn.h - Some AVX2 implementations added to the volk_gnsssdr library. @@ -64,7 +64,7 @@ Next release will have several improvements in different dimensions, addition of ### Improvements in Maintainability: -- Setup of a Continuous Integration system that checks building and runs QA code in a wide range of GNU/Linux distributions (ArchLinux, CentOS, Debian, Fedora, OpenSUSE, Ubuntu) and releases. See https://gitlab.com/gnss-sdr/gnss-sdr +- Setup of a Continuous Integration system that checks building and runs QA code in a wide range of GNU/Linux distributions (Arch Linux, CentOS, Debian, Fedora, OpenSUSE, Ubuntu) and releases. See https://gitlab.com/gnss-sdr/gnss-sdr - Creation of multi-system processing blocks, drastically reducing code duplication and maintainability time. - Automated code formatting with clang-format. This tool is widely available and easy to integrate into many code editors, and it also can be used from the command line. It cuts time spent on adhering to the project's code formatting style. - Improvement in C++ usage: C-style casts have been replaced by C++ casts. C-style casts are difficult to search for. C++ casts provide compile time checking ability and express programmers' intent better, so they are safer and clearer. @@ -84,13 +84,13 @@ Next release will have several improvements in different dimensions, addition of - The software builds with C++11, C++14 and C++17 standards. - The software can now be built using GCC >= 4.7.2 or LLVM/Clang >= 3.4.0 compilers on GNU/Linux, and with Clang/AppleClang on MacOS. - The Ninja build system can be used in replacement of make. -- The volk_gnsssdr library can be built using Python 2.7 or Python 3.6. +- The volk_gnsssdr library can be built using Python 2.7+ or Python 3.6+. - The volk_gnsssdr library is now ready for AArch64 NEON instructions. -- Ready for GNU Radio 3.8 C++ API (as per current master branch of GNU Radio upstream repository). - Improved detection of required and optional dependencies in many GNU/Linux distributions and processor architectures. - Improvement in C++ usage: The library has been replaced by the more modern and portable (except for the interaction with RTKLIB). - Improvement in C++ usage: The library has been replaced by the more modern and portable for file handling. - Improvement in C++ usage: C++ libraries preferred over C libraries (e.g., instead of , instead of ). +- Fix compatibility with Boost 1.67 (closes Debian bug #911882 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=911882) - Fixes required by Debian packaging. - Fixes required by Macports packaging. - A downside in portability: BLAS and LAPACK libraries are now required even in ARM devices. @@ -101,7 +101,7 @@ Next release will have several improvements in different dimensions, addition of ### Improvements in Reliability: - Introduced 3 new Input Filter implementations for pulsed and narrowband interference mitigation: `Pulse_Blanking_Filter`, `Notch_Filter` and `Notch_Filter_Lite`. Documented in https://gnss-sdr.org/docs/sp-blocks/input-filter/ -- Improved flow graph stabiliy. +- Improved flow graph stability. - Introduction of high-integrity C++ practices into the source code and included in the coding style guide. See https://gnss-sdr.org/coding-style/ - Fixed a number of defects detected by Coverity Scan. - Improvement of QA code and addition of a number of new tests. Documented at https://gnss-sdr.org/docs/tutorials/testing-software-receiver-2/ @@ -126,7 +126,12 @@ Next release will have several improvements in different dimensions, addition of ### Improvements in Testability: - Several Unit Tests added. Documentation of testing concepts and available tests at https://gnss-sdr.org/docs/tutorials/testing-software-receiver/ +- New extra unit test AcquisitionPerformanceTest checks the performance of Acquisition blocks. +- New extra unit test TrackingPullInTest checks acquisition to tracking transition. +- New extra unit test HybridObservablesTest checks the generation of observables. +- Improved system testing: position_test accepts a wide list of parameters and can be used with external files. - Receiver channels can now be fixed to a given satellite. +- Testing integrated in a Continuous Reproducibility system (see above). - Improved CTest support in volk_gnsssdr. @@ -142,6 +147,7 @@ Next release will have several improvements in different dimensions, addition of - Added a changelog, a code of conduct, a contributing guide and a pull-request template in the source tree. - Added colors to the commandline user interface. - Updated manfiles. +- Updated examples of configuration files under the conf/ folder. @@ -150,7 +156,6 @@ See the definitions of concepts and metrics at https://gnss-sdr.org/design-force - ## [0.0.9](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.9) DOI: https://doi.org/10.5281/zenodo.291371 diff --git a/docs/manpage/gnss-sdr-manpage b/docs/manpage/gnss-sdr-manpage index 5ca98ccb7..90f7d1a8e 100644 --- a/docs/manpage/gnss-sdr-manpage +++ b/docs/manpage/gnss-sdr-manpage @@ -1,6 +1,6 @@ .\" Manpage for gnss\-sdr. .\" Contact carles.fernandez@cttc.es to correct errors or typos. -.TH gnss\-sdr 1 "24 Feb 2018" "0.0.9" "gnss\-sdr man page" +.TH gnss\-sdr 1 "12 Dec 2018" "0.0.10" "gnss\-sdr man page" .SH NAME \fBgnss\-sdr\fR \- GNSS Software Defined Receiver. .SH SYNOPSIS diff --git a/src/algorithms/PVT/libs/hybrid_ls_pvt.cc b/src/algorithms/PVT/libs/hybrid_ls_pvt.cc index d927786a2..5fbc52ab8 100644 --- a/src/algorithms/PVT/libs/hybrid_ls_pvt.cc +++ b/src/algorithms/PVT/libs/hybrid_ls_pvt.cc @@ -334,7 +334,7 @@ bool hybrid_ls_pvt::get_PVT(std::map gnss_observables_map, do } // get time string Gregorian calendar - boost::posix_time::time_duration t = boost::posix_time::milliseconds(static_cast(utc * 1000.0)); + boost::posix_time::time_duration t = boost::posix_time::milliseconds(static_cast(utc * 1000.0)); // NOLINT(google-runtime-int) // 22 August 1999 00:00 last Galileo start GST epoch (ICD sec 5.1.2) boost::posix_time::ptime p_time(boost::gregorian::date(1999, 8, 22), t); this->set_position_UTC_time(p_time); diff --git a/src/algorithms/PVT/libs/nmea_printer.cc b/src/algorithms/PVT/libs/nmea_printer.cc index eb1a66db4..2470b1819 100644 --- a/src/algorithms/PVT/libs/nmea_printer.cc +++ b/src/algorithms/PVT/libs/nmea_printer.cc @@ -102,7 +102,7 @@ Nmea_Printer::Nmea_Printer(const std::string& filename, bool flag_nmea_output_fi nmea_devname = std::move(nmea_dump_devname); if (flag_nmea_tty_port == true) { - nmea_dev_descriptor = init_serial(nmea_devname.c_str()); + nmea_dev_descriptor = init_serial(nmea_devname); if (nmea_dev_descriptor != -1) { DLOG(INFO) << "NMEA printer writing on " << nmea_devname.c_str(); diff --git a/src/algorithms/PVT/libs/rtklib_solver.cc b/src/algorithms/PVT/libs/rtklib_solver.cc index 1125e704a..b304881ff 100644 --- a/src/algorithms/PVT/libs/rtklib_solver.cc +++ b/src/algorithms/PVT/libs/rtklib_solver.cc @@ -867,7 +867,7 @@ bool rtklib_solver::get_PVT(const std::map &gnss_observables_ gtime_t rtklib_time = gpst2time(adjgpsweek(nav_data.eph[0].week), gnss_observables_map.begin()->second.RX_time); gtime_t rtklib_utc_time = gpst2utc(rtklib_time); p_time = boost::posix_time::from_time_t(rtklib_utc_time.time); - p_time += boost::posix_time::microseconds(static_cast(round(rtklib_utc_time.sec * 1e6))); + p_time += boost::posix_time::microseconds(static_cast(round(rtklib_utc_time.sec * 1e6))); // NOLINT(google-runtime-int) this->set_position_UTC_time(p_time); cart2geo(static_cast(rx_position_and_time(0)), static_cast(rx_position_and_time(1)), static_cast(rx_position_and_time(2)), 4); diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt index df9463121..59a8d1ff7 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt @@ -135,7 +135,7 @@ message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.") set(VERSION_INFO_MAJOR_VERSION 0) set(VERSION_INFO_MINOR_VERSION 0) -set(VERSION_INFO_MAINT_VERSION 9.git) +set(VERSION_INFO_MAINT_VERSION 10) include(VolkVersion) #setup version info diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage index 48de3376a..6f273a82b 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr-config-info-manpage @@ -1,14 +1,14 @@ -.\" Manpage for volk_gnsssdr-config-info +.\" Manpage for volk_gnsssdr\-config\-info .\" Contact carles.fernandez@cttc.es to correct errors or typos. -.TH volk_gnsssdr_profile 1 "06 Feb 2017" "0.0.9" "volk_gnsssdr-config-info man page" +.TH volk_gnsssdr\-config\-info 1 "12 Dec 2018" "0.0.10" "volk_gnsssdr\-config\-info man page" .SH NAME -\fBvolk_gnsssdr-config-info\fR \- Prints configuration information of libvolk_gnsssdr functions. +\fBvolk_gnsssdr\-config\-info\fR \- Prints configuration information of libvolk_gnsssdr functions. .SH SYNOPSIS -\fBvolk_gnsssdr-config-info\fR [OPTION] +\fBvolk_gnsssdr\-config\-info\fR [OPTION] .SH DESCRIPTION -This program prints configuration information for the Vector-Optimized Library of Kernels of GNSS-SDR (VOLK_GNSSSDR). +This program prints configuration information for the Vector\-Optimized Library of Kernels of GNSS\-SDR (VOLK_GNSSSDR). .SH OPTIONS -\fBvolk_gnsssdr-config-info\fR takes the following options: +\fBvolk_gnsssdr\-config\-info\fR takes the following options: .TP \fB-h\fR [ \fB--help\fR ] Print help message. .TP diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage index 186bcb9c9..99a9ae316 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Packaging/volk_gnsssdr_profile-manpage @@ -1,6 +1,6 @@ .\" Manpage for volk_gnsssdr_profile .\" Contact carles.fernandez@cttc.es to correct errors or typos. -.TH volk_gnsssdr_profile 1 "06 Feb 2017" "0.0.9" "volk_gnsssdr_profile man page" +.TH volk_gnsssdr_profile 1 "12 Dec 2018" "0.0.10" "volk_gnsssdr_profile man page" .SH NAME \fBvolk_gnsssdr_profile\fR \- Profiler application for libvolk_gnsssdr functions. .SH SYNOPSIS diff --git a/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.cc b/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.cc index 971908e3d..f43f3e90c 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.cc +++ b/src/algorithms/signal_source/gnuradio_blocks/rtl_tcp_signal_source_c.cc @@ -152,7 +152,7 @@ rtl_tcp_signal_source_c::rtl_tcp_signal_source_c(const std::string &address, } -rtl_tcp_signal_source_c::~rtl_tcp_signal_source_c() +rtl_tcp_signal_source_c::~rtl_tcp_signal_source_c() // NOLINT(modernize-use-equals-default) { mutex_.unlock(); io_service_.stop(); diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_cc.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_cc.cc index 96d81d65a..bb5b68a9e 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_cc.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_cc.cc @@ -309,7 +309,7 @@ void galileo_telemetry_decoder_cc::decode_INAV_word(double *page_part_symbols, i else { // STORE HALF WORD (even page) - d_inav_nav.split_page(page_String.c_str(), flag_even_word_arrived); + d_inav_nav.split_page(page_String, flag_even_word_arrived); flag_even_word_arrived = 1; } volk_gnsssdr_free(page_part_bits); diff --git a/src/core/receiver/control_thread.cc b/src/core/receiver/control_thread.cc index 9ebda09d0..463815bcb 100644 --- a/src/core/receiver/control_thread.cc +++ b/src/core/receiver/control_thread.cc @@ -189,7 +189,7 @@ void ControlThread::init() } -ControlThread::~ControlThread() +ControlThread::~ControlThread() // NOLINT(modernize-use-equals-default) { if (msqid != -1) msgctl(msqid, IPC_RMID, NULL); } @@ -751,7 +751,7 @@ void ControlThread::assist_GNSS() time_t ref_rx_utc_time = 0; if (agnss_ref_time_.valid == true) { - ref_rx_utc_time = agnss_ref_time_.d_tv_sec; + ref_rx_utc_time = static_cast(agnss_ref_time_.d_tv_sec); } std::vector> visible_sats = get_visible_sats(ref_rx_utc_time, ref_LLH); diff --git a/src/main/main.cc b/src/main/main.cc index 16cf91edf..9b8354276 100644 --- a/src/main/main.cc +++ b/src/main/main.cc @@ -32,7 +32,7 @@ */ #ifndef GNSS_SDR_VERSION -#define GNSS_SDR_VERSION "0.0.9" +#define GNSS_SDR_VERSION "0.0.10" #endif #ifndef GOOGLE_STRIP_LOG