From 8adbc72f0d3c9e15d6bbf41c27f3f192e3df305f Mon Sep 17 00:00:00 2001 From: Lane Kolbly Date: Tue, 22 Jun 2021 15:21:29 -0500 Subject: mpm: Move cal freeze defaults to x4xx This fixes an issue where the slot 0 ADC blocks would erroneously report that they were unfrozen. Additionally, adds logic to restore a saved cal freeze state on sync source change. --- mpm/python/usrp_mpm/periph_manager/x4xx.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mpm/python/usrp_mpm/periph_manager/x4xx.py') diff --git a/mpm/python/usrp_mpm/periph_manager/x4xx.py b/mpm/python/usrp_mpm/periph_manager/x4xx.py index 70a087d14..d46c9098e 100644 --- a/mpm/python/usrp_mpm/periph_manager/x4xx.py +++ b/mpm/python/usrp_mpm/periph_manager/x4xx.py @@ -317,6 +317,10 @@ class x4xx(ZynqComponents, PeriphManagerBase): except Exception as ex: self.log.warning("Failed to initialize device on boot: %s", str(ex)) + # Freeze the RFDC calibration by default + self.rfdc.set_cal_frozen(1, 1, "both") + self.rfdc.set_cal_frozen(1, 0, "both") + # The parent class versions of these functions require access to self, but # these versions don't. # pylint: disable=no-self-use @@ -880,6 +884,8 @@ class x4xx(ZynqComponents, PeriphManagerBase): # was changed, to ensure the device transmission/acquisition continues at # the requested frequency. self.rfdc.rfdc_restore_nco_freq() + # Do the same for the calibration freeze state + self.rfdc.rfdc_restore_cal_freeze() except RuntimeError as ex: err = f"Setting clock_source={clock_source},time_source={time_source} " \ f"failed, falling back to {self._safe_sync_source}. Error: " \ -- cgit v1.2.3