| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
This will clear the property tree, block registry, transport managers,
and motherboard list on destruction of mpmd_impl.
|
|
|
|
|
|
|
|
|
| |
The reclaim task loop is asnychronous to the main thread which can
result in spurious reclaim call to the device after unclaim has been
called. This is especially risky if the device has already entered a
non-serviceable state after unclaim e.g. idle state.
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
|
|
|
|
|
|
| |
We need to properly contraint the send/recv_frame_size based on the
minimum MTU of all the down/upstream blocks. This fixes the issue with
E310 tx/rx streaming as it has smaller MTU sizes than the other usrps.
|
|
|
|
|
|
| |
This fixes a potential mismatch between the returned frequency and
clock rate and the actual value. The new function get_clock_rate is
need for async call to set_clock_rate in E3xx devices
|
|
|
|
|
| |
- Update MB EEPROM
- Add bootloader load command to fx3 util
|
|
|
|
|
| |
dpdk_zero_copy.hpp was referenced in multiple places using relative
paths. Let's throw it in uhdlib for easy access.
|
|
|
|
|
| |
Use dpdk_simple together with a control transport factory.
Where udp_zero_copy is used, use dpdk_zero_copy if use_dpdk=1.
|
|
|
|
|
|
| |
The NI-2974 has a X310 inside but reports a different "product" when
polled. This prevents the image_loader from flashing a new FPGA image,
this patch enables this.
|
| |
|
|
|
|
|
|
| |
Revert "cores: Update rx_frontend_gen3.v controls for 1/4-rate mixer"
Commit introduced 180 degree ambiguity in TwinRX phase alignment.
|
|
|
|
|
| |
- modify PLL charge pump values to improve phase coherence
- affects reference clocks of 11.52 MHz, 23.04 MHz, and 30.72 MHz
|
| |
|
|
|
|
|
|
| |
- ADC self test had magic numbers for default duration
- resource and addr can be no longer be both specified without a warning
- second_addr requires addr now, or you get a warning
|
|
|
|
|
| |
Before, it was only returning the master clock rate. Note: This function
is never used in UHD, this is merely for completion's sake.
|
|
|
|
|
|
|
|
| |
The addition of the constrained device args didn't account for those
rates, and thus, they were effectively unusuable ever since. This adds
those rates back as valid system ref rates.
This does not touch the actual clocking code in any way,
x300_clock_control has supported those rates for a while now.
|
|
|
|
|
|
| |
The function for setting up the RX frontend was erroneously looking at
previous TX settings to determine whether to submit a command. This
fixes the issue.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
MPM has a flag that identifies component reloads as requiring to restart
the RPC server. This change honours that flag, and doesn't cause a fatal
failure when reclaims fail to ack for certain operations.
For example, running uhd_image_loader on an N310 could fail after the
FPGA was reloaded because the communication to the RPC server was
temporarily interrupted. This is not always avoidable, since the RPC
server does actually go down, and Ethernet connections might also be
lost. So, we cut our losses and accept failures in that case.
|
|
|
|
|
|
|
|
|
|
| |
- UHD's calibration utilities use the LO frequency, so this is the
frequency we should be using too.
- Disables loaded corrections in lowband, as the utilities will not
generate valid corrections at these frequencies. Manual corrections
can still be added via the property tree.
- Changed corrections logging to include frequency and less certainty
of the correction file's existence.
|
|
|
|
|
| |
- Fixes a bug where a previous setting could carry over between
sessions.
|
|
|
|
|
|
|
| |
FC ACK packets are unnecessary on lossless links and degrade overall
performance. This change disables those packets on all lossless links.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
|
| |
The RFNoC call set_rx_gain() would previously ignore the additional 6 dB
that can be set on the ADC. On the BasicRX board in particular, this
meant there was no RX gain setting at all.
|
|
|
|
|
|
|
| |
Eliminates errors during application shutdown by explicitly destroying
RFNoC blocks before loading the idle image.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
| |
Fixes streaming on E310 after BBFC changes.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
| |
Limit number of unacknowledged control packets to the number of
receive frames in the transport to prevent the transport from
getting locked up or being overrun by ACK packets.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Removed incorrect function call to set tick rate in
x300_radio_ctrl_impl.
- Modified legacy compat layer to properly set tick and sample rates.
These changes eliminate the tick and sample rate warnings during X300
initialization if TwinRX is used and allow for TwinRX to be used
alongside other types of daughterboards in the same X300.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
| |
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
| |
Avoid sending flow control ACK packets for lossless transports.
Add 'send_no_fc_acks' device argument to explicitly prevent
flow control ACK packets from being sent.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
| |
update_component will reinit the device therefore we should use
MPMD_DEFAULT_INIT_TIMEOUT.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Using a send_frame_size of 8192 locks up some devices while
transmitting. The root cause of this is unknown, but the new value
(4096) prevents this issue in most cases.
Some device are still affected by the lock-up even after this change.
|
|
|
|
|
| |
Technically, nullptr should be the correct replacement, but some
compilers have issues with that. This is a continuation of e1c754f20.
|
|
|
|
|
|
|
|
|
|
| |
Changed muxed_zero_copy_if to make each stream buffer the same number
of frames as the underlying transport and changed the size of the
underlying control transport for X300 and MPMD devices to match the
size of the command FIFO in order to prevent starvation of any single
control transport. Added some constants to remove hard coded values.
Signed-off-by: michael-west <michael.west@ettus.com>
|
| |
|
|
|
|
| |
Fix transport related arguments passed down the stack.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Formatting files that will be touched in upcoming changes to uhd::math
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Various data structures are nicely formatted to be human-readable.
clang-format makes these structures harder to read, so we can skip
formatting these sections.
|
|
|
|
|
|
|
|
|
|
|
| |
During certain RPC calls (e.g. update_component), the MPM RPC server is
slow to respond to reclaim requests, which can causes RPC timeouts.
These changes fix those timeouts.
By setting the reclaiming timeout to twice the timeout of an RPC call,
we have some margin for error on the host side, while not affecting the
underlying claiming logic in MPM. The loop should still operate on a 5
second period, but now has more leeway during stressful conditions.
|
|
|
|
|
| |
Using new rpc client new API that ensure atomic setting of timeout on
each rpc call.
|
| |
|
|
|
|
|
| |
Add a benchmark of packet handlers and device3 flow control. Benchmarks
use mock transport objects.
|
|
|
|
|
| |
Moving device3 flow control functions to a header file so they can be
included in benchmark utility.
|