| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This completely eliminates the need for cmd_time_ctrl in the TwinRX
codebase, reducing the number of dependencies on the X300 codebase.
|
|
|
|
|
| |
The new signature uses tuple as the return value, instead of passing in
output variables as references (C-style).
|
|
|
|
|
| |
This mode is never used, and makes it more cumbersome to maintain this
code.
|
|
|
|
|
|
|
|
|
| |
This removes the following symbols:
- otw_type_t
- clock_config_t
- Any functions that use those symbols
- Non-standard args from examples (e.g., --total-time is deprecated in
favour of --duration)
|
|
|
|
| |
Note: N230 is still supported on the 3.15 LTS branch
|
|
|
|
|
| |
Pass original args into the x300_get_udp_factory() function. This
exposes the fact that this is a DPDK connection.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
This demotes INFO logs to TRACE that relate to the switch settings
during tuning.
|
|
|
|
|
|
|
|
|
|
|
| |
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', ...}
|
|
|
|
|
| |
- Handle exception created during RPC client creation
- Corrected a catch block for UHD exceptions
|
| |
|
| |
|
|
|
|
|
| |
db0 is used as the master for driving the radio path and must be the dboard
used to set the master clock rate.
|
| |
|
|
|
|
|
| |
Fixup for the Python API's default mboard value in
multi_usrp::set_command_time.
|
|
|
|
|
|
|
|
|
| |
The latest change to fix MTU and default frame sizes inadvertantly removed
the default send and recv buffer sizes in the MPMD UDP transport, which
caused receive timeouts and underruns at higher sample rates. This change
restores those values.
Signed-off-by: Michael West <michael.west@ettus.com>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
set_freq() calls now have a 15 seconds timeout.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In x300_radio_ctrl_impl.cpp, the GPIO attributes GPIO_SRC,
GPIO_CTRL, and GPIO_DDR are initialized as with vector<string>
values in the property tree. However, they are accessed in
set_gpio_attr() and get_gpio_attr() as vector<uint32_t>, which
will crash. This commit changes these access methods to be
consistent with the attribute value types.
This is not an issue for those who use the multi-usrp
interface, since that interface's set_gpio_attr() and
get_gpio_attr() methods are implemented with the correct typing
for GPIO_SRC, GPIO_CTRL, and GPIO_DDR.
|
| |
|
|
|
|
|
|
|
| |
This is a superclass to eth_manager and pcie_manager, since they usually
do the same thing. This saves storing and passing multiple pointers.
Also, x300_impl now stores a shared_ptr of the conn_manager, because
we'll need to pass it around in the future.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This provides a platform-independent attribute to allow fallthroughs in
switch statements. Example:
switch (foo) {
case BAR:
do_something();
UHD_FALLTHROUGH
case BAZ:
do_another_thing();
}
The usage of UHD_FALLTHROUGH will avoid a compiler warning if indeed the
fallthrough was intentional. The associated warning
(-Wimplicit-fallthrough) is only available on gcc and Clang.
|
|
|
|
|
|
|
|
|
| |
To check if a device is fully reachable through the
chdr address i.e. SFP port, an RPC request is sent
to "second_addr" and "addr" of that device. This commit
fixes the case where if "second_addr" is not connected to
the host, the function returns earlier and does not
check for "addr".
|
|
|
|
|
|
|
|
|
| |
This pulls out a lot of code from x300_impl and puts it into its own
compilation units:
- EEPROM code goes to x300_mb_eeprom.*
- Claim code goes to x300_claim.*
- PCIe code goes to uhd::usrp::x300::pcie_manager
- Ethernet code goes to uhd::usrp::x300::eth_manager
|
|
|
|
|
| |
This puts all functions that identify motherboards, distinguishes
X310/X300/NI2974, checks MB revs etc. into its own compilation unit.
|
|
|
|
|
| |
GPSd was used by the E310 prior to its MPM-ification, GPSd is therefore
no longer required by UHD.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the keywords "rx_gain_profile", "tx_gain_profile" and the new
values "default_bypass_always_off" and "default_bypass_always_on" the
customer can control whether the filter bypass shall be applied as
defined in the gain-table or whether to switch the bypass to ON or OFF
for all gains.
With the keywords "rx_band_map" and "tx_band_map" the user can define
custom frequency borders for the band mapping.
These new keywords can be used in the uhd.con, e.g.:
[type=n3xx]
rx_gain_profile=default_bypass_always_off
tx_gain_profile=default_bypass_always_on
rx_band_map=431e6;601e6;1051e6;1601e6;2101e6;2701e6
tx_band_map=723.18e6;1623.18e6;3323.18e6
|
|
|
|
| |
See: https://gitlab.com/gpsd/gpsd/commit/c711d531a6faab93df68ec625a076631569a729d
|
|
|
|
|
| |
- Remove some spurious \n
- Remove some usage of boost::format
|
|
|
|
|
|
|
|
|
|
| |
The latest changes to the get_*x_stream() functions to calculate the MTU for
the channel caused default frame size values to be ignored. This change fixes
that by changing the key from "send/recv_frame_size" to "mtu" and then changing
the implementations of make_transport() constrain the frame size values based
on the "mtu" value as well as any device and/or transport-specific limits.
Signed-off-by: Michael West <michael.west@ettus.com>
|
|
|
|
|
|
|
| |
The SBX tracks the LO lock state via on-board LEDs. However, querying
the LO lock status spawns an update to the entire ATR registers. To
reduce the number of register reads/writes, the LO lock status LED is
now only updated if it changed.
|
|
|
|
|
|
| |
Blocks that change scaling, tick rate, or sampling rate can now notify
the graph to update streamers. Before, this was handled only by
mult_usrp, and only for DDC and DUC blocks.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Applying clang-format to files used in upcoming changes.
clang-format -i --style=file host/include/uhd/rfnoc/node_ctrl_base.hpp
clang-format -i --style=file host/lib/rfnoc/ddc_block_ctrl_impl.cpp \
host/lib/rfnoc/duc_block_ctrl_impl.cpp \
host/lib/rfnoc/legacy_compat.cpp \
host/lib/usrp/device3/device3_impl.cpp \
host/lib/usrp/device3/device3_impl.hpp \
host/lib/usrp/device3/device3_io_impl.cpp \
host/lib/usrp/x300/x300_impl.cpp
|
| |
|
|
|
|
|
|
|
| |
- This mode defaults to "disabled" (no change from current behavior)
- Enabling this mode fixes some instances where the MAX287x would fail to lock
when in integer-n mode
- Enabling this mode increases the maximum lock time to up to 100ms
|
|
|
|
| |
- This change improves spur performance for the Rev C TwinRX daughterboard
|
|
|
|
| |
Signed-off-by: Matthew Crymble <matthew.crymble@ni.com>
|
|
|
|
|
|
| |
There are edge cases where the lack of initialization of _current_freq
could crash libuhd. To resolve this, we initialize all elements of those
cores to sensible values using NSDMI.
|
| |
|
|
|
|
|
| |
This fixes fpga image loading for devices which not have SFP port
and hence no fpga_type e.g. E310.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will clear the property tree, block registry, transport managers,
and motherboard list on destruction of mpmd_impl.
|
|
|
|
|
|
|
|
|
| |
The reclaim task loop is asnychronous to the main thread which can
result in spurious reclaim call to the device after unclaim has been
called. This is especially risky if the device has already entered a
non-serviceable state after unclaim e.g. idle state.
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
|