1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-14 04:00:34 +00:00

Update changelog

This commit is contained in:
Carles Fernandez 2019-07-26 16:09:02 +02:00
parent 712d9ff06b
commit 08c57e2c72
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D

View File

@ -3,17 +3,22 @@
### Improvements in Accuracy ### Improvements in Accuracy
- Local clock correction based on PVT solution (error kept below 1 ms). - Local clock correction based on PVT solution (error kept below 1 ms).
- Fix a bug in broadcast ionospheric parameters usage.
### Improvements in Availability ### 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 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. - Fixed PVT computation continuity through the TOW rollover.
- Improved signal acquisition and tracking mechanisms in high dynamic scenarios.
### Improvements in Efficiency ### 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). - Improved preamble detection implementation in the decoding of navigation messages (acceleration by x1.6 on average per channel).
- Shortened Acquisition to Tracking transition time. - 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. - 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: ### 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. - New Tracking parameters allow the configuration of PLL and DLL filters order.
- Added parameter to enable FLL during pull-in time. - Added parameter to enable FLL during pull-in time.
- Configurable pull-in time in the Tracking loops. - Configurable pull-in time in the Tracking loops.
@ -40,37 +45,44 @@
### Improvements in Maintainability: ### 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. - 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. - 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. - 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 - Massive reduction of warnings triggered by clang-tidy checks.
- The internal communication mechanism based on gr::msg_queue has been replaced by asynchronous message passing. - Throughout code cleaning and formatting performed with automated tools in order to reduce future commit noise.
### Improvements in Portability: ### 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. - CMake scripts now follow a modern approach (targets and properties) but still work with 2.8.12.
- Improvements for macOS users using Homebrew. - 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 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. - 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 ### Improvements in Reliability
- Included the Guidelines Support Library. General improvement of memory management, replacement of raw pointers by containers or smart pointers. - 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. - 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 ### 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). - 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. - 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. - 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. - 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 enabled/disabled features. This info is also stored in a file called features.log in the building directory. - 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 failure. - Improved information provided to the user in case of building configuration and runtime failures.