| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Co-Authored-By: Alex Williams <alex.williams@ni.com>
Co-Authored-By: Sugandha Gupta <sugandha.gupta@ettus.com>
Co-Authored-By: Brent Stapleton <brent.stapleton@ettus.com>
Co-Authored-By: Ciro Nishiguchi <ciro.nishiguchi@ni.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Turns the E310 into an MPM device (like N3xx, E320)
- Factor out common code between E320 and E310, maximize sharing between
the two devices
- Remove all pre-MPM E310 code that is no longer needed
- Modify MPM to remove all existing overlays before applying new ones
(this is necessary to enable idle image mode for E310)
Co-authored-by: Virendra Kakade <virendra.kakade@ni.com>
Signed-off-by: Virendra Kakade <virendra.kakade@ni.com>
|
|
|
|
|
| |
The error message will now include the IP address of the client trying
to double-claim a device.
|
|
|
|
|
|
|
|
|
|
|
| |
When reloading the Periph Manager (as when we run the image loader),
we need to run the RPCServer `__init__` function in order to reset the
cache of RPC methods. Otherwise, that cache keeps stale references to
old functions (and prevents garbage collection).
It may be possible to reset the method cache some other way, but the
`_methods` attribute of RPCServer is Cython, and doesn't seem to be
accessible in our Python code.
|
|
|
|
|
| |
The async calls to long C++ methods allows the claimer loop to smoothly
continue during init, so this hack is no longer necessary.
|
|
|
|
|
|
| |
Usually, the current timeout is fine, but there are cases when a lot of
RPC traffic could drown out the reclaim calls. 5 seconds is an
experimentally derived safe value.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This module (and class) are, in fact, used for all N3xx-derivates so
renaming it is the more correct thing to do.
|
| |
|
|
|
|
|
| |
Add getter function for updateable component information. This is a
minor compat number bump.
|
|
|
|
|
| |
- Fix typo in company name (missing 'a')
- Updated SPDX license identifier to version 3.0
|
|
|
|
|
|
|
|
| |
- Allow to set default args via config file
- Read them from prefs API
- override-db-pids uses the same APIs now ([overrides] section in
config file, prefs API, and same dictionary as --default-args when
used on the command line
|
|
|
|
|
|
| |
Before, it was possible to trick the RPC server in believing a
connection was remote when the incoming connection was from a local IP
address that was not 127.0.0.1.
|
| |
|
|
|
|
| |
Reviewed-by: Trung Tran <trung.tran@ettus.com>
|
|
|
|
|
|
|
| |
- Allow configurable timeout values from the command line
- Add flag to disable timeouts for long calls; this fixes the case
where reclaimers re-initialize a disabled timer
- Add methods for timeout event for better tracking
|
|
|
|
|
|
| |
- No functional changes
- Grouped methods by function
- Improved some comments
|
|
|
|
|
|
|
|
| |
- Updated systemd service file
- Added health status flag in shared data object
- Added thread in RPC process to update watchdog
Reviewed-by: Moritz Fischer <moritz.fischer@ettus.com>
|
|
|
|
|
|
| |
These are hooks that the RPC server calls into when claiming a device,
and allow the device implementation to trigger user-definable actions
on claiming/unclaiming.
|
|
|
|
| |
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
| |
Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
| |
Reviewed-by: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
|
| |
On FPGA loads, when the periph_manager is respawned, this will now
clear the previously registered methods.
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
| |
Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com>
|
|
|
|
| |
Now uses SPDX headers everywhere.
|
|
|
|
|
|
|
| |
Refactoring to use the C++-based UIO objects. The Liberio and Ethernet
objects now open the UIO before using it, and close it once done.
Reviewed-By: Martin Braun <martin.braun@ettus.com>
|
|
|
|
|
|
|
|
| |
- Moved nijesdcore to cores/
- Moved udev, net, dtoverlay, uio to sys_utils/
- Made all imports non-relative (except in __init__.py files)
- Removed some unnecessary imports
- Reordered some imports for Python conventions
|
|
|
|
|
| |
Note: This is subject to removal, but makes the FPGA reloading code
available to all until we fix the reload bug.
|
|
|
|
|
|
|
|
|
|
| |
Upon updating certain components (the FPGA, for example), the
Peripheral Manager is restarted, and the overlay is reapplied. In order
to facilitate this, the RPC server intercepts and handles the
update_component function.
Tested on the RJ45 ethernet connection. It probably won't work as well
if the SFP connection goes down when the overlay is removed.
|
|
|
|
|
| |
This commit combines code from various branches to finally enable both
UDP and Liberio transports.
|
|
|
|
|
|
| |
Now, when claiming a device, the connection type will be stored as a
string in PeriphManagerBase. This way we can read out the current
connection type even when not currently inside an RPC call.
|
|
|
|
| |
Use @norpc instead. This fixes some linting issues.
|
|
|
|
|
|
|
|
| |
- Any RPC call with uncaught exceptions will result in additional
logging on MPM side
- Adds get_last_error() API call
- get_last_error() is populated by various methods within rpc_server.py,
but also from every uncaught exception
|
| |
|
|
|
|
|
|
| |
On the RPC server side, we keep track of which methods require a claim
token. MPM shell uses this info to automatically add claim tokens when
required.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
- Also fixed some error handling in various cases
|
| |
|
|
|
|
| |
- Also token length is now variable, and 16 characters
|
| |
|
| |
|
|
|
|
| |
indexing to numbers
|
|
|
|
| |
Also currently hardcodes some settings.
|
|
|
|
|
|
|
|
| |
- add uio udev find routine
- add debug prints
Signed-off-by: Andrej Rode <andrej.rode@ettus.com>
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
|