1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-15 12:40:35 +00:00
Commit Graph

770 Commits

Author SHA1 Message Date
Carles Fernandez
cfa7a4af48
Improve source code visualization in some code editors 2022-06-02 21:41:19 +02:00
Carles Fernandez
0dbecdaa80
Use naming as in HAS SIS ICD 1.0, document sources 2022-05-15 13:43:59 +02:00
Carles Fernandez
0804429f2c
Merge branch 'next' into galileo-e6 2022-05-12 21:09:18 +02:00
Carles Fernandez
4297667ffa
Set HAS SIS ICD reference 2022-05-12 21:09:11 +02:00
Carles Fernandez
70b79323ce
Fix building against latest GNU Radio main branch 2022-03-30 16:12:21 +02:00
Carles Fernandez
7a506e81d5
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into galileo-e6 2021-12-28 19:19:53 +01:00
Carles Fernandez
f2f02e5ba6
Fix counting of valid acquisitions 2021-12-28 19:15:43 +01:00
Marc Majoral
1877d7d4e5 take into account bit_transition_flag for the calculation of the number of measurements 2021-12-21 12:39:41 +01:00
Marc Majoral
39fd3f1ffa Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into fix_acq_perf_test 2021-12-20 10:51:15 +01:00
Carles Fernandez
55021d2531
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into galileo-e6 2021-12-20 08:05:51 +01:00
Carles Fernandez
f226152829
CI: make clang-tidy happy. Was: modernize-use-default-member-init 2021-12-17 22:01:45 +01:00
Carles Fernandez
12ed230cd7
Prefer initialization to assignment in constructors 2021-12-17 17:40:17 +01:00
Marc Majoral
36754cc63f fixed the calculation of the number of measurements of the acquisition performance test 2021-12-17 15:40:46 +01:00
Marc Majoral
fba6e2eaf7 set the tolerance of the doppler error to Acquisition.doppler_step in the acquisition performance test 2021-12-17 11:45:02 +01:00
Carles Fernandez
1ee5ce13ab
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into galileo-e6 2021-12-07 10:22:33 +01:00
Marc Majoral
afc78ee0ff fix acquisition performance test 2021-12-04 18:07:25 +01:00
Carles Fernandez
8f5790d0a0
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into galileo-e6 2021-11-23 21:40:26 +01:00
Carles Fernandez
bcec8331e6
Fixes for building against GNU Radio master
Log4cpp has been replaced by spdlog and fmt
2021-11-23 16:38:50 +01:00
Carles Fernandez
ec56450971
Forget data from too old MID messages
Do not process data if the MID was already printed (saves computation time and cluttering of repeated messages)
2021-11-20 14:36:29 +01:00
Carles Fernandez
617c1747b9
Add HAS message decoding test 2021-11-20 04:07:05 +01: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
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
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
44e35b48ab
Add example of erasure decoding 2021-06-08 11:16:57 +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
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
1287e8fe79
Improve handling of the filesystem library 2021-01-16 14:37:19 +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
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
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
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
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
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
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
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
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
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
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
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
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
d847d3fdcf
Add test about preamble correlation implementations 2020-06-11 12:09:55 +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
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
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
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
Carles Fernandez
b8f2182a01 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into normalize-discriminator 2020-02-13 11:09:16 +01:00
Carles Fernandez
2ded19342f
Improve headers 2020-02-12 00:04:29 +01:00
Carles Fernandez
d65daac971
Code formatting (cpplint.py --filter=-,+whitespace/tab,+whitespace/comments) 2020-02-11 21:47:13 +01:00
Carles Fernandez
bdc8c71e31
Add SPDX license id in header 2020-02-08 18:39:21 +01:00
Carles Fernandez
d1cb49b127
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into normalize-discriminator 2020-02-08 18:18:15 +01:00
Carles Fernandez
955348b080
Remove trailing underscore in header guards 2020-02-08 10:10:46 +01:00
Carles Fernandez
4d0d263280
Make the software package compliant with the REUSE Specification v3.0 (see https://reuse.software/spec/)
Update license headers to SPDX format (see https://spdx.org/)
Add license to all files
Add CI job in GitHub Actions to ensure compliance
2020-02-08 01:20:02 +01:00
Carles Fernandez
bb8416402c
Fix normalization in dll_nc_e_minus_l_normalized discriminator (see #333) 2020-02-07 10:58:33 +01:00
Carles Fernandez
a8fb2a6fb5
Update configurations (remove use_CFAR_algorithm parameter) 2020-02-05 22:15:50 +01:00
Carles Fernandez
d6ec2a7b2c
Update links (mainly from http to https, fix broken links) 2020-02-05 21:24:46 +01:00
Carles Fernandez
c57350cbc7
Fix build for macOS, fix warning about non-virtual destructor 2020-01-12 23:13:44 +01:00
Marc Majoral
1d5ff14619 used clang-format 2019-12-30 18:43:46 +01:00
Marc Majoral
9bfe37877e added scaling_factor. Removed unnecessary code. 2019-12-30 17:50:41 +01:00
Marc Majoral
c05fbe293b removd unused variables
fixed file headers
2019-12-21 17:49:01 +01:00
Marc Majoral
7bc0ce35c4 cleaned source code 2019-12-21 13:25:17 +01:00
Marc Majoral
431739a767 added Galileo E1 FPGA acuisition unit test 2019-12-18 16:23:17 +01:00
Marc Majoral
cf8e327414 removed unused variables 2019-12-18 16:22:17 +01:00
Marc Majoral
b41973065b fixed gps l1 FPGA acquisition test variable names 2019-12-18 13:02:29 +01:00
Marc Majoral
71a0f4fcdc The FPGA acquisition test source file uses floating point format. 2019-12-18 12:46:17 +01:00
Marc Majoral
eb0df94336 updated fpga-related unit tests + fixed fpga acquisition log of sample stamp + stop tracking message unlocks channel (the fpga multicorrelator stops blocking the flow of samples) 2019-12-16 18:44:22 +01:00
Carles Fernandez
df6d8eacb5
Do not have two files with the same name 2019-11-24 22:24:46 +01:00
Carles Fernandez
c7866ef385
Remove unused private members, replace std::bind by lambdas, apply clang-tidy and clang-format
Fix position_test with default parameters
2019-11-16 18:00:04 +01:00
Carles Fernandez
a7d19789f3
Merge branch 'fix_pcps_threshold' of https://github.com/odrisci/gnss-sdr into odrisci-fix_pcps_threshold 2019-11-16 12:40:22 +01:00
Cillian O'Driscoll
03ee350dd2 Added unit tests for item_type_helpers 2019-11-15 11:39:32 +00:00