| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This commit adds Pipeline support for building uhd toolchain docker
images. The Dockerfiles specify the required dependencies to build uhd.
These can then be used in downstream pipelines to build uhd. It's also
possible to use the Dockerfiles using "docker build" and "docker run"
to locally create the toolchain to build uhd.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
| |
macOS creates .DS_Store files, which should not be checked in.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
| |
|
|
|
|
|
| |
- Remove unused const
- Fix includes to IWYU and clang-format order
|
|
|
|
| |
This is a pessimizing move, and clang warns about it.
|
| |
|
|
|
|
|
| |
- Adapt to coding guide
- Add header that explains the module
|
|
|
|
|
|
|
|
|
| |
This commit adds support for running devtests and pytests in
Azure Pipelines. Devices are intentionally matrixed for adding more
in the future. devtest is turned off by default for now, but
can be enabled in the future.
Signed-off-by: Steven Koo <steven.koo@ni.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Add i2c_dev adapter device lookup which uses a the sys_name value
instead of OF_NAME to find the adapter. OF_NAME is not unique for some
i2c device nodes. The logic for finding the adapter from the parent
node was pulled into a helper function and is shared across both
lookup functions.
Co-authored-by: Michael Auchter <michael.auchter@ni.com>
Co-authored-by: Toni Jones <toni.jones@ni.com>
|
| |
|
| |
|
|
|
|
|
| |
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>
|