| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: michael-west <michael.west@ettus.com>
|
| |
|
|
|
|
|
|
| |
This implements the same change that was made for E31x. The same issue
wasn't reproduced on N3xx, however this change keeps the code
consistent and eliminates the potential for the same problem.
|
|
|
|
|
|
| |
This implements the same change that was made for E31x. The same issue
wasn't reproduced on N3xx, however this change keeps the code
consistent and eliminates the potential for the same problem.
|
|
|
|
|
|
|
|
| |
Fixing an issue in which a very slow radio_clk (due to low sample clock
rate) could cause bus transactions to be issued to the timekeeper
faster than it could service them, resulting in a timeout. This change
replaces RegPort with CtrlPort so that proper flow control can be
maintained to the timekeeper.
|
|
|
|
| |
Add some missing CtrlPort signal widths to ctrlport.vh.
|
| |
|
|
|
|
|
| |
- Updated CHANGELOG
- Updated manifest
|
|
|
|
|
|
|
|
| |
- Fix some typos
- Fix incorrect arg name for RFSGPowerGenerator.enable()
- Fix case where incorrect args would cause an uncaught TypeError. Now,
if USRP is chose as signal generator, but fails to find one, a proper
error is shown.
|
|
|
|
|
|
|
|
|
| |
The previously added APIs for getting/setting power reference levels was
missing an option to read back the currently available power levels
(minimum and maximum power levels).
This adds getters for TX and RX power ranges to multi_usrp and
radio_control. The power API is thus now more similar to the gain API,
which always had getters for gain ranges.
|
|
|
|
|
|
|
| |
Lowering X300 10GbE default frame sizes to max size supported by
hardware.
Signed-off-by: michael-west <michael.west@ettus.com>
|
| |
|
|
|
|
|
| |
It was set to E320_HG, which is not a valid target, causing build errors
unless -t E320_1G was provided to rfnoc_image_builder.
|
|
|
|
|
| |
Device was set to e31x, but this is not a valid device type. All e31x
devices use the e310 device type.
|
|
|
|
|
|
|
| |
Clear the io service map and the dpdk port map in the dpdk context
destructor to force them to destruct before the dpdk context.
Signed-off-by: ettus <matt.prost@ni.com>
|
|
|
|
|
| |
This change prevents packets from being chopped midway if the
switchboard configuration is changed when a packet is in flight.
|
|
|
|
|
| |
Thange allows the mux to switch cleanly between packets, if the mux
select input is changed while a packet is in flight.
|
| |
|
|
|
|
|
|
|
|
| |
The clock crossing of the ctrlport used FIFOs to transfer requests and responses
between clock domains. This commit adds a handshake based on the pulse
synchronizer to reduce the resource usage for ctrlport clock domain crossing.
Data is stored in a single register while the pulse synchronizer handles the
signaling of valid flags.
|
|
|
|
|
| |
This enables the inv_sinc_ab and inv_sinc_cd flags for the DAC,
turning on the inverse sinc filter.
|
|
|
|
|
|
|
| |
This increases the size of the ingress buffers for the N320 radio to
support 250MHz TX streaming rates.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
|
|
|
| |
This fixes some incorrectly handled clock crossings from axis_data_clk
to axis_chdr_clk, which could have manifested as timing failures (on
E320) or incorrect behavior, depending on the product and noc_shell
configuration.
Also cleans up trailing white space.
|
|
|
|
|
| |
Clang will generate an illegal instruction if a virtual destructor
isn't defined.
|
|
|
|
| |
The .1 second timeout fails on macOS. Expand this timeout to 1 second.
|
|
|
|
|
| |
These values are already correctly set upstream and should not be
modified since params is const.
|
|
|
|
|
| |
twinrx_gain_tables takes long time to build with optimizations on
macOS / Clang. Turn them off for this platform.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The max FFT size was 4096, but we don't currently have any devices that
can do that without modification. This is because, currently, the FFT
size must be the same as the packet size, and the largest packet
size supported by most devices is about 8000 bytes, or 2000
sc16 samples. Therefore, the largest FFT size supported without
modifying other code is 1024 samples.
This change frees up about 21% of the LUTs and 36% of the BRAM used by
axi_fft and makes the software block controller and the IP agree on the
maximum FFT size.
|
|
|
|
|
|
|
| |
This example exercises the Replay Block RFNoC API. The Replay records
IQ data from a file and plays it back into a Radio for transmitting.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
| |
This commit resolves an issue where the disconnect call would fail
if the streamer was created, but not connected. If disconnect gets
called on a streamer that isn't on the graph, ignore it.
|
|
|
|
|
|
|
|
|
| |
This commit resolves a segfault that occurs during teardown. Since
teardown isn't detereministic in python, there were cases where the
graph would destruct before the streamers or links got chance to
cleanup. This would result in a segfault. This change gives the lambda
a shared pointer to the object the callback method is calling on, so
that it won't destruct before being called.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updated Register values for ADF5356:
R2) Expand Frac2 to a 28-bit value for ADF5356
R6) Use negative bleed current for improved spurious performance
R7) Set Fractional-N Lock Detect Precision to 12.0 ns because of bleed
currents
R8) Use magic number for reserved bits
R9) Fix VCO Band Division calculation for ADF5356
RD) Expand Frac2 to a 28-bit value for ADF5356
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
|
|
|
|
| |
This changes the default name of the image core file to
<DEVICE>_rfnoc_image_core.v instead of naming it after the YAML file.
This ensures that when you use a custom YAML file, the resulting
FPGA build will use the generated rfnoc_image_core and static_router
files, rather than just the generated static_router file.
|
|
|
|
|
|
| |
Windows requires the command 'python' to prepend calls to .py files.
This change moves the path to multi_usrp_test.py to an argument on
Windows.
|
|
|
|
|
| |
This adds additional tests to the testbench to cover register reads and
basic IFFT functionaltiy.
|
|
|
|
|
|
|
|
|
| |
Setting default frame sizes for 10 GbE to match an Ethernet MTU of
9000, which is recommended in the UHD manual for the X300. The MTU
detection code is left untouched, so it will automatically adjust
if the MTU is lower than 9000.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
Add Python bindings for recently added rfnoc_graph::disconnect()
methods.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
Reverting inadvertent change in num_chans argument during
tx/rx_streamer_impl construction.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
| |
These interfaces are renamed to sfp0 and sfp1 and thus don't exist. They
were kept in MPM for a while after the rename, but that was many
versions of UHD ago, and the current filesystem (which does the rename)
is not compatible with older versions of UHD anyway (and vice versa).
These aliases are thus dead code and can be removed.
|
|
|
|
|
|
|
|
|
| |
The link_if_mgr used to be a factory for Liberio, UDP, and DPDK. Now,
Liberio is gone and DPDK is handled by UDP. This makes the class
superfluous.
Instead of removing the class, we comment on this, and remove any DPDK
references from the file.
|
|
|
|
|
|
| |
This class is a remnant of UHD 3, and is no longer used anywhere. SID is
no longer used at all in UHD, in fact, which means the class did not
represent a valid data structure.
|
|
|
|
|
|
| |
M_PI may not exist if _USE_MATH_DEFINES isn't defined before the
first include of math.h or cmath on Windows. This changes avoids the
issue all together by defining our own PI.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit derives parameters for MAX10 devices if provided by the
DEVICE parameter.
MAX10 devices FIFO generator support up to 36 bit wide FIFOs using
embedded memory (M9K) in simple dual port mode, which is treated
equally to RAM in the parameters.
In combination with sorting the ctrlport signals by usage, the used
resources can be reduced on the MAX10 devices from 6 to 3 M9K blocks
for a ctrlport_clk_cross instance without time and portids.
|
|
|
|
|
|
|
|
|
| |
- Detect dropped words at the dispatch level. This prevents
an overflow on CHDR from block CPU.
- Dropped packets are recorded as CPU or CHDR drop count
- Refactor to put chdr_xport_adapter.sv in different clock
domain to improve timing
- Unwrinkle tkeep/trailing transitions
|
|
|
|
|
| |
There is a gcc bug for template specialization that causes compile errors.
Reformatting the namespacing avoids the bug.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Filter for e3x0 no longer matches e31x devices. Switch to e3xx.
|
|
|
|
|
|
|
|
|
| |
The e31x devices don't advertise CHDR interface availability when the
low power FPGA is loaded. Since the e3xx and n3xx all route CHDR
packets with Virtual NIC forwarding, it's safe to assume that if we can
communicate with the mgmt_addr, we can communicate via CHDR too.
We can then correctly set the reachability for the e31x from this
assumption.
|