Commit Graph

820 Commits

Author SHA1 Message Date
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
Carles Fernandez b6e9ba5877
Improve const correctness 2019-06-29 22:04:03 +02:00
Carles Fernandez 0e5211dbf0
Modern CUDA usage 2019-06-24 20:02:19 +02:00
Carles Fernandez 9318fe540d
Fixes for modern OpenCL versions 2019-06-24 13:39:34 +02:00
Carles Fernandez 3bc8091745
Fix comparisons (warning: -Wsign-compare) 2019-06-17 23:42:16 +02:00
Javier Arribas 81ee21f8cf Adding new a multichannel file source suitable for multifrequency captures stored in different files to avoid stream synchronization problems in post-processing 2019-06-17 18:13:06 +02:00
Javier Arribas e7517dc86d Removing superseded GPS tracking block. Carrier Aiding is now included in unified tracking 2019-06-11 10:11:20 +02:00
Carles Fernandez 59494034d8
Better fix for Boost Asio and string_view issue in macOS 2019-05-26 02:09:53 +02:00
Carles Fernandez a1f77607c3
Fix building in some macOS configurations 2019-05-16 20:49:10 +02:00
Carles Fernandez 6a6ec19b63
Fix building with Boost 1.65.1 (Ubuntu 18.04) 2019-05-08 21:35:15 +02:00
Carles Fernandez 5563e609ec Fix identification of Boost version 2019-05-08 19:28:53 +02:00
Carles Fernandez 214c9d5de0 Fix building for Boost < 1.66 2019-05-08 16:15:59 +02:00
Carles Fernandez 40f0a93695 Replace boost::asio::io_service (deprecated since Boost 1.66) by boost::asio::io_context 2019-05-08 15:23:55 +02:00
Álvaro Cebrián Juan 1f6427bf9a Fix argument parsing for warmstart and hotstart commands 2019-05-07 18:24:38 +02:00
Javier Arribas 3e36301ab5 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into rx_clock_correction 2019-04-28 19:42:42 +02:00
Carles Fernandez c1b48d675a
Improve GNU Radio 3.7 / 3.8 handling 2019-04-27 17:28:49 +02:00
Carles Fernandez f9c54e57cc
Reorder public interface 2019-04-27 13:35:50 +02:00
Javier Arribas 4b348fcdc2 Merge branch 'next' of https://github.com/gnss-sdr/gnss-sdr into rx_clock_correction 2019-04-25 13:00:48 +02:00
Carles Fernandez f5f255b28d Fix building with new version of GNU Radio 3.7.13.5 maint 2019-04-25 10:41:57 +02:00
Javier Arribas 485027b7af Implementing RX clock correction feedback in PVT and Observables 2019-04-23 17:31:26 +02:00
Carles Fernandez 6c9154aede
Expose usage of Protocol Buffers to the configuration 2019-04-21 13:30:59 +02:00