| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
- This change improves spur performance for the Rev C TwinRX daughterboard
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Matthew Crymble <matthew.crymble@ni.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tick_node was trying to find the current tick rate by only querying
active blocks (i.e., blocks that were flagged active-streaming).
However, this is not necessary since we require all blocks to run at the
same tick rate.
In theory, querying active-only ports should be fine, but due to some
idiosyncrasies in our current graph code, connecting a single streamer
to channel 1 (out of 0, 1) would try and get the info from the wrong
port. This is not a fix to the graph code, but the change to tick_node
is also appropriate and is sufficient to fix the "late packets on
channel 1" issue.
This issue would manifest when sending timed packats to channel 1 in
a single-channel streamer. The problem is that it wouldn't be able to
read the correct tick rate.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
- adds a new mode to the adf435x driver which provides general spur performance
improvements
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will clear the property tree, block registry, transport managers,
and motherboard list on destruction of mpmd_impl.
|
|
|
|
|
|
| |
This will make sure that the context holder for the liberio context is
destroyed when the last liberio transport is destroyed, and not on
termination of the program.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
In log.cpp, a deadlock can occur while popping elements from the log
queue. If the queue is empty, the call does not timeout, and waits
infinitely. Replacing pop_with_wait() with pop_with_timed_wait() solves
this issue.
|
|
|
|
|
| |
- 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.
|
|
|
|
| |
With the same APIs, this will make it easier to add support for X310.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
Occasionally, MPM would check its links before the kernel would report
link up, and it would then shave those ports off the CHDR link list
prematurely. This commit adds a second of wait to allow the kernel time
to respond.
It also includes some additional reporting of link status, since Intel
PMDs may report a misleading initial state upon bring-up.
|
| |
|
|
|
|
|
|
| |
This reverts commit c8e01d4bd5bef30ef6e6080c60bc8b4706eb1200.
The commit introduced random phase offsets for TwinRX phase alignment.
|
|
|
|
|
|
| |
Revert "cores: Update rx_frontend_gen3.v controls for 1/4-rate mixer"
Commit introduced 180 degree ambiguity in TwinRX phase alignment.
|
|
|
|
|
|
|
| |
The N value was getting written twice and the second value being
written was 1, which works for all use cases except when using
TwinRX. This change fixes several issues with TwinRX including
streaming failing to stop cleanly and incorrect decimation.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removing the flush in configure_flow_control_out(). The flush is done
incorrectly because it just disables flow control and allows packets
to dump onto the crossbar, which could lock it up. It is also
incorrect to flush when connecting blocks. A connect should just
configure the SID and flow control and let any existing data flow to
the newly connected block. Flushing of a block should only be done
during creation or destruction of the block.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
|
| |
This reverts commit 655b9b0f8e8f8556d434404da51aaccd124bbc3a.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
| |
- 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.
|
|
|
|
|
| |
This makes more type-conversions explicit, to reduce the number of
warnings specifically for MSVC.
|
| |
|
|
|
|
|
|
| |
When using a buffer size smaller than recommended, a warning would be
printed with the wrong value (it would print the default value, not the
actual value).
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
The configure_flow_control_out function was set to dump any packets
onto the crossbar, which could cause issues on the crossbar and in
downstream blocks. Replacing wil a call to the _flush() function in
the block_ctrl_base parent class, which drops the packets so they do
not get put onto the crossbar.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
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>
|