aboutsummaryrefslogtreecommitdiffstats
path: root/mpm/python
diff options
context:
space:
mode:
Diffstat (limited to 'mpm/python')
-rw-r--r--mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp1
-rw-r--r--mpm/python/usrp_mpm/dboard_manager/magnesium.py12
-rw-r--r--mpm/python/usrp_mpm/dboard_manager/mg_init.py4
-rw-r--r--mpm/python/usrp_mpm/rpc_server.py2
4 files changed, 18 insertions, 1 deletions
diff --git a/mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp b/mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp
index 4719f486e..9aa07631b 100644
--- a/mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp
+++ b/mpm/python/pyusrp_periphs/n3xx/pyusrp_periphs.cpp
@@ -6,6 +6,7 @@
//
#include <pybind11/pybind11.h>
+#include <pybind11/stl.h>
namespace py = pybind11;
#define LIBMPM_PYTHON
diff --git a/mpm/python/usrp_mpm/dboard_manager/magnesium.py b/mpm/python/usrp_mpm/dboard_manager/magnesium.py
index c4e2f4131..d5cc525dc 100644
--- a/mpm/python/usrp_mpm/dboard_manager/magnesium.py
+++ b/mpm/python/usrp_mpm/dboard_manager/magnesium.py
@@ -480,6 +480,18 @@ class Magnesium(BfrfsEEPROM, DboardManagerBase):
'value': str(lock_status).lower(),
}
+ ##########################################################################
+ # Filter API
+ ##########################################################################
+ def set_bandwidth(self, which, bw):
+ if which.lower()[0:2] in ('tx', 'dx'):
+ self.log.debug("ad9371 set_tx_bandwidth bw: {}".format(bw))
+ self._init_args['tx_bw'] = bw
+ if which.lower()[0:2] in ('rx', 'dx'):
+ self.log.debug("ad9371 set_rx_bandwidth bw: {}".format(bw))
+ self._init_args['rx_bw'] = bw
+ self._reinit(self.master_clock_rate)
+ return bw
##########################################################################
# Debug
diff --git a/mpm/python/usrp_mpm/dboard_manager/mg_init.py b/mpm/python/usrp_mpm/dboard_manager/mg_init.py
index 00a2eab7d..02658abb9 100644
--- a/mpm/python/usrp_mpm/dboard_manager/mg_init.py
+++ b/mpm/python/usrp_mpm/dboard_manager/mg_init.py
@@ -464,6 +464,10 @@ class MagnesiumInitManager(object):
jesdcore.send_sysref_pulse()
time.sleep(0.001) # 17us... ish.
jesdcore.send_sysref_pulse()
+ if args.get('tx_bw'):
+ self.mykonos.set_bw_filter('TX', args.get('tx_bw'))
+ if args.get('rx_bw'):
+ self.mykonos.set_bw_filter('RX', args.get('rx_bw'))
async_exec(self.mykonos, "finish_initialization")
# According to the AD9371 user guide, p.57, the RF cal must come before
# the framer/deframer init. We tried otherwise, and failed. So don't
diff --git a/mpm/python/usrp_mpm/rpc_server.py b/mpm/python/usrp_mpm/rpc_server.py
index 77b4d5a15..78b76ab19 100644
--- a/mpm/python/usrp_mpm/rpc_server.py
+++ b/mpm/python/usrp_mpm/rpc_server.py
@@ -32,7 +32,7 @@ from usrp_mpm.sys_utils import net
TIMEOUT_INTERVAL = 5.0 # Seconds before claim expires (default value)
TOKEN_LEN = 16 # Length of the token string
# Compatibility number for MPM
-MPM_COMPAT_NUM = (4, 0)
+MPM_COMPAT_NUM = (4, 1)
def no_claim(func):
" Decorator for functions that require no token check "