This example had some sections commented out using `#ifdef __linux__`,
but not consistently. This enables or disables all relevant code, which
reduces warnings on non-Linux systems.
This method is marked deprecated in the Boost source (not, however, in
the Boost documentation) with no clear substitute. In this particular
case (we are using (`dd` to measure disk speed when running Linux in
`rx_samples_to_file`) we simply replace `wait_for` with an unconditional
`sleep_for`.
Fix for the issue where the example rx_samples_to_file fails in the case
when samples from multiple channels are to be taken and a full path is
given for the data files to be stored.
The example source code used to put a channel number in front of the
filename which caused the code to not be able to find the path.
Now the channel number is added at the end of the filename and before the
extension if it exists in the file argument given by the user.
This changes the behaviour of the examples in a way that leaving
out the --ref argument will not force it to be 'internal'. Previously,
the following command:
rx_samples_to_file --args type=xxx,clock_source=external
would still use the internal reference, because the default value for
--ref was internal, and no other value for --ref was provided. Even
worse, the following command:
rx_samples_to_file --args \
type=xxx,clock_source=external,time_source=external
might throw errors/warnings, because internal clock source plus external
time source is generally not supported, and the example would force the
clock source to be internal unless `--ref internal` was also provided.
For all cases that `clock_source` or `time_source` were not given as
a device argument, this is a no-op because `internal` is the default
value anyway.
In two examples, this includes minor code changes:
- In rfnoc_radio_loopback, if both --ref and --pps were given, we now
use set_sync_source() to speed up setting the reference sources. On
the N310/N300 series in particular, this saves a few seconds at
initialization over the previous implementation (which set clock and
time reference separately).
- In test_dboard_coercion, the code would fail without a default value
for --ref, so we no longer require such a default value.
Run 'dd' utility for 1 second to quickly benchmark the
write speed of the file location. A warning is then displayed
to the user if the rate/channel count/data type selection is
likely to cause overflows.
This modifies the command line parameters of rx_samples_to_file to
allow setting multiple RF channels to recieve from.
Data recieved from each channel is saved in a different file using
ch0_<filename> prefixes.
This removes the following symbols:
- otw_type_t
- clock_config_t
- Any functions that use those symbols
- Non-standard args from examples (e.g., --total-time is deprecated in
favour of --duration)
Remove UHD call to elevate thread priority to realtime. Setting all
threads to the same realtime priority can cause the threads to not share
access to the network interface fairly, which adversely affects
operation of the worker threads in UHD.
Turning off clang formatting around the program option declarations.
clang-format makes them looks bad an unreadable because it thinks the
options are function calls or something.
* CMake now not applying C++ flags to C files
* GCC 4.4: anti-aliasing rules
* MSVC: narrowing, differences in subclass function parameters
* Clang: uninitialized variables
* Added support for new CBX-120, SBX-120, and WBX-120 daughterboards
* Added implementation of Integer-N tuning for all CBX, SBX, and WBX daughterboards
* Added --int-n option to examples to show how to use Integer-N tuning API
* Removed duplicate ADF4350/ADF4351 code and moved it to common/adf435x_common.cpp
* The transmit streamer gives access to the async msg queue.
* The receive streamer gives access to the issue stream cmd.
* Supporting usrp implementation files updated.
* Example applications updated to use this API.