Commit Graph

106 Commits

Author SHA1 Message Date
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 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 1a4e9dc274
Add missing include (fix building in fedora-rawhide) 2022-08-23 15:13:15 +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 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 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 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 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 02318c0382
Give to global parameters more meaningful name 2019-08-31 11:37:29 +02:00
Carles Fernandez 9d0c00132d
Always have a space between // and comment 2019-08-19 01:29:04 +02:00
Carles Fernandez 487010346f
Apply readability-isolate-declaration clang-tidy check 2019-08-13 00:19:31 +02:00
Carles Fernandez d83083a655
Fix exception catch 2019-07-30 20:03:02 +02:00
Carles Fernandez 8ce0358de6
Clang-tidy fixes 2019-07-30 19:00:23 +02:00
Carles Fernandez cc54b4a122 Enforce rule 15.1 of the High Integrity C++ Coding Standard
See https://www.perforce.com/resources/qac/high-integrity-c-coding-standard-exception-handling
2019-07-30 12:51:36 +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
Carles Fernandez 5ba04708a9
Remove unused variable 2019-07-21 20:36:41 +02:00
Javier Arribas aeabfb7c3c Replacing the old gnuradio message queue with the new ConcurrentQueue 2019-07-17 15:56:30 +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 d5e5e5725d
Apply fixes by clang-tidy 2019-06-30 00:01:54 +02:00
Carles Fernandez ca6b4b545b
Replace Boost::filesystem by std::filesystem if C++17 support is available 2019-06-10 21:41:13 +02:00
Carles Fernandez 5b8ab9f591 Improve includes (IWYU) 2019-03-06 13:49:14 +01:00
Carles Fernandez e7ea5c1fdd
Remove superfluous 'using google::LogMessage' 2019-03-03 13:39:35 +01:00
Carles Fernandez 4fe976ba01
Replace boost::thread by std::thread 2019-02-25 00:02:53 +01:00
Carles Fernandez 62a7e54359
Introduce readability-identifier-naming check
This commit enforces naming style for Classes and global constants:
Camel_Snake_Case for Classes
UPPER_CASE for global constants
CamelCase for abstract classes
2019-02-22 10:47:24 +01:00