| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
| |
- 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>
|
| |
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
| |
added extra args to get PCIe buffer sizes from factory method
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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.
|
| |
|