Commit Graph

63 Commits

Author SHA1 Message Date
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 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 287284261c
Make use of Doxygen grouping feature
Improve Modules page in generated HTML documentation
2020-11-01 13:37:19 +01:00
Carles Fernandez 499de7a9f1
Update file headers 2020-07-28 16:57:15 +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 7fc0cec60c
Simplify block factory
Avoid duplication of code
2020-07-12 23:08:58 +02:00
Carles Fernandez 2b3d4b321d
Make the adapters take the configuration pointer as const 2020-06-29 09:07:41 +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 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 0520d400b3 Apply clang-tidy 2019-09-11 22:31:34 +00: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
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
Carles Fernandez f9c54e57cc
Reorder public interface 2019-04-27 13:35:50 +02: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
Damian Miralles 8782fcba69 bds_b3i: merging new changes, fixing small bugs 2019-03-01 13:28:21 -06:00
Carles Fernandez f01f90695e
Apply clang-format 2019-02-22 13:30:18 +01:00
Carles Fernandez 719af13a33 Remove google-runtime-references check 2019-02-14 12:51:43 +01:00
Carles Fernandez 6d9563ef00
Improvement by clang-tidy 2019-02-10 13:24:25 +01:00
Damian Miralles 1b7d4edf51 bds_b31: Getting new changes from upstream 2019-02-05 17:25:16 -06:00
Carles Fernandez dfab84b2de
Add fixes applied by clang-tidy 2019-02-05 01:31:09 +01:00
Damian Miralles e78ba653e6 bds b3i: Adding code to process BeiDou B3I signals
Adds code to perform acq and trk in BeiDou B3I signals. Stages of
telemetry decoding, observables computation and pvt use existing
code on the platform. Some further testing is required
2019-01-25 15:43:00 -06:00
Sergi Segura cd149895f0 first evaluation beidou b1I 2018-06-15 04:19:32 +02:00
Carles Fernandez 0d60d97c24
Use https instead of http in links when available
Update copyright year in headers
2018-05-13 22:49:11 +02:00
Damian Miralles 287d38dea2 GLONASS L2 CA Signal Addition
Adds GLONASS L2 C/A signal processing to GNSS-SDR based on previous
work developed for the L1 signal. All code have been added in a single
commit with the idea to illustrate the process of signal addition for
future work
2018-03-24 12:44:26 -06:00
Carles Fernandez 34f24562cf Apply automated code formatting
Documented at .clang-format
See http://clang.llvm.org/docs/ClangFormat.html and http://clang.llvm.org/docs/ClangFormatStyleOptions.html
2018-03-03 02:03:39 +01:00
Carles Fernandez 658e677fc3 Reorder includes: local headers first, then 3rd-party library headers, and finally standard headers 2018-02-26 03:15:53 +01:00
Carles Fernandez b301ed19c6 Merge remote-tracking branch 'upstream/next' into glonass 2018-01-24 00:52:09 +01:00
Antonio Ramos 8932e9a51b Clean acquisition interface 2017-12-22 10:39:53 +01:00
Antonio Ramos 6395f0e5fc Add GPS L5 Channel 2017-11-30 18:16:49 +01:00
Gastd cb32755045 Add Glonass L1 C/A channel to the block factory 2017-08-23 13:00:54 -03:00
Carles Fernandez df47884cd7 Clean the factory
Now GetBlock does not require a queue for generating blocks that do not
use it.
2016-05-10 01:32:26 +02:00
Carles Fernandez 3bd59ec83e Remove unused queue from acquisition blocks
Now replaced by GNU Radio's message passing system
2016-05-09 16:44:54 +02:00
Carles Fernandez 0acb48c0b5 Remove unused queue from tracking blocks
Now replaced by GNU Radio block's message passing system
2016-05-09 11:51:42 +02:00
Javier Arribas 0a5573f666 several receiver configuration mechanism simplifications and several bug fixes. Work in progress 2016-04-21 18:54:08 +02:00
Javier Arribas bd60379753 Removed unused queues in telemetry decoders 2016-04-13 17:18:29 +02:00
Carles Fernandez 9542cbb733 Bug fixes 2015-05-10 12:35:49 +02:00
Carles Fernandez 693aed2db4 changing 5I by 5X (Galileo E5a I&Q) 2015-05-07 21:34:37 +02:00
Carles Fernandez 3ea6ae76fa working towards the new configuration 2015-05-07 16:30:01 +02:00
Carles Fernandez 8d6cfd0e00 reading new configuration 2015-05-07 01:51:34 +02:00
Carles Fernandez 04b6507267 Merge branch 'next' into multisignals
# Conflicts:
#	src/core/receiver/gnss_block_factory.cc
2015-05-06 18:10:11 +02:00
Carles Fernandez f31122a4c8 Starting multichannel configuration 2015-05-06 17:30:19 +02:00
Carles Fernandez 2a2740cb01 Code cleaning 2015-02-27 18:21:25 +01:00
Javier d275a3612f -Added multichannel support in the receiver core (multiple signal
sources
and signal conditioners)

-Some simplifications done in gnss_flowgraph
2015-02-12 18:56:05 +01:00
Carles Fernandez 6620e7d43c Updating copyright year 2015-01-08 19:49:59 +01:00
Javier Arribas b0d33328d5 Simultaneous multi-GNSS system acquisition, tracking and telemetry
decoding: Changes in the flowgraph and in the configuration files to mix
channels from different GNSS systems in the same receiver. Hybrid
observables and PVT under construction.

The changes in the configuration file parameter names are NOT backward
compatible. The receiver can still work as usual in single GNSS system
mode but some modification on configuration files are required. Use the
example provided of Hybrid configuration file.
2014-06-10 18:58:17 +02:00
Carles Fernandez 5b5ab106c6 Merge branch 'modern_factory' into next 2014-04-26 20:01:19 +02:00