Commit Graph

162 Commits

Author SHA1 Message Date
Carles Fernandez 95596b8f91
Soft transition from Gflags and Glog to Abseil. Some CI fixes 2024-04-29 08:27:33 +02:00
Carles Fernandez fd5174e7ec
Remove duplicate libraries warning emitted by Xcode 15 2024-04-13 09:03:46 +02:00
Carles Fernandez 6fc04b34f2
Fix duplicate warning from Xcode 2024-04-12 18:15:33 +02:00
Carles Fernandez 4916c6c8e8
Fix member initializations, potential data race conditions, and minor performance issues detected by Coverity Scan
Never throw from main
2023-12-21 13:57:41 +01:00
Carles Fernandez 4b60f8a7f2
Fix performance inefficiencies detected by Coverity Scan 2023-12-01 10:19:39 +01:00
Carles Fernandez 3c24b564c9
Better variable names 2023-11-28 11:05:18 +01:00
Carles Fernandez 2b708c2e4a
Fix wrong API usage 2023-11-28 09:50:11 +01:00
Carles Fernandez a8e7392f4a
Make clang-format happy 2022-11-24 09:12:33 +01:00
Carles Fernandez 1a4e9dc274
Add missing include (fix building in fedora-rawhide) 2022-08-23 15:13:15 +02:00
Carles Fernandez 6ec452a7c0
Allow the CMake project to be a sub-project 2022-07-28 10:37:36 +02:00
Carles Fernandez 8ab82f9817 Fix building with newest GNU Radio 2022-03-23 13:15:14 +01:00
Carles Fernandez f01508923d
CI: make clang-tidy happy. Was: modernize-use-default-member-init 2021-12-17 22:04:34 +01:00
Carles Fernandez 12ed230cd7
Prefer initialization to assignment in constructors 2021-12-17 17:40:17 +01:00
Carles Fernandez a7a140862b
Fix building against latest GNU Radio
Replace boost::any by std::any
2021-10-30 05:43:22 +02: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
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 1287e8fe79
Improve handling of the filesystem library 2021-01-16 14:37:19 +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 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 d4ed61df4b
Improve handling of gflags library
Set minimun gflags version to 2.1.2

Replaced google:: by gflags:: namespace
2020-08-13 20:54:22 +02:00
Carles Fernandez 47f6855610
Give more intuitive naming to asynchronous message handlers 2020-08-03 08:13:21 +02:00
Carles Fernandez 499de7a9f1
Update file headers 2020-07-28 16:57:15 +02:00
Carles Fernandez 64ba95025d
Add missing symbol 2020-07-13 10:54:47 +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 d3b7557dcf
Sort constants
no more GPS_L1_PI, GPS_L2_PI, etc. Values are written in a single point.
2020-07-05 20:20:02 +02:00
Carles Fernandez a9472e8804
CMake formatting 2020-06-23 11:06:26 +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 0df4277d36
Unify criteria in target definitions, more informative names 2020-06-13 00:32:40 +02:00
Carles Fernandez d14e69ef5a
Do not pollute the source directory if the software is built from an out-of-source-tree directory
External sources and data are now always stored in a ./thirdparty folder under the building directory.

A copy of the generated binaries will be stored under gnss-sdr/install, if the building directory is inside the source tree, or in an ./install folder under the building directory if it is outside the source tree.
Fix a bug that broke compilation if the user configured the building without extra testing in a first instance, and then switched the testing buiding options to ON in a later build.

Fix extra test building if GPSTk was already installed and Boost >= 1.71
2020-06-12 20:51:26 +02:00
Carles Fernandez 836e074f98
Add building option ENABLE_STRIP to enable the generation of stripped binaries (without debgging information). Set to OFF by default 2020-06-10 17:22:03 +02:00
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 4913756a05
Replace <boost/bind.hpp> by <boost/bind/bind.hpp> 2020-06-06 23:41:38 +02:00
Carles Fernandez f731a7c0f1
Fix for Boost >= 1.73 in old compilers 2020-05-18 22:50:34 +02:00
Carles Fernandez 1077970962
Revert "Fix for Boost < 1.60"
This reverts commit 832c2558c6.
2020-05-18 21:36:22 +02:00
Carles Fernandez 832c2558c6
Fix for Boost < 1.60 2020-05-18 19:55:44 +02:00
Carles Fernandez b408a2ef29
Fix for Boost 1.73: qualify placeholders with their full namespace 2020-05-18 18:58:39 +02:00
Carles Fernandez 552b438245
Fixes for old GCC 2020-04-26 12:38:01 +02:00
Carles Fernandez 9c9a7b5bc6
Use lambda instead of boost::build when genenic lambdas are available in the compiler 2020-04-25 22:17:15 +02:00
Carles Fernandez fdb0f35116
Use lambda instead of boost::build when genenic lambdas are available in the compiler 2020-04-25 21:41:04 +02:00
Carles Fernandez 27f6b0c290
Fixes for GNU Radio 3.9 2020-04-03 00:41:51 +02:00
Carles Fernandez 3519107131
Add compatibility with the new GNU Radio 3.9 API that uses C++11 standard smart pointers instead of Boost smart pointers 2020-04-02 23:59:35 +02:00
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 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 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