1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-10-31 15:16:22 +00:00
Commit Graph

840 Commits

Author SHA1 Message Date
Carles Fernandez
b4d9a3a84b
Remove redundant parameter SignalSource.enable_FPGA 2021-02-23 12:24:21 +01:00
Carles Fernandez
c2223e3dad
Create a base class for Gnss almanacs, unify parameter names 2021-02-23 11:57:24 +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
f703990a09
Fix building when using C++11
Update changelog
2021-02-17 09:43:05 +01:00
Jim Melton
e5bcf4700c
penultimate clang-tidy/clang-format complaint 2021-02-15 23:01:56 -07:00
Jim Melton
c67f23c913
fix clang-tidy complaints
some of these are ridiculous and so have been silenced. I'm a huge fan
of static code analysis but I have a hard time believing that writing
"0U" is a qualitative improvement over "0u".
2021-02-15 21:30:50 -07:00
Jim Melton
bba9edd68c
change invalid block implementation from FATAL to ERROR
I'm not sure that there is any value in continuing with a bad configuration
but be careful about changing the semantics of existing code. You never know
what else may depend upon it.
2021-02-15 16:31:35 -07:00
Jim Melton
fb6fef74e3
fix clang-tidy CI issues 2021-02-15 14:13:54 -07:00
Jim Melton
41c7a7ad7d
fix whitespace 2021-02-15 13:46:12 -07:00
Jim Melton
6d4ddc16e7 eliminate compile warning
Note this commit introduces a more appropriate pattern for exception
handling within loops, but did not change all occurrences.
2021-02-15 11:47:13 -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
5dd34b5e1b Merge with next 2021-01-27 10:21:16 +01:00
Carles Fernandez
d249a7efcf
Avoid segmentation faults if the SignalConditioner is not well defined in the configuration 2021-01-26 23:11:06 +01:00
Carles Fernandez
24041058a6
Improve reported output in case of configuration error 2021-01-26 16:11:41 +01:00
Carles Fernandez
720215af30
Avoid segmentation fault if the item_type for the signal source is mismatched with the input item size of the Signal Conditioner 2021-01-26 15:20:37 +01:00
Carles Fernandez
862bdeea5c
Avoid segmentation fault if the Tracking item_type is not defined for the given implementation 2021-01-26 14:01:28 +01:00
Carles Fernandez
ed5975d968
Merge branch 'coverity-fix' into improve-flowgraph 2021-01-25 13:37:05 +01:00
Carles Fernandez
2f627581ef
Fix error handling issues detected by Coverity Scan 2020.09 2021-01-25 13:35:47 +01:00
Carles Fernandez
cd1c9e46ba
Add some basic configuration checks
Avoid some segmentation faults caused by ill-formatted configuration files
2021-01-25 00:49:36 +01:00
Carles Fernandez
a21c60ecb2
Improve error handling when the flow graph fails to start
Avoid segmentation faults due to some common inconsistencies in the configuration file
E.g.: non-existing names for blocks implementation, some mismatched input/output item sizes

