Commit Graph

293 Commits

Author SHA1 Message Date
Carles Fernandez 9417e713c3
Replace Receiver.sources_count configuration parameter name by GNSS-SDR.num_sources. The former parameter name is still read to ensure backward compatibility 2021-03-13 21:35:55 +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 df8cdc678d
Allow a receiver compiled with -DENABLE_FPGA=ON to execute regular flowgraphs 2021-02-23 16:48:18 +01:00
Carles Fernandez 3ec9749852
Do not instantiate the Signal Conditioner when the software is compiled with ENABLE_FPGA=ON
so that part can be removed from the configuration file when using the FPGA offloading flowgraph
2021-02-23 13:37:17 +01:00
Carles Fernandez b4d9a3a84b
Remove redundant parameter SignalSource.enable_FPGA 2021-02-23 12:24:21 +01: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 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
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 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
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
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
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
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 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 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 499de7a9f1
Update file headers 2020-07-28 16:57:15 +02:00
Carles Fernandez 8a06981c16
Improve const correctness 2020-07-20 01:20:15 +02:00
Carles Fernandez 142fd8a3cb
Remove unused lines 2020-07-13 16:08:00 +02:00
Carles Fernandez 540e8efa55 Resolve conflicts 2020-07-13 12:24:27 +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 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 b5c2367788
Merge branch 'Acquisition' of https://github.com/piyush0411/gnss-sdr into piyush0411-Acquisition 2020-06-23 11:47:24 +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
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
piyush0411 1935e46950 Updated GNSS Flowgraph 2020-06-14 21:18:36 +05:30
Carles Fernandez 5f974a8f17
Replace boost::shared_ptr by std::shared_ptr 2020-04-02 13:23:20 +02:00
Carles Fernandez 538c1e6182 Fix shadowed variables 2020-02-26 18:16:04 +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 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