3965566
doi
10.5281/zenodo.3965566
oai:zenodo.org:3965566
Javier Arribas
CTTC
Gabriel Araujo
antonioramosdet
Damian Miralles
University of Colorado Boulder
mmajoral
Luis Esteve
Epsilon Formacion SL
odrisci
Piyush Gupta
Anthony Arnold
Gerald LaMountain
@neu-spiral
Álvaro Cebrián Juan
marc-sales
Andrés Cecilia Luque
SergiSeguraMunoz
marabra
OSQZSS
Zosoworld
Marc L
lmne741
Bitsulia Dmitry
Michael Dickens
Sergey
Academias IT
INACAP
Dawei Sun
UIUC
Usman Haider
NUST
gnss-sdr/gnss-sdr: GNSS-SDR v0.0.13
Carles Fernandez
Centre Tecnològic de Telecomunicacions de Catalunya (CTTC)
url:https://github.com/gnss-sdr/gnss-sdr/tree/v0.0.13
info:eu-repo/semantics/openAccess
Other (Open)
<p>This is a maintenance release which includes bug fixes, compatibility with the
most recent compiler versions, some code optimization and the addition of minor
new features. Most relevant changes with respect to the former release are
listed below:</p>
Improvements in Efficiency:
<ul>
<li>Faster internal handling of <code>Gnss_Synchro</code> objects by reducing the amount of
copying via adding <code>noexcept</code> move constructor and move assignment operators,
so the move semantics are also used in STL containers.</li>
<li>All <code>std::endl</code> have been replaced by the <code>'\n'</code> character, since there is no
need to always flush the stream.</li>
<li>Performed a stack reordering of class members that seems to offer
statistically better performance in some processor architectures and/or
compilers.</li>
<li>Add building option <code>ENABLE_STRIP</code> to generate stripped binaries (that is,
without debugging symbols), smaller in size and potentially providing better
performance than non-stripped counterparts. Only for GCC in Release build
mode. Set to <code>OFF</code> by default.</li>
</ul>
Improvements in Maintainability:
<ul>
<li>Improved usage of smart pointers to better express ownership of resources.</li>
<li>Add definition of <code>std::make_unique</code> for buildings with C++11, and make use of
it along the source code.</li>
<li>Private members in headers have been sorted by type and size, minimizing
padding space in the stack and making the files more readable for humans.</li>
<li>Simpler, less error-prone design of the <code>GNSSBlockFactory</code> class public API
and internal implementation.</li>
<li>Simpler API for the <code>Pvt_Solution</code> class.</li>
<li>Improved system constant definition headers, numerical values are only written
once.</li>
<li>Improved const correctness.</li>
<li>The software can now be built against the GNU Radio 3.9 API that uses standard
library's smart pointers instead of Boost's. Minimum GNU Radio required
version still remains at 3.7.3.</li>
<li>The software can now be built against Boost <= 1.73 (minimum version: 1.53).</li>
<li>Fixed building with GCC 10 (gcc-10 and above flipped a default from <code>-fcommon</code>
to <code>-fno-common</code>, causing an error due to multiple defined lambda functions).</li>
<li>Fixed warnings risen by GCC 10 and Clang 10.</li>
<li>Various improvements in the CMake scripts: better decision on the C++ standard
to use; simplifications for various API dependency and environment versions
requirements, with more intuitive naming for variables; fixed the
<code>ENABLE_CLANG_TIDY</code> option; better GFORTRAN module; and broader adoption of
the modern per-target approach.</li>
</ul>
Improvements in Portability:
<ul>
<li>The software can now be cross-compiled on Petalinux environments.</li>
<li>Removed python six module as a dependency if using Python 3.x.</li>
<li>Make use of <code>std::span</code> if the compiler supports it, and use gsl-lite as a
fallback. The latter has been updated to version <a href="https://github.com/gsl-lite/gsl-lite/releases/tag/0.37.0">0.37.0</a>.</li>
<li>Improved finding of libgfortran in openSUSE and Fedora distributions.</li>
<li>Improved interface for FPGA off-loading.</li>
<li>Allow a random name for the build type. If not recognized, it is set to
<code>None</code>. This allows packaging in some distributions that pass an arbitrary
name as the build type (e.g., Gentoo) to avoid unexpected compiler flags. The
building option <code>ENABLE_PACKAGING</code> must be set to <code>ON</code> when packaging.</li>
<li>Do not stop the receiver if SysV message queues cannot be created.</li>
</ul>
Improvements in Reliability:
<ul>
<li>Fixed a bug in GLONASS GNAV CRC computation.</li>
<li>Fixed a bug in GLONASS time year.</li>
<li>Fixed a possible buffer overflow in the generation of RTCM messages.</li>
<li>Fixed bugs which could cause a random crash on receiver stopping.</li>
</ul>
Improvements in Reproducibility:
<ul>
<li>Improved reproducibility of the volk_gnsssdr library: Drop compile-time CPU
detection.</li>
</ul>
Improvements in Testability:
<ul>
<li>Add building option <code>ENABLE_BENCHMARKS</code>, which activates the building of
benchmarks for some code snippets, making it easier to developers to benchmark
different implementations for the same purpose. Set to <code>OFF</code> by default.</li>
</ul>
Improvements in Usability:
<ul>
<li>Do not pollute the source directory if the software is built from an
out-of-source-tree directory. Downloaded external sources and test raw files
are now stored in a <code>./thirdparty</code> folder under the building directory. In
case of an out-of-source-tree build, the generated binaries are stored in an
<code>./install</code> folder, also under the building directory. The old behavior for
generated binaries is maintained if the building is done from any source tree
subfolder (for instance, <code>gnss-sdr/build</code>): in that case, binaries are stored
in the source tree (under <code>gnss-sdr/install</code>).</li>
<li>Defined new <code>GNSS-SDR.GPS_banned_prns</code>, <code>GNSS-SDR.Galileo_banned_prns</code>,
<code>GNSS-SDR.Glonass_banned_prns</code> and <code>GNSS-SDR.Beidou_banned_prns</code> configuration
parameters. The user can specify lists of satellites that will not be
processed (e.g., <code>GNSS-SDR.Galileo_banned_prns=14,18</code> since Galileo E14 and
E18 satellites are not usable for PVT). Satellites on those lists will never
be assigned to a processing channel.</li>
<li>Added a Matlab script to quantize the input signal with a given number of bits
per sample.</li>
<li>Fixed the building option <code>-DENABLE_LOG=OFF</code>, which strips internal logging
from the binary and can help to reduce its size and ultimately to speed up the
receiver. In binaries with enabled logging, it still can be disabled by
passing the command line flag <code>--minloglevel=3</code> to <code>gnss-sdr</code>. This can be
relevant in embedded devices with scarce storage capabilities.</li>
<li>Fixed a bug in the Signal Sources configuration that made the number of
samples parameter ignored when too large (that is, when set larger than
2^31-1). Now the <code>samples</code> parameter accepts values up to 2^64-1, that is,
18,446,744,073,709,551,615 samples.</li>
<li>Fixed a bug in the forwarding of NMEA messages to a serial port (configuration
of the <code>PVT.nmea_dump_devname</code> parameter was ignored).</li>
<li>Updated version of the Contributor Covenant to version 2.0. Added badge in the
README.md file.</li>
</ul>
<p>See the definitions of concepts and metrics at <a href="https://gnss-sdr.org/design-forces/">https://gnss-sdr.org/design-forces/</a></p>
Zenodo
2020-07-29
info:eu-repo/semantics/other
591700
v0.0.13
1680784729.464146
5552405
md5:dfc2d235c2e990ff4b90550c66e2477f
https://zenodo.org/records/3965566/files/gnss-sdr/gnss-sdr-v0.0.13.zip
public
https://github.com/gnss-sdr/gnss-sdr/tree/v0.0.13
Is supplement to
url
10.5281/zenodo.591700
isVersionOf
doi