| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
- Remove some spurious \n
- Remove some usage of boost::format
|
|
|
|
|
|
|
|
|
|
| |
The latest changes to the get_*x_stream() functions to calculate the MTU for
the channel caused default frame size values to be ignored. This change fixes
that by changing the key from "send/recv_frame_size" to "mtu" and then changing
the implementations of make_transport() constrain the frame size values based
on the "mtu" value as well as any device and/or transport-specific limits.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
The SBX tracks the LO lock state via on-board LEDs. However, querying
the LO lock status spawns an update to the entire ATR registers. To
reduce the number of register reads/writes, the LO lock status LED is
now only updated if it changed.
|
|
|
|
|
|
| |
Blocks that change scaling, tick rate, or sampling rate can now notify
the graph to update streamers. Before, this was handled only by
mult_usrp, and only for DDC and DUC blocks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Applying clang-format to files used in upcoming changes.
clang-format -i --style=file host/include/uhd/rfnoc/node_ctrl_base.hpp
clang-format -i --style=file host/lib/rfnoc/ddc_block_ctrl_impl.cpp \
host/lib/rfnoc/duc_block_ctrl_impl.cpp \
host/lib/rfnoc/legacy_compat.cpp \
host/lib/usrp/device3/device3_impl.cpp \
host/lib/usrp/device3/device3_impl.hpp \
host/lib/usrp/device3/device3_io_impl.cpp \
host/lib/usrp/x300/x300_impl.cpp
|
| |
|
|
|
|
|
|
|
| |
- This mode defaults to "disabled" (no change from current behavior)
- Enabling this mode fixes some instances where the MAX287x would fail to lock
when in integer-n mode
- Enabling this mode increases the maximum lock time to up to 100ms
|
|
|
|
| |
- This change improves spur performance for the Rev C TwinRX daughterboard
|
|
|
|
| |
Signed-off-by: Matthew Crymble <matthew.crymble@ni.com>
|
|
|
|
|
|
| |
There are edge cases where the lack of initialization of _current_freq
could crash libuhd. To resolve this, we initialize all elements of those
cores to sensible values using NSDMI.
|
| |
|
|
|
|
|
| |
This fixes fpga image loading for devices which not have SFP port
and hence no fpga_type e.g. E310.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Turns the E310 into an MPM device (like N3xx, E320)
- Factor out common code between E320 and E310, maximize sharing between
the two devices
- Remove all pre-MPM E310 code that is no longer needed
- Modify MPM to remove all existing overlays before applying new ones
(this is necessary to enable idle image mode for E310)
Co-authored-by: Virendra Kakade <virendra.kakade@ni.com>
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
|
|
|
|
|
|
| |
If the number of channels for embedded mode streaming is 4
(1 for ctrl, 1 for async messages and 2 for data ), we need to
mux the data transport. This is needed for E310
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
LMX2592 frequency borders were missing the correct exponent ('e6') in
some cases.
|
|
|
|
| |
Updating all SPDX license identifiers to include "-or-later"
|
|
|
|
|
| |
- 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.
|
|
|
|
|
|
| |
This does not change the Python API itself, but it is still
a significant change. Most importantly, it removes the dependency on
Boost.Python.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Remove dead store for ptr. 'ptr += 4' is useless, since
nothing uses 'ptr' afterwards.
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|
|
|
|
|
|
| |
This fixes the build errors that occur due to switching locations of
noncopyable.hpp within Boost, and also allows us to remove
boost::noncopyable in one fell swoop.
|
| |
|
|
|
|
|
| |
This removes the usage of boost::noncopyable in some places and serves
as a reference for how to do that.
|
|
|
|
|
|
|
| |
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>
|