| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
- Removing the Aurora image package from the images manifest. It was
previously commented out, and hasn't been updated, so we're not
actually losing anything here.
- Moving the N310 and N300 _AA image to the _default image package
|
|
|
|
| |
- This broke tx streaming via the multi_usrp API.
|
|
|
|
|
|
|
|
| |
UHD currently only uses a single ethernet link for tx data, even if the
device is initialized with dual 10GbE links. Using both links when a DMA
FIFO is present causes sequence errors due to DMA FIFO bandwidth
limitations. This maintains the current default behavior but allows
users to override it through a device arg "enable_tx_dual_eth".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also updates our coding style file.
Ancient CMake versions required upper-case commands. Later command
names became case-insensitive. Now the preferred style is lower-case.
Run the following shell code (with GNU compliant sed):
cmake --help-command-list | grep -v "cmake version" | while read c; do
echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done > convert.sed \
&& git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \
'*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed
(Make sure the backslashes don't get mangled!)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This tool uses the Python API to determine if USRP devices are
receiving a phase aligned signal. It is designed to be a stand-in
replacement for usrp_phasealignment.py, although the capabilities and
invocation are not identical.
The return value of this tool will indicate whether the signal is
sufficiently phase aligned, and allows integration into scripts or
other test frameworks. This tool also includes options to save data to
file or plot it using PyLab.
Currently only supports 2 channel RX phase alignment.
|
|
|
|
| |
gps_locked should be a bool not int.
|
|
|
|
|
|
|
| |
gpsd connection is not reliable.
Adding more error handling to re-connect during polling.
Add control flows to get_gps_time in order to give an effect of getting
the value on pps edge.
|
|
|
|
|
|
|
| |
Reading motherboard sensor, sometimes, takes more than 2 seconds.
We don't have asynchronous RPC, increase this timeout will help
long sensor reading such as reading GPSD value when GPSD connection
is unreliable.
|
|
|
|
|
|
| |
This is effectively a refactoring: The main() function now returns True
on success. This fixes a bug where one branch would simply return (None)
instead of returning a value.
|
|
|
|
|
|
|
|
|
| |
If platform.system() is 'Windows', the Python script will stall on
error before terminating, e.g., when an import is missing or when an
unexpected Exception occurred during the execution.
The rationale is that many Windows users run this script directly,
without a shell, and wouldn't have a way to see error messages from the
script in that case.
|
|
|
|
|
|
|
| |
Since the uhd_images_downloader is so tightly integrated into our
infrastructure, we've dropped support for .tar.gz and .tar.xz file for
this particular purpose. Note that UHD releases still receive images in
all three formats.
|
|
|
|
|
| |
No functional changes. The main effort was to reduce the length of
main() and reduce the number of Pylint warnings.
|
|
|
|
|
|
| |
Note: All archives shipped using this tool are zip files. However, this
allows us to ship other types of files, which will be downloaded and
sorted into the images directory as-is.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This download limit prevents users from accidentally downloading really
large files. The default limit is 100 MiB. When a file is selected for
download that exceeds this size, the user is prompted if she really
wants to download that file.
By specifying --yes (or -y), this can can be bypassed. Example:
$ uhd_images_downloader --yes -t sdimg
Will match all files that match 'sdimg', which are typically larger than
100 MiB, without interaction.
|
|
|
|
|
|
|
|
|
| |
This will answer 'yes' to all questions that are asked and allows to
script the downloader. Example:
$ uhd_images_downloader -t sdimg -y
Any interaction that the script will have with the user will be skipped.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Running
$ uhd_images_downloader -l
will now print the full URL of the target. By specifying
$ uhd_images_downloader -l --url-only
It will *only* print the URLs, nothing else, making this suitable for
scripting. The list will always go to stdout, whereas the logging is
going to stderr and thus can easily be siphoned off.
|
| |
|
| |
|
|
|
|
|
| |
This makes it easier to detect errors in derived classes that expect
getters in radio_ctrl_impl to also do error checking.
|
| |
|
|
|
|
|
|
| |
This will release the i2c device when it's not in use. If MPM hangs on
to the i2c devices, we won't be able to cleanly change FPGA images--The
kernel hangs up the process until the refcount drops to zero.
|
|
|
|
|
|
| |
Adding clang-format configuration file. The chosen style is meant to
match current UHD coding style, except in certain cases where we have
consciously decided to format our code in a particular way.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This function grabs the i2c character device path from the OF_NAME
property. That property must be unique in the device tree!
|
| |
|
| |
|
|
|
|
|
| |
None of our FPGA images support a 120 MHz master clock rate, so the UHD
code should match that.
|
| |
|
|
|
|
| |
This enables a default package for Rhodium images.
|
|
|
|
| |
- Improves performance for frequencies greater than 3.5 GHz
|
|
|
|
|
|
|
|
|
| |
- This is a combination of 5 commits.
- rh: add lo distribution board gpio expander
- rh: add lo distribution mpm functions
- rh: add code to conditionally initialize lo distribution
- rh: change empty i2c device from exception to assertion
- rh: add lo distribution board control
|
| |
|
|
|
|
|
|
| |
This makes the noc traffic counter register actually reflect the
registers in the FPGA. The FPGA register names were changed prior to
merging to master, and the ready count registers were removed.
|
| |
|
|
|
|
| |
- Improves spur performance
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Confirmed the Phase DAC to be initialized at mid-scale.
- Confirmed the Phase DAC step resolution for fine clock shifting.
The clock synchronization algorithm relies on the Phase DAC to fine
shift the sampling clocks on each daughterboard.
Only a certain number of DAC codes are required for the actual clock
adjustment, thus a different range of codes may be chosen by
initializing the Phase DAC with a given value. With the selected range,
one may measure the Phase DAC's linearity and step resolution, which
defines how many steps are required when performing the fine shifting
of the clocks.
After initializing the 16-bit Phase DAC at 25%, 50% (mid-scale), and
75%; it was found that the clock distribution PLL locks relatively
faster when using mid-scale (2^15). By testing the Phase DAC's
linearity, it was confirmed that the circuit resolution is 1.11 ps per
code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Optimized JESD204B RX/TX links' latency.
- Made JESD latency constant across supported frequencies.
- Checking RX SYSREF capture in the FPGA deframer block.
The JESD204B standard can be linked in such a way to produce a
repeatable, deterministic delay from the framer to deframer. This is
accomplished by setting up a LMFC (local multiframe clock) in both
devices.
The LMFCs are reset whenever a SYSREF edge is captured by the framer
and deframer. Therefore, it is simple to control the LMFC rising edges
in each device by implementing variable delay elements on the SYSREF
pulses to the framer and deframer.
Latency across the JESD204B TX/RX links should remain constant and
deterministic across the supported sampling_clock_rate values. By
testing the roundtrip latency (i.e. FPGA -> TX -> RX -> FPGA) with
different delay values in the FPGA, one may decrease the latency and
provide enough setup and hold margin for the data to be transfered
through each JESD link.
It was found that a different set of SYSREF delay values are required
for sampling_clock_rate = 400 MSPS to match the latency of the other
supported rates.
|
|
|
|
|
|
|
|
|
| |
- Better alignement with public Debian files.
- Move to a different package name: libuhd003.so -> libuhd3.13.0.so
This allows to install multiple packages in parallel for better ABI
compatibility by third-party dependees. The new package replaces the
old one.
- Remove .shlibs file
|
|
|
|
|
|
| |
The SOVERSION will now match the ABI string, and the VERSION matches the
full UHD version. This will allow easier parallel installation of
multiple versions of UHD.
|
| |
|
|
|
|
|
|
| |
Currently Python interface of time_spec_t exposes only constructor with
'double' parameter. Other constructors are also important as they
provide higher precision. This change adds them to the Python API.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updating FPGA images for the following devices with the following bug
fixes. No compat number bumps included in the changes. Also updating
the submodule pointer.
X3xx, N3xx, E3xx:
- DDS flushing fix
- Fix sequence number clearing
B2xx:
- Async reset from misc registers
- Redistributed buffering in radio and xport
|
|
|
|
|
|
| |
Co-authored-by: Humberto Jimenez <humberto.jimenez@ni.com>
Co-authored-by: Alex Williams <alex.williams@ni.com>
Co-authored-by: Derek Kozel <derek.kozel@ni.com>
|
| |
|
| |
|
| |
|