| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This makes the noc traffic counter register actually reflect the
registers in the FPGA. The FPGA register names were changed prior to
merging to master, and the ready count registers were removed.
|
|
|
|
|
| |
Add options to run benchmark_streamer with multiple streamers running
concurrently on separate threads.
|
|
|
|
|
|
|
|
|
|
| |
Fix USRP2 MIMO synchronization in benchmark_rate.
When synchronizing N2XXs connected with a MIMO cable, only the master's
time needs to be set; the slave will be synchronized automatically.
Currently, calling set_time_unknown_pps will attempt to synchronize the
slave on the next PPS, which can cause problems since the MIMO cable
doesn't propogate a PPS signal.
|
| |
|
|
|
|
| |
This example will allow an RF->RF loopback using RFNoC devices.
|
|
|
|
|
|
|
|
| |
Duration of multichannel benchmark was 50 seconds longer than
intended- a 50ms initialization delay was mistakenly multiplied by
1000.
Fixes e735a63ff9e ("python: Adding Python API benchmark rate")
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The C/C++ standards don't define what time_t is, only that it is
arithmetic (and real for C11, and integral for C++). It should not be
used in portable software and is only used as the return value for some
libc calls.
A common definition for time_t is int64_t, so we'll switch to that
permanently in our own APIs. System APIs will of course stick with
time_t.
|
|
|
|
|
| |
- Unnecessary use of Boost
- Use of thread_priority.hpp
|
| |
|
|
|
|
| |
Python API version of the benchmark rate utility.
|
| |
|
|
|
|
|
|
|
|
|
| |
- Separating exposed Python data structures into logical sections
- Exposes all of the multi_usrp API
- Adds a layer of Python for documentation and adding helper methods
- Adds improvements and fixes to the MultiUSRP object
- Includes additional exposed data structures (like time_spec_t, etc.)
- Add code to release the Python GIL during long C++ calls
|
|
|
|
|
|
|
|
|
|
| |
Initial commit of the Python API using Boost.Python. Bind the
MultiUSRP API for use in Python. Bindings intended to provide as
complete coverage as possible.
- Wrap most multi_usrp calls
- Adding multi channel send/recv examples in examples/python
- Adding setuptools support
- Initial attempt at binding the UHD types and filters
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are cases when the first sample after an overrun has an earlier
timestamp than the timestamp of the error package. In this case,
benchmark_rate would incorrectly determine the number of dropped
samples, causing it to display a very large number.
This is not a fix of the negative offset issue, but will avoid
displaying overly pessimistic numbers dropped samples.
An error message is still displayed when this happens, which aids in
debugging this situation.
|
|
|
|
|
|
| |
The main thread sleeps while the receiver and transmitter threads are
going on. This fixes the calculated time it takes in single-channel
scenarios.
|
|
|
|
|
|
|
|
|
|
|
| |
When too many overruns, underruns, or dropped packets are detected,
benchmark_rate will now return EXIT_FAILURE. This allows to use it for
automated tests.
The thresholds are set very high by default, but can be manually tuned
by using new command line arguments:
$ benchmark_rate --overrun-threshold 0 # Fail on any number of Os
|
|
|
|
| |
Replace with std::this_thread::sleep_for().
|
|
|
|
|
| |
Removes boost::bind and all Boost time types from this example.
Re-enables compatibility with Boost 1.67.
|
| |
|
| |
|
|
|
|
|
| |
The previous 0.1s fill time occasionally prevented rx from starting on time when
settling is set to the same 0.1s time. It was increased to 0.5s.
|
| |
|
|
|
|
|
|
| |
Minor changes:
- Remove some Boost usage
- Minor formatting changes
|
|
|
|
|
|
|
|
| |
- Messages are all timestamped, enables better understanding of the
output log
- Less usage of Boost
- More stats (differentiate between RX and TX timeouts and sequence
errors)
|
|
|
|
|
|
|
| |
uhd::get_system_time() is an abstracted way of reading back a time, and
is not UHD-specific. As such, there's no reason to keep it in the public
part of the API where we're contractually obligated not to touch it.
Instead, moving it to the internal API space.
|
|
|
|
| |
All warnings reported by MSVC. Mostly related to narrowing conversions.
|
|
|
|
|
|
|
| |
All copyright is now attributed to "Ettus Research, a National
Instruments company".
SPDX headers were also updated to latest version 3.0.
|
|
|
|
|
|
|
|
| |
The former compiles to evaluating `a`, then throwing away the result,
evaluating `b`, then using that to fill in the first placeholder in
`format`. And that is wrong.
Pointed to this by Clang++'s "unused result" warning.
|
| |
|
|
|
|
| |
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
| |
|
|
|
|
| |
Thanks to FX Coudert for suggesting this fix.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
One does not simply free() stack / automatic variables.
Please `man 3 strdup()`.
Signed-off-by: Sugandha Gupta <sugandha.gupta@ettus.com>
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
| | |
|
| | |
|
|\| |
|
| | |
|
| |
| |
| |
| | |
- Also, fixed an issue with the --repeat option in tx_samples_from_file
|
| | |
|
|\| |
|
| | |
|
| | |
|
|\| |
|
| | |
|