From fc2fc14b1ad796c94532315bfc09a1e8d030f7c5 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Thu, 19 Nov 2020 15:27:22 +0100 Subject: python: multi_usrp: Add get_mpm_client() API call This is a new API call, only available on Python, and only available for MPM devices (it is added dynamically). It returns an object that allows calling RPC calls in a Pythonic manner. Example: >>> rpcc = usrp.get_mpm_client() >>> print(rpcc.get_device_info()) # Will print device info, as returned # by uhd_find_devices --- host/docs/mpm.dox | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'host/docs/mpm.dox') diff --git a/host/docs/mpm.dox b/host/docs/mpm.dox index d53025fb5..d5dcc4d31 100644 --- a/host/docs/mpm.dox +++ b/host/docs/mpm.dox @@ -59,6 +59,28 @@ typically, high-performance applications will always run in network mode). \section mpm_debug Debugging Tools +\subsection mpm_debug_python Python-based Debugging + +The Python API has additional methods for interacting with MPM. When creating a +multi_usrp object, it is possible to get a direct reference to an MPM client: + +~~~{.python} +import uhd +# Assume args contains valid device args: +usrp = uhd.MultiUSRP(args) +mpmc = usrp.get_mpm_client() +# Now load device info over RPC and print: +print(mpmc.get_device_info()) +~~~ + +The RPC API calls are directly mapped to Python. + +\b Note: When using the MPM client directly, it is possible to put UHD and the +device into unsynchronized states. It is an advanced API, only recommended for +unusual low-level access to the device, or debugging. + +\subsection mpm_debug_other MPM Tools + The `mpm/tools/` subdirectory provides a useful tool for debugging and interacting with MPM called `mpm_shell.py`. It is a command line tool to directly access MPM commands. Like MPM, it requires Python 3. It can be invoked -- cgit v1.2.3