Add a Bladerf_Signal_Source that streams RX samples directly from
bladeRF front-ends (bladeRF x40, x115, and bladeRF 2.0 Micro xA4/xA9)
through libbladeRF, instead of going through the generic gr-osmosdr
wrapper. gr-osmosdr's bladerf backend does not expose usable per-stage
gain control on bladeRF2 hardware and has no support for the RX bias
tee used to power an active antenna on the 2.0 Micro.
The new gr::sync_block (bladerf_source) talks to libbladeRF's
synchronous streaming API directly; the adapter (BladerfSignalSource)
follows the existing SignalSourceBase pattern used by the other signal
sources, with valve and dump support wired the same way. Building it
is gated behind -DENABLE_BLADERF=ON, degrades gracefully when
libbladeRF is absent, and requires libbladeRF v2.6.0 or newer,
enforced at configure time.
Verified against a physical bladeRF 2.0 Micro: the receiver opens the
device, streams live samples, and acquires and tracks real GPS
satellites end to end using the new sample configuration file.
Only single-channel (SISO) reception is supported for now; the second
RX channel is not yet exposed.
Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
New optional signal source adapter for the Pocket SDR FE 2CH/4CH/8CH
open-source GNSS RF front-ends, instantiating the gr-pocketsdr OOT
source block. Enable with -DENABLE_POCKETSDR=ON (requires gr-pocketsdr,
found via CMAKE_PREFIX_PATH or GRPOCKETSDR_ROOT).
The device is configured with a standard PocketSDR configuration file
(pocket_conf format) passed via SignalSource.conf_file; sampling rate
and LO frequency are read back from the device and validated against
SignalSource.sampling_frequency / SignalSource.freq.
Signed-off-by: Minhaj Ahmad <mahmad12@crimson.ua.edu>
Signed-off-by: Minhaj Ahmad <minhaj.sixbyte@gmail.com>
* Bump local version of GoogleTest to 1.15.2 and Protocol Buffers to 27.3
* Avoid code duplication in CMake modules
* Update clang-tidy job
* Clang Tidy fixes
* Improve efficiency of Concurrent_Map and Concurrent_Queue classes
* Fix segmentation fault if the SignalSource implementation is not available
* Moved decimation factor count variable to the class
* Avoid possible runtime error when PVT.enable_rx_clock_correction=true
* Fix formatting
* Fix clang-tidy job
* Move receiver-related classes to src/core/libs
* Uniformize cmake module names
* Fix formatting
* Make clang-tidy happy
* Fix crypto benchmarks
* Fixes for old systems
* Instantiate sources only once
---------
Co-authored-by: cesaaargm <cesare.martinez@proton.me>
Co-authored-by: Xavier Guerrero-Pau <xguerrero@cttc.es>
* Report GMP version if found
* Bump local version of GoogleTest to 1.15.2 and Protocol Buffers to 27.3
* Avoid code duplication in CMake modules
* Update CMake modules
* Update clang-tidy job
* Fix set_public_key when using GnuTLS
* Fix for OpenSSL 1.1.1
* Fix formatting
* Fix formatting
* Fix ECDSA-P521 signature verification when using GnuTLS
* Improve finding of the GMP library in Debian-based systems
* Improve finding of the GMP library in Debian-based systems
* Keep GMP usage private