| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
added extra args to get PCIe buffer sizes from factory method
|
|
|
|
|
| |
The forward interfaces are able to forward CHDR packets with MPM
iptables routing. This reenables forward interfaces as a CHDR option.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This sets the reference clock for X300 daughterboards (other than UBX)
to 100 MHz by default to improve RF performance.
Note: The UBX daughterboard requires a clock rate of no more than the
max pfd frequency (50 or 25 MHz depending on the hardware rev) in
order to maintain phase synchronization. If a UBX daughterboard is
present on the X300, the clock rate for all daughterboards will be set
to the pfd frequency by default. This is because of the limitation on
X300 that requires the daughterboards to use the same clock rate.
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
| |
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
Fix typo in warning message when DPDK is specified at run time but not
enabled at compile time.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
| |
Change message from warning to debug when spp is greater than MTU.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
| |
- Added helper methods to connect and disconnect TX and RX chains.
- Directly create streamer objects and register local disconnect
methods to make sure chains are disconnected and the streamer is
removed from the graph when streamers are destroyed.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
| |
- Added rfnoc_graph method to disconnect a connection.
- Added rfnoc_graph method to disconnect a streamer.
- Added rfnoc_graph method to disconnect a port on a streamer.
- Added disconnect callback to rfnoc_rx_streamer and rfnoc_tx_streamer.
- Registered disconnect callback functions to streamers returned by
get_rx_streamer and get_tx_streamer methods.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
| |
- Added method to disconnect an edge
- Added method to remove a node
- Fixed algorithm to check edges during connect. Previous code was
checking some edges twice and allowing duplicate edges to be created
for existing edges.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Transports were not disconnecting their links from the I/O service upon
destruction, leaving behind inaccessible send and recv links used by
nothing. This led to I/O errors after creating several transports.
Added callbacks to transports to automatically disconnect their links
from the I/O service when the transport is destroyed. Updated all
callers to supply a disconnect callback.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
| |
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
| |
Signed-off-by: mattprost <matt.prost@ni.com>
|
|
|
|
| |
Signed-off-by: mattprost <matt.prost@ni.com>
|
| |
|
|
|
|
|
| |
Adding a check for bursts that cross the 4 KiB boundary to the AXI4
memory model. Crossing a 4 KiB boundary is not allowed by AXI4.
|
|
|
|
|
|
|
|
|
| |
This change fixes the case where CHDR_W < ITEM_W*NIPC.
It also adds a state machine to stall the input to the pyld_fifo to
ensure that the pkt_info_fifo will not overflow. Previously in some
cases it allowed the same word to be inserted into the pyld_fifo
multiple times.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally, the setup.py file for pyuhd listed only one package
packages=['uhd']
the setuptools docs: https://setuptools.readthedocs.io/en/latest/setuptools.html#using-find-packages
specify that this should also include subpackages, i.e uhd.dsp,
uhd.usrp, etc. Currently, when packaging libpyuhd, we are not including
the subpackages, and then when you run `import uhd`, it fails because
uhd.usrp and uhd.dsp don't exist.
This commit alleviates this issue by using setuptools.find_packages like
the docs recommend.
Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
|
|
|
|
|
|
| |
When cross compiling, the architecture of the runtime python interpreter
does not match the host architecture. Therefore, don't try to detect it
and set it to the min. supported python version instead.
|
|
|
|
|
| |
Use UHDPython module (from UHD) to find Python interpreter,
libraries and include directories.
|
|
|
|
|
|
| |
Set CMP0094 policy to NEW to make sure Python3 is first found
in the SDK's sysroot if both the sysroot and the native
paths are included in the PATH variable.
|
|
|
|
| |
This requires python3 to be installed in the target sysroot
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
I was using this example for testing with the simulator. If there is a
flow control failure, the original example would just silently finish,
outputing the message "Done!" (Not even printing a timeout message).
This commit asserts that the number of samples sent is equal to the
number of samples provided.
Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
|
|
|
|
|
|
|
|
|
|
| |
This adds new image files which come with a DRAM FIFO. The addition of
an N320 image with a DRAM FIFO allows DDR3 BIST to be run on an
assembled (motherboard + daughterboard) N320.
This image is intentionally very similar to the N300_AA and N310_AA
targets which serve the same purpose of providing an image with a DRAM
FIFO for their respective devices.
|
|
|
|
|
|
|
| |
A segment of the build() function updates the working directory. This
change converts several paths to absolute paths to avoid having a
relative path (such as one containing up-level references) deviate from
its' intended meaning after the directory change.
|
|
|
|
|
|
|
|
| |
The routine to identify products currently only reads the motherboard
EEPROM. The N310 and N320/N321 use the same motherboard so these devices
can't be distinguished using the motherboard EEPROM alone. This change
makes get_product_id() read both the motherboard and daughterboard
EEPROM in order to determine which N3xx it actually is.
|
|
|
|
|
|
|
|
|
|
| |
- Made some things optional to reduce logic when
used with the new xport_sv:
(1) Clocking to sys_clk
(2) Preamble insertion
- New options to CUTTHROUGH faster on the TX path.
The new xport_sv already has a gate to accumulate at
its clock crossing.
|
|
|
|
|
|
| |
Consolidated calcuation of last_tkeep and tkeep_last. Changed error
checking to support unwrinkling tkeep/trailing changes in 100G
etherent and support for testing packet dropping on backup.
|
|
|
|
|
| |
AxiLiteBfm incorrectly included stb argument on rd() and printed actual
response instead of expected in debug message.
|
|
|
|
|
| |
This fixes a bug on wrstb in AxiLiteIf and adds a new AxiLiteIf_v that
can be used to stitch onto Verilog port_maps.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This module takes an AXI-Stream without TLAST and outputs the
same AXI-Stream with TLAST based on the provided packet size
input.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This change adds detection for setting the correct internal
fpga CHDR IP address when using embedded mode.
|
| |
|
|
|
|
|
|
| |
Add 2 bytes to account for Vivado update number, in addition to major,
minor, and AR. For example the current Vivado version string might be
2019.1.1_AR73068 whereas the previous string was 2018.3_AR71898.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes when running usrp_hwd.py in a terminal and then canceling it
with Ctrl+C, it prints a really large stacktrace into the terminal
resulting from an uncaught gevent BlockingSwitchOutError. This comes
from trying to block on Process#join inside a gevent signal handler.
This commit resolves this issue by simply triggering an event in the
signal handler which prompts a different non-daemon thread to join the
subprocesses and end the parent process.
Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
|
|
|
|
|
|
|
|
|
|
|
| |
- GPIOBank made the assumption that all bits used where contiguous. This amends
the documentation to make that more clear, and adds an assert
statement to check for that.
- reset_all() would reset all pins, regardless of DDR value, rendering
it useless for any GPIO bank that would want to have readable pins.
Fixed that by checking DDR value before resetting.
- Minor amendments to various docstrings; improve PyLint score by
removing superfluous inheritance from object.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes when running usrp_hwd.py in a terminal and then canceling it
with Ctrl+C, it prints a really large stacktrace into the terminal
resulting from an uncaught gevent BlockingSwitchOutError. It seems like
there was an attempt to catch this in usrp_hwd.py:kill_time(). This
try-except was surrounding a call to Process.join() which, to the best
of my knowledge, can't ever throw this exception.
Based on my troubleshooting, this error comes from the SIGTERM signal
handler of the RPC process. The handler (defined in
rpc_server.py:_rpc_server_process), is just a direct call to
RPCServer.stop(). When the server's backed is a thread pool, this call
may block when joining the thread pool, causing gevent to complain about
execution attempting to block in a signal handler.
This commit resolves this issue by simply triggering an event in the
signal handler which prompts a different thread to clean up the server
and end the process.
Signed-off-by: Samuel O'Brien <sam.obrien@ni.com>
|
| |
|