| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Modify the RPC claim timeout mechanism to use a contextmanager
helper function when enabling/disabling timeouts.
|
|
|
|
|
|
|
| |
Add a helper that can lookup a device via a device tree symbol.
Co-authored-by: Lars Amsel <lars.amsel@ni.com>
Co-authored-by: Michael Auchter <michael.auchter@ni.com>
|
|
|
|
|
|
|
|
|
| |
Implement SPI transfers which are 12 bytes in length to support
access for 32 bit register interfaces. 12 byte transactions are
necessary for Titanium MB PS CPLD SPI transactions. This implementation
supports 48 bits of TX data per transfer and offsets all flags and
data shifts from the end of the TX data portion of the transfer buffer
rather than the end of the entire transfer buffer.
|
|
|
|
|
|
|
|
| |
Add DboardIface class which will act as an interface to bridge the gap
between MB and DB drivers in MPM. The DboardIface will be implemented
by each Motherboard with MB specific information. Dboard objects
will then instantiate the class in order to utilize the implemented
control functions.
|
| |
|
|
|
|
|
| |
This modifies the UHD versions of those libraries to turn off warnings
that appear with Clang.
|
|
|
|
|
|
| |
This is potentially a performance issue, even though it doesn't have
a big impact in this context. Clang will warn about it, and this fixes
the compiler warning.
|
|
|
|
|
|
|
| |
Classes where we call delete (implicitly or explicitly) with a virtual
inheritance structure need to declare dtors as virtual.
This reduces compiler warnings with clang. There are no known bugs (yet)
due to this.
|
|
|
|
|
|
|
| |
twinrx_gain_config_t defined an assignment operator, but not a default
copy ctor. This is not allowed in modern C++, although compilers let it
slide and provide their own defaults. Clang, however, throws a warning
so let's fix it.
|
| |
|
|
|
|
| |
This reduces compiler warnings when using clang.
|
|
|
|
| |
This fixes a clang warning.
|
|
|
|
| |
This fixes a clang warning.
|
|
|
|
| |
This fixes some clang warnings.
|
|
|
|
|
|
| |
These constants are useful for reference, but they're not used. We keep
them in-tree (as comments) because of their utility, but comment them
out to fix clang warnings.
|
|
|
|
| |
This fixes a clang warning.
|
|
|
|
| |
It is unused, and causes clang warnings.
|
|
|
|
| |
This fixes a clang compiler warning.
|
|
|
|
| |
This reduces compiler warnings.
|
|
|
|
|
| |
The constants were either commented out, when their value is still
useful to the reader, or removed if not.
|
|
|
|
|
|
|
|
|
| |
The checks from the new clang-tidy file are applied to the source tree
using:
$ find . -name "*.cpp" | sort -u | xargs \
--max-procs 8 --max-args 1 clang-tidy --format-style=file \
--fix -p /path/to/compile_commands.json
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a .clang-tidy file to the tree, which enables a small number
of checks. The only checks that are applied are:
- readability-container-size-empty: Mostly, this makes empty string
checks use .empty() instead of .size().
- modernize-use-override: This adds override where applicable.
This causes clang to build UHD with fewer warnings.
|
|
|
|
| |
Add SPCC reg map for reference and testing.
|
|
|
|
|
|
|
|
|
|
| |
Add RegMaps build component to MPM. The PYTHON_CHECK_MODULE is
included from UHDPython in order to look up the presence of Mako.
Mako is required for generating the regmaps and RegMap will be
disabled without it. The RegMaps component creates custom commands for
generating all regmaps, creates a Python submodule "ic_reg_maps" with a
custom __init__.py file, and creates a target "ic_reg_maps" which gets
installed with usrp_mpm.
|
|
|
|
|
|
|
|
|
| |
Added an LMK03328 base chip driver which does basic register access, ID
validation, and PLL lock validation. This will act as the base class for
device specific drivers which control the chip. The code it similar to
the LMK04828 and LMK04832 base driver classes but has a different
register map structure. Register bitfield definitions were omitted and
will be added on an as needed basis.
|
|
|
|
|
|
|
|
| |
Added an LMK04832 base chip driver which does basic register access, ID
validation, and PLL lock validation. This will act as the base class for
device specific drivers which control the chip. The code is similar to
the LMK04828 base driver class, but has a different register map
structure.
|
|
|
|
|
|
|
|
|
|
|
|
| |
MPM server needs to be reclaimed in regular intervals. This is
monitored by the server using a timer. If the timer hits, the server
unclaims itself assuming the client process died for whatever
reason. In previous versions of `gevent.greenlet` the timer was
killed in a non blocking manner. This changed in version 0.13.0
(see
http://www.gevent.org/api/gevent.greenlet.html#gevent.Greenlet.kill)
which now leads to a dead lock in `timer.kill`. The kill command
is therefore now called explicitly with `block=False`.
|
|
|
|
|
|
|
| |
Provide a way to safely reset the peripheral manager from uhd and as
a result, a mechanism to reload the fpga/dts components.
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
|
|
|
|
|
| |
Create Mock classes which mimic the behavior of a register interface
and logger to facilitate unit testing needs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is substantially the same as 7b86a47, but implemented in a ninja
supported way. ninja doesn't allow for arguments, so this uses an environment
variable. This is compatible with both make and ninja. The only change
from the calling point of view is you must set the environment variable
before calling "make test_[devicetype]" instead of after as an arg.
This allows running devtests for a single device instead of all connected devices
or selecting a specific network interface.
Set the additional device arguments with the EXTRA_DEV_ARGS variable.
This can be set as an environment variable or on the command line.
For example: EXTRA_DEV_ARGS=addr=192.168.30.2 make test_x3x0
Also-by: Matthew Crymble <matthew.crymble@ni.com>
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
|
| |
Update to images containing fix for corrupt serial number when
bootloader loaded.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The _get_dboard_eeprom_info implementations are the same with the
exception of how the dboard eeprom is actually read. Break that out into
a _read_dboard_eeprom method to reduce code duplication.
The base class now defines a lambda expression for the eeprom reader
which can be changed in subclasses.
Co-authored-by: Lars Amsel <lars.amsel@ni.com>
Co-authored-by: Michael Auchter <michael.auchter@ni.com>
|
|
|
|
| |
Class for accessing (mounting) the daughterboard flash
|
|
|
|
| |
Class for creating a mount point
|
|
|
|
|
| |
Simplify installation of udev rules by creating folders for each
MPM_DEVICE.
|
|
|
|
|
|
|
|
|
|
|
| |
MPM devices were being discovered when trying to locate PCIe connected
devices. Adding filter to exclude them if the "resource" key is
specified in the device address arguments.
Replaces "lib: disable non pcie types in find with resource" to reduce
impact to older devices and remove API change.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
Always write register 6 in the ADF5356. Conditional write was causing
the LO not to lock at some frequencies.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
| |
If the mender utility is not installed or exits with a failure, return
NULL for the artifact rather than raising an exception (and disrupting
device initialization).
|
|
|
|
| |
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
| |
This reverts commit 7b86a47bf7143df1cac252602e3c9ddbdd871d90.
This was causing issues when building UHD with ninja
|
|
|
|
|
|
|
|
|
| |
The freq_resolution parameter to the set_frequency() method was
confusing. Changing it to the mod2 value clarifies the intention and
makes the math to reduce the FRAC2 and MOD2 values much easier to read
and maintain.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
| |
The algorithm for the sleep() function is changed to first increment the
command time if the command time is set. If the command time is not
set, it just performs a sleep on the host. The intention is to make a
best effort to create the requested delay on the device.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
| |
- Reduce FRAC2 and MOD2 values on ADF5356
- Add write to register 10 and delay during retune on ADF5356
- Make negative bleed conditional on integer or fractional N mode for
ADF5356
- Tune unused LOs out of band to remove interference
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
| |
The definitions of these functions were deleted in 23f4f8cf4ea72, and so
now we can remove the declarations from the header file to prevent any
confusion.
|
| |
|
|
|
|
| |
Using 12.5 MS/s exceeded the maximum throughput when using 4 channels over 1 GbE
|
| |
|
|
|
|
| |
Ref: 00c306d5c441e60e7dfd2516e05e4e433977ecee
|
|
|
|
|
|
|
| |
This commit sets the LD_LIBRARY_PATH environment variable when invoking
pytests to ensure that Python tests that use bindings to UHD in
libpyuhd.so can link to new symbols in libuhd.so without the need to
have UHD installed.
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds another resolve_all_properties method to use the
node instead of the vertex descriptor. The vertex descriptor could be
removed. This could cause the lambda capture to have an outdated
vertex descriptor, which would result in a hang when looking for it.
This resolves the issue by capturing the node and looking for the vertex
descriptor.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|