| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Only release the GIL for the calls to send() and recv(), instead of the
entire wrapper functions.
|
|
|
|
|
|
| |
Expose optional timeouts on send, recv, and recv_async_msg. These
timeouts do not apply to the setup in the wrapper functions, only the
calls to the streamer functions.
|
|
|
|
| |
- 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!)
|
|
|
|
|
|
|
| |
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 makes it easier to detect errors in derived classes that expect
getters in radio_ctrl_impl to also do error checking.
|
| |
|
|
|
|
|
| |
None of our FPGA images support a 120 MHz master clock rate, so the UHD
code should match that.
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
| |
EEPROM
|
|
|
|
|
| |
- Limit initialization to ZPU communication if recover_mb_eeprom=1 is
set in device args.
|
|
|
|
|
| |
This will stop the exception throw during destructor of E310 where
new FPGA image(idle image) is load.
|
| |
|
|
|
|
|
| |
- If FRAC2 isn't exactly FRAC1 at certain frequencies, drifting spurs can
be seen in the spectrum
|
| |
|
|
|
|
|
| |
- This is the only read operation in the driver, so removing it simplifies the
driver's requirements significantly.
|
| |
|
|
|
|
| |
No functional or API changes.
|
|
|
|
|
|
|
|
|
|
| |
The sync_source API is an atomic setter for all sync-related settings.
If supported by the underlying USRP, it can be faster to call
set_sync_source() rather than sequentially calling set_clock_source()
and set_time_source().
If the underlying device does not support the sync_source API, it will
fall back to the set_clock_source() and set_time_source() APIs, making
this change backward-compatiple.
|
| |
|
|
|
|
|
|
|
| |
set_time_source() for N310 and N300 can take longer than the default RPC
client timeout of 2 seconds due to dboard initialization.
We need increase this timeout, by using the init timeout value which is
2 minutes.
|
|
|
|
|
|
|
|
| |
The DDC and DUC convert the requested rate to an integer before
selecting a decimated / interpolated rate. This causes the selection to
select a lower rate than requested in some corner cases. The effect is
more pronounced when the input rate of the DDC or the output rate of the
DUC is very small.
|
|
|
|
|
|
| |
After going to 2 radios configuration (FPGA), the channnel value
is passed into this set_rx_antenna now have value either 0 or 1.
We want the mapping of {radio_channel:cpld_channel} = {0:CHAN1} or {1:CHAN2}.
|
|
|
|
| |
ALL_MBOARDS and ALL_CHANS will be exported on GCC and MSVC
|
|
|
|
|
|
| |
- Removes operator+ which was ambiguously defined in some cases
- Adds additive concept for time_spec_t and double operators
- Remove unnecessary ctime header
|
|
|
|
|
|
|
| |
This tracks the changes on rx_frontend_gen3.v, which was updated to use
a quarter-rate downconverter instead of a generic CORDIC. The X3x0 FPGA
compat number is incremented as the rx_frontend is part of the device
architecture rather than an RFNoC block.
|
|
|
|
|
|
| |
The master clock rate was getting overwritten while
running the codec loopback self test. So now we save the
current rate before running the test and then reapply it.
|
| |
|
| |
|
|
|
|
|
| |
Clipping requested frequency to acceptable ranges in Magnesium TX/RX
set frequency functions.
|
| |
|
|
|
|
| |
...that are already handled in udp_zero_copy.
|
|
|
|
|
| |
we're no longer need this. Because there are default send buff size in
each transport type impl.
|
|
|
|
| |
This is used to determine send_buff_size and recv_buff_size
|
| |
|
| |
|
|
|
|
|
|
|
| |
Adding CMake flag to enable/disable NEON SIMD instructions. This is an
addition to the previous checks (check for NEON headers and checking
the size of pointers), so behavior is unchanged unless users specify
that they do not want to use NEON instructions.
|
|
|
|
| |
The gpio devtest passes after this fix. Enabling the test
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This library makes available a userspace network stack with a
socket-like interface for applications (except the sockets pass around
pointers to buffers and use the buffers directly--It's sockets + a
put/get for buffer management). Supported services are ARP and UDP.
Destinations can be unicast or broadcast. Multicast is not currently
supported.
The implementation has two driver layers. The upper layer runs within
the caller's context. The caller will make requests through lockless
ring buffers (including socket creation and packet transmission), and
the lower layer will implement the requests and provide a response.
Currently, the lower layer runs in a separate I/O thread, and the caller
will block until it receives a response.
The I/O thread's main body is in src/uhd_dpdk_driver.c. You'll find that
all I/O thread functions are prefixed by an underscore, and user thread
functions do not.
src/uhd_dpdk.c is used to initialize uhd-dpdk and bring up the network
interfaces.
src/uhd_dpdk_fops.c and src/uhd_dpdk_udp.c are for network services.
The test is a benchmark of a flow control loop using a certain made-up
protocol with credits and sequence number tracking.
|
| |
|
|
|
|
|
|
|
|
| |
By default, Boost.ASIO uses 'address_configured' mode for UDP endpoint
resolution, which "only return[s] IPv4 addresses if a non-loopback
IPv4 address is configured for the system". This changes the resolver
to use 'all_matching', which instead returns "all matching IPv6 and
IPv4 addresses".
|