| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This is used to determine send_buff_size and recv_buff_size
|
| |
|
|
|
|
|
| |
Before, setting these properties in the prop tree would trigger an
exception.
|
|
|
|
| |
This will broadcast on all interfaces concurrently, instead of serially.
|
| |
|
|
|
|
| |
Co-authored-by: Sugandha Gupta <sugandha.gupta@ettus.com>
|
| |
|
|
|
|
|
| |
We need a separate RPC connection for the claim loop such that it is not
blocked by other long executions of rpc calls.
|
|
|
|
|
| |
Reclaming interval was exec_time(claim+dump_logs)+MPMD_RECLAIM_INTERNVAL; this change will
MAX(exec_time(claim+dump_logs),MPM_RECLAIM_INTERVAL)
|
|
|
|
|
|
|
|
| |
During MPMd find routine, added a check when connecting to a CHDR
interface to make sure we're talking to the correct device.
Without this check MPMd would sometimes incorrectly mark a device as
reachable because they shared an addr (ie. 192.168.10.2 existed on
multiple devices).
|
|
|
|
|
|
|
|
| |
With this fix, uhd_find_devices --args type=b200, for example, will not
stall in this function.
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid the proliferation of additional include directories and
multiple ways of including project-local headers, we now default to
moving all headers that are used across UHD into the uhdlib/
subdirectory.
Some #include statements were also reordered as they were modified for
closer compliance with the coding guidelines.
Internal cpp source files should now include files like this:
#include <uhdlib/rfnoc/ctrl_iface.hpp>
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
|
|
|
|
|
|
|
| |
The FPGA and MPM version as well as the description of the device
("N300-Series Device") and its name (its the hostname) are now properly
reported coming from MPM, properly saved in the prop tree, and
uhd_usrp_probe can nicely display them this way.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added default FPGA image path, similar to how we do it in X300.
We determine the path to the fpga image path by checking the following:
1. --fpga-path provided by the user and that file exists
2. FPGA type (`fgpa`) provided in the args
3. Checking the fpga type of the currently loaded image on the
device (pulled through `MPM.get_component_info`)
4. Otherwise, error out
|
|
|
|
|
|
| |
Adding a publisher for updateable components listed in the property
tree. This calls MPM.get_component_info for the desired component, and
returns a dictionary containing that metadata.
|
|
|
|
| |
Adding doxygen comment for _update_component in mpmd.
|
|
|
|
|
|
|
| |
All copyright is now attributed to "Ettus Research, a National
Instruments company".
SPDX headers were also updated to latest version 3.0.
|
|
|
|
|
|
| |
- Initialization of device_addr_t from another using auto doesn't work
across compilers
- Moved MPMD_DISC_RESPONSE_PREAMBLE to mpmd_find where it belongs
|
| |
|
|
|
|
| |
No functional changes.
|
|
|
|
|
|
|
|
|
| |
In particular, when running uhd_find_devices, this will limit the
devices to ones that can actually be reached via CHDR. There is a new
key, find_all, which allows finding all devices even those not
reachable from UHD.
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
|
|
| |
-Increased timeout from 10s to 20s. This time is also per component file
being updated. For example, when updating the FPGA with new .bit and
.dts files, the timeout will be 40s.
-Also added log message to let user know their device is updating, not
frozen.
|
|
|
|
|
|
| |
When trying to run init(), mpmd will first query the initialization
status of the MPM device. If it is found to be in a bad state, it will
not go forward with initialization, but instead print the error message.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Note: This doesn't add any concurrency, rather, it changes the
structure of the code to allow that. Notable changes:
- All prop tree inits in one place
- No access to containers in methods that might be run in parallel
- Split initialization and claiming in mpmd_mboard_impl, calling ctor
will no longer run the full initialization.
- Added comments to identify parallelizable spots
|
|
|
|
|
|
|
| |
Increases the host's timeout during update_component times, then resets
it to the default RPC timeout after the call is complete.
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
|
| |
Adds two device args: discovery_port and rpc_port. Both are integers
which override the respective constants.
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
|
|
|
|
|
|
|
|
|
|
| |
By adding measure_rpc_latency, mpmd_impl will run a ping command in a
loop at initialization, and estimate average and maximum RPC command
latency. Note that the ping() RPC call only does an internal logging
call and returns its argument, so it is a very coarse approximation to
how fast RPC latency is.
Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
|
|
|
|
|
|
|
|
| |
- For non-MPM Ethernet devices, mpmd_find would return a fake
malformed discovery result which would accidentally trigger
an mpmd_impl::make resulting in unexpected errors
- Fixed mpmd_find to return an empty device_addrs_t object if
no MPM devices are found
|
| |
|
| |
|
| |
|
|
|
|
| |
Default is to not serialize inits.
|
|
|
|
|
|
| |
Currently, calling these APIs could potentially put the device into bad
state. This will disable the APIs from UHD side and replace them with a
warning if the user's setting did not take effect.
|
| |
|
| |
|
|
|
|
|
|
|
| |
MPM will now no longer keep a SID framer variable.
Reviewed-by: Trung Tran <trung.tran@ettus.com>
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
|
|
|
|
|
| |
The mpmd_xport_mgr classes can now return their own MTU. The UDP xport
manager is a special case, it doesn't actually know its MTU, and thus
runs an MTU discovery, using the MPM-ECHO command to discover MTU by
sending variable-size packets as a probing mechanism.
Reviewed-by: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
|
|
| |
- Fixed issue where the "addr" device args was not honored
- Results returned by find only enumerate mgmt_addrs
- Explicitly require addr to be specified for RFNoC comms
- Cleaned up constants for mgmt_addr, addr and second_addr
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
| |
Reviewed-by: Trung Tran <trung.tran@ettus.com>
|