From 08c57e2c725583db7e1dd1990a3d97209dc1ad75 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 26 Jul 2019 16:09:02 +0200 Subject: [PATCH] Update changelog --- docs/changelog | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/docs/changelog b/docs/changelog index a1f6ba4e0..58585eb8a 100644 --- a/docs/changelog +++ b/docs/changelog @@ -3,17 +3,22 @@ ### Improvements in Accuracy - Local clock correction based on PVT solution (error kept below 1 ms). +- Fix a bug in broadcast ionospheric parameters usage. ### Improvements in Availability -- Fixed bug that caused a random deadlock in the Observables block, preventing the computation of PVT fixes. +- Improved mechanism for false lock detection in the Tracking loops. - Fixed bug in Galileo INAV/FNAV message decoding when PLL is locked at 180 degrees, which prevented from correct navigation message decoding in some situations. +- Fixed bug that caused a random deadlock in the Observables block, preventing the computation of PVT fixes. - Fixed PVT computation continuity through the TOW rollover. +- Improved signal acquisition and tracking mechanisms in high dynamic scenarios. ### Improvements in Efficiency +- Added mechanism for assisted acquisition of signals on a secondary band when the primary has already been acquired. This allows a great reduction of the computational load in multi-frequency configurations. +- Tracking loops now perform bit synchronization, simplifying the decoding process in Telemetry blocks and FPGA-offloading. - Improved preamble detection implementation in the decoding of navigation messages (acceleration by x1.6 on average per channel). - Shortened Acquisition to Tracking transition time. - Applied clang-tidy checks and fixes related to performance: performance-faster-string-find, performance-inefficient-algorithm, performance-move-const-arg, performance-type-promotion-in-math-fn, performance-unnecessary-value-param, readability-string-compare. @@ -21,7 +26,7 @@ ### Improvements in Flexibility: -- Rewritten Control Thread and GNSS Flowgraph for increased control of channels' status and smarter assignation of satellites in multi-band configurations. +- Rewritten Control Thread and GNSS flow graph for increased control of channels' status and smarter assignation of satellites in multi-band configurations. - New Tracking parameters allow the configuration of PLL and DLL filters order. - Added parameter to enable FLL during pull-in time. - Configurable pull-in time in the Tracking loops. @@ -40,37 +45,44 @@ ### Improvements in Maintainability: +- The internal communication mechanism based on gr::msg_queue has been replaced by a thread-safe, built-in asynchronous message passing system based on GNU Radio's Polymorphic Types. This change is backwards-compatible and prevents from a failure in case of a possible future deprecation or removal of the gr::msg_queue API. +- Deprecated boost::asio::io_service replaced by boost::asio::io_context if Boost > 1.65 +- CMake turns all policies to ON according to the running version up to version 3.15. - Usage of clang-tidy integrated into CMake scripts. New option -DENABLE_CLANG_TIDY=ON executes clang-tidy along with compilation. Requires clang compiler. - Applied clang-tidy checks and fixes related to readability: readability-container-size-empty, readability-identifier-naming, readability-inconsistent-declaration-parameter-name, readability-named-parameter, readability-non-const-parameter, readability-string-compare. - Improved includes selection following suggestions by include-what-you-use (see https://include-what-you-use.org/), allowing faster compiles, fewer recompiles and making refactoring easier. -- Deprecated boost::asio::io_service replaced by boost::asio::io_context if Boost > 1.65 -- The internal communication mechanism based on gr::msg_queue has been replaced by asynchronous message passing. +- Massive reduction of warnings triggered by clang-tidy checks. +- Throughout code cleaning and formatting performed with automated tools in order to reduce future commit noise. ### Improvements in Portability: -- Added interfaces for FPGA off-loading. +- Added interfaces for FPGA off-loading in GPS L1 C/A, Galileo E1b/c, GPS L2C, GPS L5 and Galileo E5a receiver chains. - CMake scripts now follow a modern approach (targets and properties) but still work with 2.8.12. - Improvements for macOS users using Homebrew. +- The software builds against GNU Radio >= 3.7.3, including 3.8.0. Automatically detected, no user intervention is required. - The volk_gnsssdr library can now be built without requiring Boost if the compiler supports C++17 or higher. +- The Boost Filesystem library is not anymore a required dependency in cases where it can be replaced by std::filesystem. Automatically detected, no user intervention is required. - CMake scripts automatically select among C++11, C++14, C++17 or C++20 standards, the most recent as possible, depending on compiler and dependencies versions. +- Drawback in portability: Protocol Buffers >= 3.0.0 is a new required dependency. ### Improvements in Reliability - Included the Guidelines Support Library. General improvement of memory management, replacement of raw pointers by containers or smart pointers. - Applied clang-tidy checks and fixes related to High Integrity C++: performance-move-const-arg, modernize-use-auto, modernize-use-equals-default, modernize-use-equals-delete, modernize-use-noexcept, modernize-use-nullptr, cert-dcl21-cpp, misc-new-delete-overloads, cert-dcl58-cpp, cert-err52-cpp, cert-err60-cpp. +- Fixed a number of defects detected by Coverity Scan (version June 2019). ### Improvements in Usability -- The receiver now admits FPGA off-loading, allowing for real time operation at high sampling rates and higher number of signals and channels. +- The receiver now admits FPGA off-loading, allowing for real time operation in embedded systems at high sampling rates and high number of signals and channels per signal in multiple bands. - Fixed program termination (avoiding hangs and segfaults in some platforms/configurations). - The Labsat_Signal_Source now terminates the receiver's execution when the end of file(s) is reached. It now accepts LabSat 2 filenames and series of LabSat 3 files. - Added configuration parameters to set the annotation rate in KML, GPX, GeoJSON and NMEA outputs, set by default to 1 s. -- New parameter PVT.show_local_time_zone displays time in the local time zone. Subject to the proper system configuration of the machine running the software receiver. -- CMake now generates a summary of enabled/disabled features. This info is also stored in a file called features.log in the building directory. -- Improved information provided to the user in case of failure. +- New parameter PVT.show_local_time_zone displays time in the local time zone. Subject to the proper system configuration of the machine running the software receiver. This feature is not available in old compilers. +- CMake now generates a summary of required/optional dependency packages found and enabled/disabled features. This info is also stored in a file called features.log in the building directory. +- Improved information provided to the user in case of building configuration and runtime failures.