From a8ad4917d331258e163e1786c0325a4b7e7d2e3e Mon Sep 17 00:00:00 2001 From: mattprost Date: Wed, 6 Apr 2022 14:00:06 -0500 Subject: n310: Add frontend bandwidth control Allow users to control the Mykonos frontend bandwidth settings for Rx and Tx. Note that this operation requires the daughterboard to re-initialize, so it may take some time. Values for frontend filter settings were derived using ADI's AD9371 Filter Wizard. This feature requires MPM version 4.1 or later on the device. Co-authored-by: bpadalino Signed-off-by: mattprost --- mpm/python/usrp_mpm/dboard_manager/magnesium.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'mpm/python/usrp_mpm/dboard_manager/magnesium.py') 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 -- cgit v1.2.3