From 1a4e5d8b308e9f5aef1ec84d1837f989dea3896b Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Mon, 18 Feb 2019 21:42:28 -0800 Subject: mpm: n320: Properly check for the LO distribution board Without this patch, the N320 code will rely on an error to occur to determine the non-existence of the N321 LO distribution board. While this works, it forces an error message where there's no error. This will first check for the existence of the board before trying to initialize it. --- mpm/python/usrp_mpm/dboard_manager/rhodium.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'mpm/python/usrp_mpm/dboard_manager/rhodium.py') diff --git a/mpm/python/usrp_mpm/dboard_manager/rhodium.py b/mpm/python/usrp_mpm/dboard_manager/rhodium.py index 8e036aa81..f3dad4a92 100644 --- a/mpm/python/usrp_mpm/dboard_manager/rhodium.py +++ b/mpm/python/usrp_mpm/dboard_manager/rhodium.py @@ -246,13 +246,11 @@ class Rhodium(BfrfsEEPROM, DboardManagerBase): } self._port_expander = TCA6408(_get_i2c_dev()) self._daughterboard_gpio = FPGAtoDbGPIO(self.slot_idx) - # TODO: applying the overlay without checking for the presence of the - # LO dist board will create a kernel error. Fix this when the I2C API - # is implemented by checking if the board is present before applying. - try: + if FPGAtoLoDist.lo_dist_present(_get_i2c_dev()): + self.log.info("Enabling LO distribution board") self._lo_dist = FPGAtoLoDist(_get_i2c_dev()) - except RuntimeError: - self._lo_dist = None + else: + self.log.debug("No LO distribution board detected") self.log.debug("Turning on Module and RF power supplies") self._power_on() BfrfsEEPROM.__init__(self) -- cgit v1.2.3