1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-11-11 12:30:06 +00:00
Commit Graph

1381 Commits

Author SHA1 Message Date
Carles Fernandez
dc87113279
Fix building of FPGA test 2021-10-30 21:51:23 +02:00
Carles Fernandez
a7a140862b
Fix building against latest GNU Radio
Replace boost::any by std::any
2021-10-30 05:43:22 +02:00
Carles Fernandez
f9911cbc3f
Fix lintian warning very-long-line-length-in-source-file (raised by Lintian v2.110.0)
Rationale:
The source file includes a line length that is well beyond the normally human made code line length.
This very long line length does not allow Lintian to do correctly some source file checks.
This line could also be the result of some text injected by a computer program, and thus could lead to FTBFS bugs.
Last but not least, long line in source code could be used to obfuscate the source code and to hide stuff like backdoors or security problems.
2021-10-29 14:26:55 +02:00
Carles Fernandez
e8ec809d2c
Raise maximum SEP 2021-10-10 21:41:21 +02:00
Carles Fernandez
446b7cfbea
Improve constructors
Prefer initialization to assignment in constructors

Improves the readability of the code and performance

Easier detection of unused members

(see https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md\#Rc-initialize\)
2021-10-10 18:54:42 +02:00
Carles Fernandez
a510c9d92e
Remove UnscentedFilterComputationTest suite, which is randomly failing 2021-10-08 19:07:11 +02:00
Carles Fernandez
715987e749
Improve design of the Viterbi Decoder API
Easier to use, it does not require external memory for internal states anymore
2021-09-26 13:23:28 +02:00
Carles Fernandez
e52ccfb893
Rewriting of the Viterbi decoding
New class implementing the Viterbi decoder. All memory allocated in the constructor

Old SBAS Viterbi decoder moved to Viterbi_Decoder_Sbas class.
2021-09-25 20:29:51 +02:00
Carles Fernandez
e0d41e96e9
Add --num_channels parameter to position_test 2021-08-11 16:35:05 +02:00
Carles Fernandez
b4b9c31182
Improve detection of Gnuplot and gnss_sim when cross-compiling 2021-08-02 09:33:16 +02:00
Carles Fernandez
c9341b6d35
Bump CMake compatibility to version 3.21 2021-07-24 13:59:05 +02:00
Carles Fernandez
bf7cea7240
Update Googletest local version to 1.11.0 2021-06-13 14:21:51 +02:00
Carles Fernandez
629a8de149
Update google-benchmark version to 1.5.5. Fix building with Xcode 2021-06-12 14:42:16 +02:00
Carles Fernandez
7bfaab0b17
Add erasure decoder benchmark for E6B 2021-06-08 11:50:55 +02:00
Carles Fernandez
44e35b48ab
Add example of erasure decoding 2021-06-08 11:16:57 +02:00
Carles Fernandez
1fc7286a32
Update build option name for benckmark 2021-06-05 01:28:01 +02:00
Carles Fernandez
3c74930c7d
Fix building problems in Macports 2021-05-31 10:47:07 +02:00
Carles Fernandez
49fc117ab1
Improve control on gtest version 2021-04-24 01:16:20 +02:00
Carles Fernandez
3bc2c738c8
Implement FEC2 Erasure Correction in Galileo E1B INAV message
This feature is configurable, disabled by default.

Added a benchmark for the Reed Solomon decoder.

Make the RS decoder to accept both shortened or unshortened codes
2021-04-19 13:26:46 +02:00
Carles Fernandez
af36f2f98f
Add realistic tests for FEC2 Erasure Correction 2021-04-11 22:44:25 +02:00
Carles Fernandez
df7200b4b0
Fix parameter in test for consistency 2021-04-07 14:00:41 +02:00
Carles Fernandez
149c26b971 Expand ReedSolomon class to shortened codes. Add conf parameters for Galileo E1B RS encoding/decoding and the corresponding unit tests 2021-04-01 10:22:24 +02:00
Carles Fernandez
eb68c41074 Fix parameters in example, remove irrelevant test 2021-03-28 23:37:29 +02:00
Carles Fernandez
c67ac1247f
Add optional erasure positions to RS decoder 2021-03-26 12:40:35 +01:00
Carles Fernandez
4c51037b14
Fix test 2021-03-25 19:12:05 +01:00
Carles Fernandez
aeb6a0cd84
Add Reed Solomon encoder and decoder class 2021-03-25 14:53:18 +01:00
Carles Fernandez
816bd94379
Improve messages if configuration fails 2021-02-27 11:05:39 +01:00
Carles Fernandez
07b401e3bc
Improve error messages in case of wrong configuration for the FPGA offloading flowgraph 2021-02-23 21:40:53 +01:00
Carles Fernandez
a479d4c1eb
Remove failing extra unit test 2021-02-23 09:55:56 +01:00
Carles Fernandez
ae018f829c
Improve test 2021-02-23 09:55:14 +01:00
Carles Fernandez
81251f5ef3
Actually test something 2021-02-22 20:15:43 +01:00
Carles Fernandez
146e1d7a63
Update .proto files for GPS and Galileo ephemeris data 2021-02-22 13:42:54 +01:00
Carles Fernandez
2e53289653
Add more consistency in parameters name 2021-02-21 10:56:56 +01:00
Carles Fernandez
7971565a0d
Give more natural, consistent names to ephemeris / iono / utc parameters exposed outside the receiver via XML files
Create a base class for GPS, Galileo and BeiDou ephemeris, allowing to remove some duplicated code

Use BOOST_SERIALIZATION_NVP macro, less error prone than boost::serialization::make_nvp

Update .xsd files
2021-02-21 00:01:56 +01:00
Carles Fernandez
73a728b3f6
Merge branch 'feature/signal_source_interface' of https://github.com/jwmelto/gnss-sdr into jwmelto-feature/signal_source_interface 2021-02-18 09:03:03 +01:00
Jim Melton
3b728d9c26
fix cast error 2021-02-15 17:15:38 -07:00
Jim Melton
ece5effa2d
penultimate clang-format fix 2021-02-15 16:34:16 -07:00
Jim Melton
3bf2deb2ae
fixed failing unit test
I don't know how this didn't run before submitting the PR. CI tests are great!

The file-based signal sources were modified to not throw an exception on creation
but rather when connect() is called. The unit test was checking for an exception
upon construction.
2021-02-15 15:33:16 -07:00
Jim Melton
78362e7cba add signal_source_interface
also adds a base implementation that most signal sources should inherit from.
The gen_signal_source is inexplicably different (probably as a test fixture,
commonality was not valued).

Only the file_signal_source has been tested; all the sources are modified in the same
way, but we all know the only proof of correctness is testing.

The block factory was simplified a bit. Handling for legacy config files was pulled out
of the flowgraph; now when the "0" instance of a component (Foo0) is created, if there is
no config for it, then the legacy version (Foo) will be tried. This is different from
passing -1 for the item number (which is still supported). Theoretically, all existing
config files should still work.
2021-02-15 11:47:13 -07:00
Javier Arribas
39031b24ac Completing UDP GPS and Galileo ephemeris server 2021-02-15 15:58:38 +01:00
Carles Fernandez
950111d0fe
Avoid warning when building googletest with CMake >= 3.19 2021-01-25 22:19:18 +01:00
Carles Fernandez
1287e8fe79
Improve handling of the filesystem library 2021-01-16 14:37:19 +01:00
Carles Fernandez
0e9046c956
Raise an error if GPSTK is to be built but the patch command is not found 2021-01-16 10:51:38 +01:00
Carles Fernandez
11f13ebcab
Fix building in modern environments 2021-01-15 15:03:36 +01:00
Carles Fernandez
4fea48f603
Improve handling of change in GNU Radio 3.9 FFT API
Fix compilation of some optional blocks when linking against GR 3.9

Fix warning -Wembedded-directive: embedding a directive within macro arguments has undefined behavior
2021-01-15 13:39:26 +01:00
Carles Fernandez
21352a80d1
Apply and add clang-tidy ckecks readability-make-member-function-const and readability-qualified-auto 2020-12-30 21:49:29 +01:00
Carles Fernandez
7308745f05
Apply more concise file header format
Re-license CMake scripts with BSD-3-Clause
2020-12-30 13:35:06 +01:00
Carles Fernandez
abd1032ca2
Avoid using reserved identifiers 2020-12-29 14:47:28 +01:00
Carles Fernandez
42efb68310
Fix building with new GNU Radio firdes API. No functional change, since WIN_HAMMING is the default 2020-12-19 12:40:57 +01:00
Carles Fernandez
8f3e60091b
Avoid patching GPSTk twice when rebuilding 2020-12-18 12:51:45 +01:00
Carles Fernandez
c49a0a2e16
Remove tab 2020-12-02 14:33:43 +01:00
Carles Fernandez
a538c8c4ee
Update local GPSTk version to v8.0.0, keep compatibilty if v3.0.0 is installed 2020-12-02 14:27:59 +01:00
Carles Fernandez
e6d802d3e8
Fixes for new clang-format behavior 2020-11-22 11:05:16 +01:00
Carles Fernandez
dd60970f32
Improve dump of Telemetry blocks 2020-11-19 09:55:08 +01:00
Carles Fernandez
708c696a69
Build GPSTk with the same visibility settings 2020-11-15 21:26:55 +01:00
Carles Fernandez
02b0fbed2e
Merge branch 'fix-format' into next 2020-11-15 20:21:12 +01:00
Carles Fernandez
15e1a9da83
Add remaining rinex printer tests with new API 2020-11-15 18:13:22 +01:00
Carles Fernandez
f2b05e686b
Simpler API for the Rinex_Printer 2020-11-15 14:17:58 +01:00
Carles Fernandez
54dfb9bbe9
Simplify public Rinex_Printer interface 2020-11-14 14:44:43 +01:00
Carles Fernandez
b8862f8d7d
Give more intuitive names to files with functions for local signal replica generation 2020-11-07 22:43:19 +01:00
Carles Fernandez
bcd7c25cd1
Add Galileo E6 signal structure based on E6-B/C Codes Technical Note, Issue 1, Jan 2019.
Add Acquisition, Tracking and TLM blocks for Galileo E6 B/C. The decoder does nothing
2020-11-07 21:33:26 +01:00
Carles Fernandez
f24064e245
Fixes for changed behavior of clang-format 2020-11-06 10:41:20 +01:00
Carles Fernandez
0880b04649
Handle change in GNU Radio FFT API 2020-11-04 09:32:00 +01:00
Carles Fernandez
f0e1ef6f9a
Add a common shared pointer definition
Makes transition to GNU Radio 3.9 API less verbose
2020-11-03 20:51:57 +01:00
Carles Fernandez
7b68335226
Fix filter tests 2020-10-29 11:49:54 +01:00
Carles Fernandez
2bf152636f
Add SPDX info to GPSTk patch file. Make the reuse job happy 2020-10-25 13:34:02 +01:00
Carles Fernandez
cc4412070b
Fix typo in patched file name 2020-10-25 13:02:20 +01:00
Carles Fernandez
88bd08b75b
Fix obsdiff and rinex2assist utilities when installed if they were built with a locally downloaded version of GPSTk 2020-10-25 11:50:09 +01:00
Carles Fernandez
14e588a6af
Remove old CMake support, not used anymore 2020-10-25 11:33:45 +01:00
Carles Fernandez
25da76d1a2
Fix building with CMake > 3, GCC 8 and old Boost version (e.g. CentOS 7 with cmake3 and gcc8) 2020-08-19 15:24:09 +02:00
Carles Fernandez
d4ed61df4b
Improve handling of gflags library
Set minimun gflags version to 2.1.2

Replaced google:: by gflags:: namespace
2020-08-13 20:54:22 +02:00
Carles Fernandez
47f6855610
Give more intuitive naming to asynchronous message handlers 2020-08-03 08:13:21 +02:00
Carles Fernandez
89c7598be4
Rename the Galileo_Navigation_Mesaage class to Galileo_Inav_Message for consistency 2020-07-28 21:27:46 +02:00
Carles Fernandez
499de7a9f1
Update file headers 2020-07-28 16:57:15 +02:00
Carles Fernandez
6cc96b039f
Benchmark with a longer string 2020-07-28 11:02:29 +02:00
Carles Fernandez
e53d1dcfd2
Merge branch 'Tracking' of https://github.com/piyush0411/gnss-sdr into piyush0411-Tracking 2020-07-21 08:21:09 +02:00
Carles Fernandez
4ab7690085
Fix bug in GLONASS year computation (Fixes: #347) 2020-07-19 14:44:18 +02:00
Carles Fernandez
c0f81dd9e2
Improve const correctness. Improve usage of typeid 2020-07-19 09:39:32 +02:00
piyush0411
1370959491 Added Unit-Test For Tracking 2020-07-14 04:53:27 +05:30
Carles Fernandez
7a64f53ddf
Avoid redundancy, and possible errors, in block factory public API 2020-07-13 15:17:15 +02:00
Carles Fernandez
7a07a45693
Merge branch 'Acquisition' of https://github.com/piyush0411/gnss-sdr into piyush0411-Acquisition 2020-07-13 10:19:23 +02:00
piyush0411
349d8f2043 Merge branch 'piyush0411-Acquisition-fixed' of https://github.com/carlesfernandez/gnss-sdr into Acquisition 2020-07-13 01:24:08 +05:30
Carles Fernandez
d5972398c3
Avoid null pointer dereference warning from cppcheck 2020-07-12 12:46:13 +02:00
Carles Fernandez
e400df565c
Fix Galileo E5b acquisition test 2020-07-11 23:28:44 +02:00
Carles Fernandez
6c7eaf55da
Add work on Gal E5b acq test 2020-07-11 13:53:47 +02:00
Carles Fernandez
c7cd0ee9ad
Fix test 2020-07-11 13:07:01 +02:00
Carles Fernandez
e13d0c2b76
Merge branch 'next' of https://github.com/carlesfernandez/gnss-sdr into piyush0411-Acquisition 2020-07-11 11:37:54 +02:00
piyush0411
d5969268f8 Fixed some bugs in Unit-Test 2020-07-11 03:35:37 +05:30
Carles Fernandez
e354282e4c
Delete benchmark 2020-07-10 00:45:35 +02:00
Carles Fernandez
c04948fd02
Reduce number of warnings raised by bugprone-* clang-tidy checks 2020-07-10 00:37:55 +02:00
piyush0411
9437eae591 Modified Unit-Test 2020-07-09 00:30:11 +05:30
Carles Fernandez
09bcd1981c Replace std::endl by \n character. There is no need to always flush the stream. 2020-07-07 18:53:50 +02:00
Carles Fernandez
999ee6c623
Enable gperftools in position_test, if found and enabled with ENABLE_GPERFTOOLS 2020-07-06 10:25:54 +02:00
Carles Fernandez
d3b7557dcf
Sort constants
no more GPS_L1_PI, GPS_L2_PI, etc. Values are written in a single point.
2020-07-05 20:20:02 +02:00
Carles Fernandez
c46cd87d37
Experiment with transform_reduce 2020-07-01 23:05:33 +02:00
Carles Fernandez
c4652c4593
Do not capture by reference in inner_product lambda 2020-06-30 15:29:30 +02:00
Carles Fernandez
e652b2335d
Add missing line 2020-06-30 13:52:20 +02:00
Carles Fernandez
b2fd68fe67
Improve std::plus void detection 2020-06-30 13:41:20 +02:00
Carles Fernandez
f8656ca9d8 Fix for compilers using C++11: the std::plus template without class T specified is only available since C++14 2020-06-29 12:32:35 +02:00
Carles Fernandez
3bc8595dfe
Add inner_product to detector benchmark 2020-06-29 10:13:07 +02:00
piyush0411
40556f7ac1 Modified unit-test 2020-06-28 23:14:16 +05:30
Carles Fernandez
c784dfe125
Fix a bug that could cause a crash on receiver stopping
If a channel event was happening after flowgraph stop and before flowgraph disconnection, it caused a crash. This was avoided by sleeping the control thread during 500 ms after disconnection and before the block destructors were called, so the event could be processed, but this was not a robust solution.
2020-06-27 09:52:59 +02:00
Carles Fernandez
c222552bff
Make it easier to add new benchmarks 2020-06-24 14:05:05 +02:00
Carles Fernandez
300279bc30
Better naming for benchmarks 2020-06-24 13:59:50 +02:00
Carles Fernandez
b5c2367788
Merge branch 'Acquisition' of https://github.com/piyush0411/gnss-sdr into piyush0411-Acquisition 2020-06-23 11:47:24 +02:00
piyush0411
8904eab576 Added unit-test 2020-06-23 14:24:51 +05:30
Carles Fernandez
037a1fcb5f
Improve headers, large data members first. Improve nav message interfaces 2020-06-23 09:47:58 +02:00
Carles Fernandez
753e67bcac
Fix parallel builds 2020-06-21 21:59:05 +02:00
Carles Fernandez
8856f4a5a1
Merge branch 'benchmark' into next 2020-06-21 21:10:46 +02:00
Carles Fernandez
a1b06f747b
Add benchmarks of small code snippets 2020-06-21 21:10:22 +02:00
Carles Fernandez
4f4ccccf9b
Improve lamdba usage 2020-06-21 11:57:59 +02:00
Carles Fernandez
633d27b5fa
Improve lambda usage 2020-06-18 22:36:58 +02:00
Carles Fernandez
ac3c96afcf
Fix serdes_monitor_pvt_test 2020-06-18 20:41:56 +02:00
Carles Fernandez
81af1a531b
Redesign of pointer management
Avoid indirection caused by passing shared_ptr by reference

The block factory does not have responsability on the lifetime of their inputs

Define std::make_unique when using C++11 and make use of it

Printers are turned into unique_ptr to express ownership

Printers do not participate on the lifelime of the data, so they take const raw pointers

Modernize tests code
2020-06-18 11:49:28 +02:00
Carles Fernandez
ae50ebbaa5
Prefer use of CMAKE_SOURCE_DIR 2020-06-13 21:15:47 +02:00
Carles Fernandez
34ebf384a5
Use parallel building for GPSTk and Protobuf 2020-06-13 14:01:35 +02:00
Carles Fernandez
ee84f60fb4
Simplify CMake scripts 2020-06-13 10:56:49 +02:00
Carles Fernandez
d029bf405b
Improve CMake scripts
Replace CMAKE_CURRENT_BINARY by CMAKE_BINARY_DIR
Remove include_directories() instance
Put the GPSTk install folder in its building folder instead of in its source folder
2020-06-13 10:25:28 +02:00
Carles Fernandez
0df4277d36
Unify criteria in target definitions, more informative names 2020-06-13 00:32:40 +02:00
Carles Fernandez
d14e69ef5a
Do not pollute the source directory if the software is built from an out-of-source-tree directory
External sources and data are now always stored in a ./thirdparty folder under the building directory.

A copy of the generated binaries will be stored under gnss-sdr/install, if the building directory is inside the source tree, or in an ./install folder under the building directory if it is outside the source tree.
Fix a bug that broke compilation if the user configured the building without extra testing in a first instance, and then switched the testing buiding options to ON in a later build.

Fix extra test building if GPSTk was already installed and Boost >= 1.71
2020-06-12 20:51:26 +02:00
Carles Fernandez
d847d3fdcf
Add test about preamble correlation implementations 2020-06-11 12:09:55 +02:00
Carles Fernandez
836e074f98
Add building option ENABLE_STRIP to enable the generation of stripped binaries (without debgging information). Set to OFF by default 2020-06-10 17:22:03 +02:00
Carles Fernandez
fe8f186380
Merge branch 'sysheaders' into next 2020-06-10 11:59:31 +02:00
Carles Fernandez
85286f8a7e
Initialize members to a valid state 2020-06-10 11:54:23 +02:00
Carles Fernandez
34a250246a
Simplify initializations in system_parameters library 2020-06-10 10:15:59 +02:00
Carles Fernandez
5755e6ae8b
Fix FPGA test 2020-06-10 05:30:23 +02:00
Carles Fernandez
2a3d682f1f
Make use of target_sources(), make use of target propagation to reduce redundancy in dependencies, some fixes for Clang and CMake < 3.11. Use generic lambdas with auto 2020-06-08 20:04:01 +02:00
Carles Fernandez
4913756a05
Replace <boost/bind.hpp> by <boost/bind/bind.hpp> 2020-06-06 23:41:38 +02:00
Carles Fernandez
447d8a5625
Fix warning in GCC 10 2020-05-28 23:05:09 +02:00
Carles Fernandez
f731a7c0f1
Fix for Boost >= 1.73 in old compilers 2020-05-18 22:50:34 +02:00
Carles Fernandez
1077970962
Revert "Fix for Boost < 1.60"
This reverts commit 832c2558c6.
2020-05-18 21:36:22 +02:00
Carles Fernandez
832c2558c6
Fix for Boost < 1.60 2020-05-18 19:55:44 +02:00
Carles Fernandez
b408a2ef29
Fix for Boost 1.73: qualify placeholders with their full namespace 2020-05-18 18:58:39 +02:00
Carles Fernandez
35ee34673a
Fix signature of copy and move operators 2020-05-16 14:39:34 +02:00
Carles Fernandez
1d703b4b48
Fix for using std::span when available, and gsl::span as a fallback 2020-05-07 23:11:11 +02:00
Carles Fernandez
eaee82280a
Make use of std::span when available 2020-05-07 21:47:45 +02:00
Carles Fernandez
552b438245
Fixes for old GCC 2020-04-26 12:38:01 +02:00
Carles Fernandez
0164d8b37c
Fixes for old GCC 2020-04-26 12:35:08 +02:00
Carles Fernandez
c27622a738
Fixes for old GCC 2020-04-26 12:28:24 +02:00
Carles Fernandez
f5fc4d4119
Use lambda instead of boost::bind 2020-04-26 09:10:53 +02:00
Carles Fernandez
4e5149a69e
Use lambda instead of boost::build in tests 2020-04-26 08:41:49 +02:00
Carles Fernandez
a75526d780
Use lambda instead of boost::build when genenic lambdas are available in the compiler 2020-04-25 23:03:44 +02:00
Carles Fernandez
ec3c868625
Fixes a bug in GLONASS GNAV CRC computation (Fixes: #349) 2020-04-10 13:44:45 +02:00
Carles Fernandez
a49df87704
Robustify cross-compilation 2020-04-08 10:51:46 +02:00
Carles Fernandez
3519107131
Add compatibility with the new GNU Radio 3.9 API that uses C++11 standard smart pointers instead of Boost smart pointers 2020-04-02 23:59:35 +02:00
Carles Fernandez
5f974a8f17
Replace boost::shared_ptr by std::shared_ptr 2020-04-02 13:23:20 +02:00
Carles Fernandez
299cb1a2ee
Remove usage of uninitialized variables in CMake scripts
Remove all warnings emitted by cmake --warn-uninitialized ..
2020-02-29 14:33:09 +01:00
Carles Fernandez
c470d43432
Fix shadowed variables
See MISRA C++:2008, 2-10-2 - Identifiers declared in an inner scope shall not hide an identifier declared in an outer scope
and https://rules.sonarsource.com/cpp/RSPEC-1117\?search\=shadow
2020-02-26 22:40:00 +01:00
Carles Fernandez
538c1e6182 Fix shadowed variables 2020-02-26 18:16:04 +01:00
Carles Fernandez
2a3786b0a5
cpplint: fix whitespace/blank_line 2020-02-23 02:43:17 +01:00