GNU Radio block for interfacing with various radio hardware
Go to file
Anton Blanchard 49f9b2df2a I'm using an Airspy HF+ Discovery with the Soapy driver. Whenever I turn AGC off it stops receiving samples.
On closer inspection, switching AGC off results in samples stalling for
an extended period (hundreds of milliseconds). As such, we hit the
timeout in SoapyAirspyHF::readStream() and return SOAPY_SDR_TIMEOUT
(-1).

Things go wrong at this point. It takes a long time before readStream()
is called again, presumably because we returned 0 from work(). By this
time our buffers have overflown, readStream() returns SOAPY_SDR_OVERFLOW
(-2) and work() returns 0. We loop forever, continually overflowing
buffers.

Fix this by looping in soapy_source_c::work() when ->readStream returns
SOAPY_SDR_OVERFLOW so that we consume the buffers straight away.

Signed-off-by: Anton Blanchard <anton at ozlabs.org>

Signed-off-by: Eric Wild <ewild@sysmocom.de>
2020-08-02 23:50:59 +02:00
apps apps/osmocom_fft: Handle continuous range for sample rate gracefully 2020-02-16 09:52:00 +01:00
cmake cmake: Remove the FindGnuradioUHD cmake file 2020-02-16 09:52:00 +01:00
docs docs: Update docs template to the latest from GNURadio 2020-02-16 09:51:37 +01:00
grc grc: Convert XML GRC blocks to YML 2020-02-16 09:51:37 +01:00
include/osmosdr build: Update CMakeLists.txt copyright header 2020-02-16 09:51:37 +01:00
lib I'm using an Airspy HF+ Discovery with the Soapy driver. Whenever I turn AGC off it stops receiving samples. 2020-08-02 23:50:59 +02:00
python build: Update build system to GR 3.8 standards 2020-02-16 09:52:00 +01:00
swig build: Update build system to GR 3.8 standards 2020-02-16 09:52:00 +01:00
AUTHORS Add support for FreeSRP 2017-04-18 23:48:08 +02:00
CMakeLists.txt cmake: Go back CMake min ver. 3.8 by removing need for CMP0079 2020-08-02 22:17:05 +02:00
COPYING update license file to GPL v3 as in source 2012-04-21 14:07:25 +02:00
MANIFEST.md updated MANIFEST.md 2015-05-14 00:22:39 +02:00
README Add support for FreeSRP 2017-04-18 23:48:08 +02:00

README

While primarily being developed for the OsmoSDR hardware, this block
as well supports:

 * FUNcube Dongle through libgnuradio-fcd
 * FUNcube Dongle Pro+ through gr-fcdproplus
 * sysmocom OsmoSDR Devices through libosmosdr
 * RTL2832U based DVB-T dongles through librtlsdr
 * RTL-TCP spectrum server (see librtlsdr project)
 * MSi2500 based DVB-T dongles through libmirisdr
 * SDRplay RSP through SDRplay API library
 * gnuradio .cfile input through libgnuradio-blocks
 * RFSPACE SDR-IQ, SDR-IP, NetSDR (incl. X2 option)
 * AirSpy Wideband Receiver through libairspy
 * CCCamp 2015 rad1o Badge through libhackrf
 * Great Scott Gadgets HackRF through libhackrf
 * Nuand LLC bladeRF through libbladeRF library
 * Ettus USRP Devices through Ettus UHD library
 * Fairwaves UmTRX through Fairwaves' fork of UHD
 * Red Pitaya SDR transceiver (http://bazaar.redpitaya.com)
 * FreeSRP through libfreesrp

By using the OsmoSDR block you can take advantage of a common software api in
your application(s) independent of the underlying radio hardware.

For installation and usage guidelines please read the documentation available
at http://sdr.osmocom.org/trac/wiki/GrOsmoSDR

For the impatient :) a short excerpt:

The Gnu Radio block requires a recent gnuradio (>= v3.7) to be installed.

Before building the block you have to make sure that all the dependencies
(see list of supported devices above) you are intend to work with are
properly installed. The build system of gr-osmosdr will recognize them and
enable specific source/sink components thereafter.

Please note: prior pulling a new version from git and compiling it,
please do a "make uninstall" first to properly remove the previous version.

Building with cmake:

git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig

NOTE: The osmocom blocks will appear under 'Sources' and 'Sinks' categories
in GRC menu.