| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Remove superfluous includes
- Fix return value of _open() (was int, now void) => Fewer compiler
warnings
- Apply clang-format
- Add {} to all ifs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code was broken when converting from BOOST_FOREACH to a range-based
for loop.
Without this fix, the board initialization would crash with an error
like this:
[ERROR] [DBMGR] The daughterboard manager encountered a recoverable
error in init.
Loading the "unknown" daughterboard implementations to continue.
The daughterboard cannot operate until this error is resolved.
LookupError: KeyError: key "0" not found in dict(i,
N14adf4360_regs_t17prescaler_value_tE)
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Joerg Hofrichter <joerg.hofrichter@ni.com>
|
|
|
|
|
| |
get_gps_info() can time out, or fail for other reasons. This adds some
checks to see if the return value is as expected.
|
|
|
|
|
|
| |
The old loop didn't have any output, and had an inaccurate timeout. We
now use a timer for a 30 second timeout, and print a . every time we
poll the sensor.
|
|
|
|
|
| |
This demotes INFO logs to TRACE that relate to the switch settings
during tuning.
|
|
|
|
|
|
|
|
|
| |
The E31x will always have a valid PPS, because it is generated
internally. The external PPS however is used to drive the ppsloop, which
means the ref_locked sensor can be a substitute for the PPS, but only on
in this case.
This commit also removes some superfluous includes from this example.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The send_waveform() function takes the waveform_proto array and if it
has only 1 channel, explicitly reshapes it to be
(1, waveform_proto.size), or uses np.tile to replicate the
waveform_proto array over X channels. It then proceeds to loop over the
waveform_proto array, but attempts to do so over the channel dimension
instead of looping over the actual samples. This results in sending the
entire waveform_proto array regardless of the duration specified.
The fix is to specify the dimension in which it crops, and not crop in
dimension of the channels.
|
|
|
|
|
|
|
|
|
|
|
| |
Usually, devtest is run via make (or ninja), and will use the correct
Python interpreter. When running directly on the command line, it is
important to pick the right Python interpreter so it will work with the
Python API.
Here, we change the default interpreter from Python 2 to 3, because
that's the more common version, and will be the only option for upcoming
UHD 4.0 anyway.
|
|
|
|
|
| |
Added appropriate references to N321 in the R&D testing doc for the
FPGA Functional Verification section.
|
|
|
|
| |
This explains what the various FPGA flavours (XG, HG, 1G) are.
|
|
|
|
|
|
|
|
|
|
|
| |
By using the conversion ability to std::map<>, we can make the Python
versions of get_?x_usrp_info() return a dict in Python.
Sample Python session:
>>> import uhd
>>> U = uhd.usrp.MultiUsrp(args)
>>> U.get_usrp_rx_info()
{'mboard_id': 'B200', 'rx_subdev_name': 'FE-RX2', ...}
|
|
|
|
|
|
|
| |
This will now allow calls like this:
uhd::dict<k, v> d = /* ... */;
auto m = static_cast<std::map<k, v>>(d);
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When updating a component like the FPGA, the timeouts for reclaiming get
disabled, because the update can potentially take a long time, during
which the RPC server might not be available.
There was a bug that didn't re-enable the timeouts. The most common case
where this causes issues was when the Ethernet connection was severed
during FPGA reloading, which could lead to UHD losing connection with
MPM altogether (for example because SFPs would come up with a different
IP address). In that case, MPM would remain unreachable until the next
reboot.
|
| |
|
|
|
|
|
|
|
| |
Remove UHD call to elevate thread priority to realtime. Setting all
threads to the same realtime priority can cause the threads to not share
access to the network interface fairly, which adversely affects
operation of the worker threads in UHD.
|
|
|
|
|
| |
- It was possible for two threads to generate a global session, which would
cause one of them to become invalid.
|
|
|
|
|
| |
- Update submodule pointer
- Update CHANGELOG to incorporate latest changes
|
|
|
|
|
|
|
| |
- Reduce long tests from 3600 seconds to 600 seconds.
- Remove 2xRX@153.6e6 test for N310 10 GbE (not practical).
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
Add -DMPM_DEVICE=e320 to the command so the E320 version is built
and not the N3xx version.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
| |
Added configuration of version.cpp file so @UHD_VERSION@ would be
properly replaced by the version string and @UHD_COMPONENT@ would
be properly replaced by the component string.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
| |
Added cmake variable to set the component (currently UHD or MPM).
so the banner printed by the log_resource would reference the correct
component. Added accessor function and appropriate calls in log.cpp.
Signed-off-by: michael-west <michael.west@ettus.com>
|
|
|
|
|
|
|
|
| |
Provides a more useful error message if the EEPROM cannot be found at
the specified address. Without this change a generic index out of range
error is raised.
Signed-off-by: michael-west <michael.west@ettus.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Modifies the CMake for the following utilities:
- init_usrp (example)
- kitchen_sink
- nirio_programmer
|
|
|
|
|
|
|
|
|
| |
Also install UHDBoost.cmake along with the CMake UHD find scripts, so
that it can be used by external modules. Tweak the UHDConfig.cmake
script so that, once installed, the new UHDBoost.cmake script is found.
Note that the project using UHD must first find UHD before trying to find
Boost. Also note that if the C++ standard is not set before UHDBoost is
loaded, it will be set to that currently used by UHD: C++14.
|
|
|
|
|
| |
- Handle exception created during RPC client creation
- Corrected a catch block for UHD exceptions
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The existing code would fail on the second CMake run when gzip wasn't
actually installed, as well as on the first build. The behaviour is
modified as follows:
- ENABLE_MAN_PAGE_COMPRESSION is made a variable, instead of an option
- Its default value is derived from ${GZIP_FOUND}
|
|
|
|
|
| |
- Update CHANGELOG
- Change UHD version to 3.15.0.0 / stable
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Some close-in noise was observed on TX when using external references.
This change reduces the noise by changing U19 to select the GPSDO when
references are set to external. Also included is a change to properly
read and apply settings from the configuration file. This allows the
user to further quiet the transmission by adding 'enable_gps=False' to
the configuration file in order to power off the GPSDO.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using enable_gps=0, the power to the LTE-Lite GPS chip is turned
off, and neither the reference sources (time/clock) nor the
location/time data (via gpsd) can be used.
This commit disables the gpsdo options for the set_time_source,
set_clock_source, and set_sync_source when enable_gps=0 is used, and
adds logging to inform the user about this.
This behaviour is consistent with X310, where `gpsdo` is only a valid
reference if the GPSDO module is plugged in.
The manual was also updated accordingly.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
db0 is used as the master for driving the radio path and must be the dboard
used to set the master clock rate.
|
|
|
|
|
|
| |
- Fixes an issue where RX with close in signals (<5 kHz) had large
discontinuities in IQ data
- For <1 kHz, an LO offset should be used
|
|
|
|
|
|
|
|
|
|
| |
The first log message of UHD is always something like this:
[INFO] [UHD] linux; GNU C++ version [...]
However, it was being printed regardless of the requested log level.
This will disable all initial log messages if the requested log level is
greater than INFO.
|