| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Using UHD_HEX() requires <iomanip>, which is now part of log.hpp.
|
|
|
|
|
| |
Widening and narrowing of bitwidths causes errors on this platform
without explicit casts.
|
|
|
|
|
|
| |
All unit tests which require extra sources (i.e., can't just interact
with the UHD API) have been manually added to the CMakeLists.txt in
a clumsy fashion. This macro cleans that up a little.
|
|
|
|
| |
This will run tx_waveforms with a few settings.
|
|
|
|
|
|
| |
The colour codes used for console logging were incorrectly defined.
Some colours would simply not rendered this way (e.g., red), others
had the boldness flag wrong.
|
|
|
|
|
| |
Adding pop function to property tree, which will remove and return a
property from the property tree. This also includes unit tests.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Ran clang-format
- Fixed typos
- Updated copyright headers
clang-format -i --style=file \
host/include/uhd/property_tree.hpp \
host/include/uhd/property_tree.ipp
clang-format -i --style=file \
host/lib/property_tree.cpp host/tests/property_test.cpp
|
|
|
|
|
| |
When running 'make test_***', it now also defaults to
RUNTIME_PYTHON_EXECUTABLE.
|
|
|
|
|
| |
dpdk_zero_copy.hpp was referenced in multiple places using relative
paths. Let's throw it in uhdlib for easy access.
|
|
|
|
|
|
|
| |
This is a utility for RAII-style operations. An object that will run
code when a scope is left.
Also includes unit tests.
|
|
|
|
|
| |
They are currently unused, and may need reimplementation. For the time
being, they can go out of the codebase.
|
|
|
|
| |
Updating all SPDX license identifiers to include "-or-later"
|
|
|
|
|
| |
This fixes a warning about multiple operators. Doesn't change any
functionality.
|
| |
|
|
|
|
|
|
|
|
|
| |
This will now avoid replicating code that is already in the config
files.
Also included is a minor fix to prevent threads from hanging when
blocking mode is used. A flow control-only packet is now sent when RX
times out.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add configuration sections to the UHD config file for NIC entries. Keys
are based on MAC addresses, and the entries beneath the section describe
which CPU and I/O thread to use for the NIC and its IPv4 address.
Make ring sizes configurable for uhd-dpdk. Ring size is now an argument
for packet buffers. Note that the maximum number of available buffers
is still determined at init!
Add ability to receive broadcasts to uhd-dpdk. This is controllable by
a boolean in the sockarg during socket creation. dpdk_zero_copy will
filter broadcast packets out.
Add dpdk_simple transport (to mirror udp_simple). This transport allows
receiving from broadcast addresses, but it only permits one outstanding
buffer at a time.
Fix IP checksum handling in UHD-DPDK.
TX checksums were not being calculated in the NIC, and in RX, the check
for IP checksums allowed values of zero (reported as none). Now packets
with bad IP checksums will be dropped.
|
|
|
|
|
|
|
|
|
| |
subprocess call in python3+ return stderr and stdout object is byte
object instead of text. This caused many issue with parsing the ouput in
devtest. These are not an issue in python2. This change will make
devtest more python3 compatible.
Signed-off-by: Trung.Tran<trung.tran@ettus.com>
|
|
|
|
|
|
|
| |
python3+ dropped has_key function on dictionary. In order to make it
compatible, we need to use 'in' keyword.
Signed-off-by: Trung.Tran<trung.tran@ettus.com>
|
|
|
|
|
|
| |
Boost changed the lcm() and gcd() functions in Boost 1.67. This creates
portable UHD versions to be used instead. They use various Boost
versions under the hood conditionally.
|
|
|
|
|
| |
Now that we're C++11, we can assume the existence of said symbol and
need no more portability hacks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Applying formatting changes to all .cpp and .hpp files in the following
directories:
```
find host/examples/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/tests/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find host/utils/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
find mpm/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
```
Also formatted host/include/, except Cpp03 was used as a the language
standard instead of Cpp11.
```
sed -i 's/ Cpp11/ Cpp03/g' .clang-format
find host/include/ -iname *.hpp -o -iname *.cpp | \
xargs clang-format -i -style=file
```
Formatting style was designated by the .clang-format file.
|
|
|
|
|
| |
Remove trailing vim hints in header files. This functionality will be
replaced by clang-format.
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit adds a loopback benchmark for a PC with 2 DPDK-compatible
NIC ports that are connected together via a cable. It sends messages
with embedded sequence numbers (outgoing and last-seen) for maintaining
a flow control window of packets in flight. It tracks the number of
bytes sent/received and reports the time the test took and average
throughput.
|
|
|
|
|
| |
Add a benchmark of packet handlers and device3 flow control. Benchmarks
use mock transport objects.
|
|
|
|
| |
Some versions of MSVC report issues without it.
|
| |
|
|
|
|
| |
When adding E320 devtests, the `endif` clause had the wrong argument,
which resulted in a CMake warning.
|
| |
|
|
|
|
|
| |
If N300 or E320 is disabled, the appropriate devtests are no longer
registered.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also updates our coding style file.
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code (with GNU compliant sed):
cmake --help-command-list | grep -v "cmake version" | while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done > convert.sed \
&& git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \
'*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed
(Make sure the backslashes don't get mangled!)
|
| |
|
| |
|
|
|
|
|
|
| |
The E320 default master clock rate is 16MHz, therefore we need to
reduce the 2 channel receive rate to 8MHz in order to be able to meet
the requested rate.
|
| |
|
|
|
|
|
| |
The test has been fixed in commit 9c7d251b32eb476e11f8fce13a797c4de9abc796
to parse for D and S correctly
|
|
|
|
| |
The gpio devtest passes after this fix. Enabling the test
|
| |
|
| |
|
|
|
|
| |
Our regex was borked.
|
|
|
|
|
|
|
| |
Detecting drops by parsing for DD and SS was a flawed method. Tools
should find those programmatically. Plus, the string 'DDC' would
interfere with the regex. Also, we're now using
UHD_LOG_FASTPATH_DISABLE.
|
| |
|
|
|
|
|
| |
- Move filter_* functions out of uhd_test_case
- Reduced some line lengths
|
| |
|
|
|
|
|
| |
The testsuite now includes more environment variables for source dir,
build dir, and PYTHONPATH.
|
|
|
|
| |
- All tests pass except for gpio_test
|
|
|
|
|
| |
This is an API tester that uses the Python API to verify the correct
behaviour of multi_usrp with respect to a hardware implementation.
|
|
|
|
|
| |
- Fix some Pylint warnings
- Improve output
|
| |
|