Provide hints to the user on how to fix the configuration in case of failure when starting the flow graph
2021-01-24 01:49:16 +01:00
Carles Fernandez
268fc1215c
Refactor private implementation of flowgraph connection and disconnection 2021-01-22 17:32:37 +01:00
Javier Arribas
738ab13535 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into vtl_experimental 2021-01-01 14:22:43 +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
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
Javier Arribas
85df05b96b Merge with next 2020-11-10 12:24:31 +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
Javier Arribas
3bd0b07965 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into vtl_experimental 2020-11-04 09:35:31 +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
287284261c
Make use of Doxygen grouping feature
Improve Modules page in generated HTML documentation
2020-11-01 13:37:19 +01:00
Josh Schindehette
a8b536b367 Fixed issues for cpplint, clang-format, and REUSE-compliance 2020-10-21 16:26:56 +02:00
Josh Schindehette
ed93af11ac Added acquisition and tracking monitors
Added acquisition and tracking monitors to view intermediate outputs of
GNSS-SDR from monitoring clients. Each monitor (acquisition, tracking,
original monitor, and pvt) pushes its data to a different UDP port.
2020-10-21 16:26:56 +02:00
Javier Arribas
856859af01 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into vtl_experimental 2020-10-21 15:43:09 +02:00
Javier Arribas
1c09f6b8a5 First working version of a complete 5 state Kalman filter for both carrier and code tracking, tested with GPS L1 CA 1ms integration. 2020-09-21 21:34:39 +02:00
Marc Majoral
6fcae1a917 start the DMA only when then the receiver is in post-processing mode 2020-09-10 12:23:53 +02:00
Marc Majoral
933873c265 When using the FPGA in post-processing mode, start the DMA after instantiating the complete flowgraph, not before. 2020-09-10 10:08:25 +02:00
Carles Fernandez
15428a47cc
Fix building with -DENABLE_CUDA=ON 2020-08-27 14:57:44 +02:00
Carles Fernandez
05b4575a5c
Fix acquisition resampler for other bands than L1 2020-08-14 11:13:43 +02:00
Carles Fernandez
11b499535e
Fix FPGA termination 2020-08-13 21:19:17 +02:00
Carles Fernandez
adcbacafb5
Make clang-tidy happy 2020-08-09 14:14:04 +02:00
Carles Fernandez
fd41eef1e0
Fix receiver termination when using the Osmosdr_Signal_Source implementation for the SignalSource block 2020-08-06 11:45:27 +02:00
Carles Fernandez
9e272da007
Set a unique Pass_Through block to the SignalConditioner if its implementation is set to Pass_Through, instead of three chained Pass_Through blocks. In that case, configuration for the DataTypeAdapter, Input filter and Resampler are ignored, but the user is still warned 2020-08-05 12:58:10 +02:00
Carles Fernandez
a144d52c74
Make declarations more readable
Remove unused parameters
2020-08-03 10:46:07 +02:00
Carles Fernandez
fccac672d8
Merge branch 'Telemetry_Decoder' of https://github.com/piyush0411/gnss-sdr into piyush0411-Telemetry_Decoder 2020-07-28 20:10:33 +02:00
Carles Fernandez
499de7a9f1
Update file headers 2020-07-28 16:57:15 +02:00
piyush0411
2c2f034abd Connected Telemetry Decoder to GNSS Block Factory 2020-07-26 03:42:48 +05:30
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
8a06981c16
Improve const correctness 2020-07-20 01:20:15 +02:00
Carles Fernandez
c0f81dd9e2
Improve const correctness. Improve usage of typeid 2020-07-19 09:39:32 +02:00
Carles Fernandez
8666ff7706
Include what you use 2020-07-14 20:12:08 +02:00
piyush0411
e4cc3d4a2b Connected Tracking to GNSS Block Factory 2020-07-14 04:15:07 +05:30
Carles Fernandez
142fd8a3cb
Remove unused lines 2020-07-13 16:08:00 +02:00
Carles Fernandez
0178a394bb
Fix variable name 2020-07-13 15:44:07 +02:00
Carles Fernandez
9b7ec42e06
Sort optional blocks 2020-07-13 15:38:29 +02:00
Carles Fernandez
7a64f53ddf
Avoid redundancy, and possible errors, in block factory public API 2020-07-13 15:17:15 +02:00
Carles Fernandez
540e8efa55 Resolve conflicts 2020-07-13 12:24:27 +02:00
Carles Fernandez
6f01c0e71e
Merge branch 'piyush0411-Acquisition' of https://github.com/carlesfernandez/gnss-sdr into simple-factory 2020-07-13 11:02:44 +02:00
Carles Fernandez
97eacce237
Some minor edition 2020-07-13 10:18:24 +02:00
Carles Fernandez
7fc0cec60c
Simplify block factory
Avoid duplication of code
2020-07-12 23:08:58 +02:00
Carles Fernandez
200a5b8cd4
Fixes for the new signature, fix bugprone-* warnings, fix typo in block factory 2020-07-11 13:06:32 +02:00
Carles Fernandez
8b841215b7
Fix conflicts 2020-07-11 12:09:19 +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
Carles Fernandez
33cee4a759
Remove all warnings raised by bugprone-* clang-tidy checks in acquisition adapters 2020-07-10 13:35:15 +02:00
Carles Fernandez
c04948fd02
Reduce number of warnings raised by bugprone-* clang-tidy checks 2020-07-10 00:37:55 +02:00
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
58853ace7d
Implement GNSS-SDR.GPS_banned_prns, GNSS-SDR.Galileo_banned_prns, GNSS-SDR.Glonass_banned_prns, and GNSS-SDR.Beidou_banned_prns configuration parameters. The user can specify lists of satellites that will not be processed (e.g. GNSS-SDR.Galileo_banned_prns=14,18 since Galileo E14 and E18 satellites are not usable for PVT). Documented at https://gnss-sdr.org/docs/sp-blocks/global-parameters/\#banned-satellites Inspired by #397 2020-07-07 00:05:31 +02:00
Carles Fernandez
98bea8292c
Do not stop the receiver if SysV message queues can't be created 2020-06-30 10:41:59 +02:00
Carles Fernandez
2b3d4b321d
Make the adapters take the configuration pointer as const 2020-06-29 09:07:41 +02:00
Carles Fernandez
a01dfa4052
Fix clang-format and clang-tidy jobs 2020-06-27 11:52:59 +02:00
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
5a3db5a53d
Add debug internal logging for destructors. Sort destructor order 2020-06-25 02:50:07 +02:00
Carles Fernandez
3fcc7b7f85
Remove unused data member 2020-06-24 11:45:01 +02:00
Carles Fernandez
ba022cc5f7
Improve consistency of CMake scripts 2020-06-24 11:42:45 +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
Carles Fernandez
bcd5bfa6ff
Indicate that the property method of configuration is a getter 2020-06-23 11:05:31 +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
92f013c6b9
Improve consistency of variable naming
block_factory_ is not a data member, replaced by block_factory
2020-06-21 23:07:31 +02:00
piyush0411
c05129574c Fixed an error 2020-06-21 01:55:44 +05:30
Carles Fernandez
afa16c6769
Remove sleeps 2020-06-20 22:18:38 +02:00
Carles Fernandez
0d5b5894b4
Sort header files 2020-06-19 12:39:28 +02:00
Carles Fernandez
eea1afea18
Merge branch 'next' into Acquisition 2020-06-18 19:48:53 +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
3beb1e98af
Use lambdas if possible.
Fine tuning in CMake scripts
2020-06-15 19:23:59 +02:00
piyush0411
1935e46950 Updated GNSS Flowgraph 2020-06-14 21:18:36 +05:30
Carles Fernandez
ae50ebbaa5
Prefer use of CMAKE_SOURCE_DIR 2020-06-13 21:15:47 +02:00
Carles Fernandez
ee84f60fb4
Simplify CMake scripts 2020-06-13 10:56:49 +02:00
Carles Fernandez
0df4277d36
Unify criteria in target definitions, more informative names 2020-06-13 00:32:40 +02:00
piyush0411
2706c5bc5c Updated GNSS Block Factory 2020-06-12 17:37:36 +05:30
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
6de4d28ab1
Ignore modernize-avoid-bind clang-tidy fix 2020-04-26 11:07:19 +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
2ded19342f
Improve headers 2020-02-12 00:04:29 +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
d6ec2a7b2c
Update links (mainly from http to https, fix broken links) 2020-02-05 21:24:46 +01:00
Carles Fernandez
bc9725c745
Simplify cmake scripts, fix volk_gnsssdr cross-compilation, update ProtocolBuffers to 3.11.2 2020-01-13 01:49:00 +01:00
Carles Fernandez
c9e03557b7
Remove tabs 2019-10-05 03:16:31 +02:00
Carles Fernandez
c63c85ff36
Set assist_dual_frequency_acq to true by default only for multiple-band receivers
Fixes configurations which do not contain signals in L1
2019-10-04 09:17:29 +02:00
Carles Fernandez
ceaa785423 Set global parameter assist_dual_frequency_acq to true by default 2019-10-03 19:15:05 +02:00
Marc Majoral
d379a3ed6c When using the FPGA, the Ad9361FpgaSignalSource is instantiated after the acquisition and tracking classes. In this way, when using the receiver in post-processing mode, when the DMA starts sending signal samples to the receiver, the acquisition and tracking classes are already configured and ready. 2019-10-01 16:01:44 +02:00
Carles Fernandez
0c2efce10a Replace custom_year parameter name and type by bool pre_2009_file to process files dated from 1999 to 2009 2019-09-18 18:25:07 +02:00
Carles Fernandez
837dcc6859 Improve formatting 2019-09-17 16:25:17 +02:00
Javier
ad51654fbf Adding global configuration option to specify a custom year in order to postprocess old GNSS captures and avoid wrong week rollover 2019-09-13 16:36:41 +02:00
Carles Fernandez
e80122f4ff
Apply clang tidy checks and clang-format 2019-09-13 08:56:37 +02:00
Carles Fernandez
0520d400b3 Apply clang-tidy 2019-09-11 22:31:34 +00:00
Carles Fernandez
38a987607e
Make use of the new Boost::headers target introduced in CMake 3.15 2019-09-07 12:36:19 +02:00
Carles Fernandez
02318c0382
Give to global parameters more meaningful name 2019-08-31 11:37:29 +02:00
Javier
1dd1d826f8 Re-assign signal to channel in case of re-adquiring the same satellite 2019-08-30 17:00:12 +02:00
Carles Fernandez
df05c7418e
Fix bugprone-too-small-loop-variable clang-tidy check warnings 2019-08-24 17:34:12 +02:00
Carles Fernandez
95f688dcb0
Mark all constructors callable with one argument as explicit 2019-08-23 21:25:44 +02:00
Carles Fernandez
d4bb6e5731
Always have a space between // and comment 2019-08-18 22:16:13 +02:00
Carles Fernandez
c31d9dea40
Fix errors risen by include_what_you_use 2019-08-17 13:56:54 +02:00
Carles Fernandez
d469c694e2
Apply default clang-tidy check 2019-08-13 01:06:47 +02:00
Carles Fernandez
487010346f
Apply readability-isolate-declaration clang-tidy check 2019-08-13 00:19:31 +02:00
Carles Fernandez
3e3af9de5a
Add new configuration option ENABLE_ARMA_NO_DEBUG
When enabled, defines the ARMA_NO_DEBUG macro in Armadillo, disabling bound checking.
Disabled by default, but it is set automatically to ON if ENABLE_PACKAGING is set to ON
2019-08-12 11:33:51 +02:00
Carles Fernandez
1a11b5a2ec
Remove unnecessary links and includes to boost::thread 2019-08-03 19:51:50 +02:00
Carles Fernandez
4ec498514c
Build OpenCL block only if enabled with -DENABLE_OPENCL=ON 2019-08-02 14:59:05 +02:00
Carles Fernandez
2482f14bd8
Apply code formatting 2019-07-30 07:40:23 +02:00
Carles Fernandez
759f4cadac
Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into next 2019-07-30 07:36:47 +02:00
Carles Fernandez
4933ae3e0d
No Armadillo bound checking if compiled in Release mode 2019-07-29 21:22:44 +02:00
Javier Arribas
605128e5e0 Improving HW reset for FPGA-accelerated receiver 2019-07-29 15:57:18 +02:00
Carles Fernandez
9f8f9e8af9
Apply code cleaning before release 2019-07-28 12:01:11 +02:00
Carles Fernandez
a4d6800e22
Update copyright year
Applied on files changed since last release
clang-format applied
2019-07-26 12:38:20 +02:00
Javier Arribas
c45257a26b Bug fix: Restore telecommand functionality 2019-07-25 16:38:19 +02:00
Javier Arribas
27b1baf0b7 completing the acquisition assistance option from primary frequencies (e.g. L1, E1) to secondary frequencies (e.g. L5, E5) 2019-07-23 17:56:02 +02:00
Carles Fernandez
09b6b2305e
Handle redefinition of Boost_VERSION variable in CMake 3.15
See Policy CMP0093 https://cmake.org/cmake/help/v3.15/policy/CMP0093.html#policy:CMP0093
CMake 3.15 policies enabled by default (see https://cmake.org/cmake/help/v3.15/manual/cmake-policies.7.html#manual:cmake-policies(7) )
2019-07-22 14:13:57 +02:00
Carles Fernandez
be86771ede
Move default destructor to header file, so compiler can make a better job 2019-07-21 19:32:52 +02:00
Carles Fernandez
37fdfca5ec
Miscellaneous improvements
Improve modularity of CMake design
Improve building speed in multicore processors
Files command_event.* moved to core/libs
Remove Armadillo from public core_receiver interface
Uniformize name format for classes
Apply some fixes by clang-tidy
Improve documentation
2019-07-21 12:55:59 +02:00
Carles Fernandez
82c4643ffb
Remove unused file 2019-07-20 13:37:09 +02:00
Carles Fernandez
f440a0e9f1
Avoid passing big parameters by value
clang-tidy check: performance-unnecessary-value-param
See https://clang.llvm.org/extra/clang-tidy/checks/performance-unnecessary-value-param.html
2019-07-20 11:39:08 +02:00
Carles Fernandez
ef9c02bac2
Miscellaneous changes: fix typos, warnings 2019-07-20 02:53:31 +02:00
Carles Fernandez
0e583f5c39
Fix test 2019-07-19 23:26:26 +02:00
Javier Arribas
504a22d6bb Introducing the new satellite dispatcher with optional assistance from primary frequencies to secondary frequencies 2019-07-19 18:49:42 +02:00
Javier Arribas
601230ce37 Completing the migration to the new receiver channels and commands events queue. Fix unit test execution 2019-07-18 19:29:14 +02:00
Javier Arribas
aeabfb7c3c Replacing the old gnuradio message queue with the new ConcurrentQueue 2019-07-17 15:56:30 +02:00
Carles Fernandez
50cfb6cdf5
Fix building until gnss-sdr 2019-07-16 19:20:37 +02:00
Javier Arribas
1313edd716 Partial implementation of the new event queue and its dependencies. Still NOT usable 2019-07-16 17:41:12 +02:00
Javier Arribas
cae1c5a73a Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into newsatdispatcher 2019-07-16 12:29:20 +02:00
Carles Fernandez
76222945bd Add missing include, reordering 2019-07-16 12:02:13 +02:00
Javier Arribas
e7dc926dad Improving the concurrent queue and fix missing dependencies 2019-07-16 11:07:02 +02:00
Javier Arribas
bf40ed2be1 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into newsatdispatcher 2019-07-14 18:51:41 +02:00
Carles Fernandez
d7460022ed
Avoid C arrays
See https://clang.llvm.org/extra/clang-tidy/checks/modernize-avoid-c-arrays.html
2019-07-14 14:09:12 +02:00
Javier Arribas
71d93dc4b9 New asynchronous channel and PVT status reporting from observables and PVT to flowgraph. Partial implementation of assistance from L1 to L2 and L5 2019-07-11 18:39:28 +02:00
Carles Fernandez
4adb05570a Fix typos detected by codespell 2019-07-09 11:52:53 +02:00
Carles Fernandez
29a910df30
Simplify initializations 2019-07-07 19:56:23 +02:00
Carles Fernandez
018cde8953
Write public interface first, then private members in class definitions 2019-07-01 23:44:42 +02:00
Carles Fernandez
d5e5e5725d
Apply fixes by clang-tidy 2019-06-30 00:01:54 +02:00