CMake 3.13 is not present in older (~2 years old)
Linux distributions and GNU Radio requires min CMake
version 3.8.
All that is needed in order to avoid bumping CMake version
is to not use 'target_link_libraries' in subdirectories.
Here this is done by creating a list of needed
libraries and adding them for linking at the end (like
it was done in gr-osmosdr before porting to GNU Radio 3.8).
One thing that is lost here is 'PRIVATE' statement in case
of FCD libraries linking.
Signed-off-by: Eric Wild <ewild@sysmocom.de>
cpu_format: sc8, sc16, fc32, fc64
otw_format: sc8, sc16
fullscale: specifies the full-scale amplitude when using floats.
peak: specifies a fractional sample level to calculate scaling with the
sc8 wire format.
example:
osmocom_fft -a uhd,otw_format=sc8,fpga=usrp1_fpga_4rx.rbf -s 16M
since dc offset / iq imbalance is not implemented for recent USRPs this
might cause undesired behavior in GRC. As a workaround we do not pass
them to the caller but print them to the stderr.
B210 USRP appears as a 2-channel device by default. We prevent weird
application behavior by restricting the number of connected channels to
the value given via nchan= argument (1 by default).
This might be used to tune away from the noisy center region caused by
direct conversion receiver principle. The offset shall be choosen within
receiver (daughterboard) bandwidth.
Thanks to Marcus Leech & G0HWW for the original idea.
This API allows to acquire a list of devices connected to the host and
creates an argument string ready to be passed to a source object for
cunstruction.
Each device_t entry contains a "label" entry, which holds the generic
device name which may be shown to the user for device selection.
For certain radio hardware extended entries ("name", "serial", "type")
may be available to make bijective device addressing possible.
The argument string for target types "rtl_tcp" and "file" might be
constructed using the osmosdr::device_t class facilities.
Example:
#include <osmosdr_device.h>
#include <osmosdr_source_c.h>
osmosdr::devices_t devs = osmosdr::device::find();
BOOST_FOREACH(osmosdr::device_t &dev, devs) // try to create each dev
osmosdr_source_c_sptr src = osmosdr_make_source_c(dev.to_string());