Commit Graph

276 Commits

Author SHA1 Message Date
Lenhart cad8659116 added license to config file, applied clang-formatting rules to overlooked files 2021-04-17 19:32:10 +02:00
Lenhart 4f66603464 Implemented a custom FIFO reading gnu radio block + adapter.
Reads samples from unix fifo into gnss-sdr.

Use cases:
- multiplex signal streams outside of gnss-sdr
- another program holds access to the SDR
- the SDR is not supported by gnss-sdr but can dump the signal to a fifo
2021-04-17 18:55:20 +02:00
Carles Fernandez 816bd94379
Improve messages if configuration fails 2021-02-27 11:05:39 +01:00
Carles Fernandez c47fa0d895
Silence clang-tidy check 2021-02-24 15:51:05 +01:00
Carles Fernandez 89efa10236
Improve error messages 2021-02-24 10:41:26 +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 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 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 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 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 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
piyush0411 2c2f034abd Connected Telemetry Decoder to GNSS Block Factory 2020-07-26 03:42:48 +05:30
piyush0411 e4cc3d4a2b Connected Tracking to GNSS Block Factory 2020-07-14 04:15:07 +05:30
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 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 2b3d4b321d
Make the adapters take the configuration pointer as const 2020-06-29 09:07:41 +02:00
piyush0411 c05129574c Fixed an error 2020-06-21 01:55:44 +05:30
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 2706c5bc5c Updated GNSS Block Factory 2020-06-12 17:37:36 +05:30
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
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 0520d400b3 Apply clang-tidy 2019-09-11 22:31:34 +00:00
Carles Fernandez d4bb6e5731
Always have a space between // and comment 2019-08-18 22:16:13 +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
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 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 c1b48d675a
Improve GNU Radio 3.7 / 3.8 handling 2019-04-27 17:28:49 +02:00
Carles Fernandez 0f2e350d3c
Apply code formatting 2019-03-26 23:05:18 +01:00
Damian Miralles 2b4a395dc8 bds_b3i: merging new changes, fixing D2 decoding bug 2019-03-07 09:38:49 -06:00
Carles Fernandez 287fe632be
Remove boost/shared_ptr.hpp include 2019-03-05 13:20:45 +01:00
Carles Fernandez c82c7225dd Improve includes with the aid of include-what-you-use (IWYU)
See rationale at https://github.com/include-what-you-use/include-what-you-use/blob/master/docs/WhyIWYU.md
2019-03-05 08:59:04 +01:00
Carles Fernandez 6ba77c5f28
Sort includes: include what you use 2019-03-04 08:12:50 +01:00