diff options
author | Martin Braun <martin.braun@ettus.com> | 2017-11-15 22:13:30 -0800 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:05:06 -0800 |
commit | 96f209a56176d5c2fcda47e9a8f149862274f4e2 (patch) | |
tree | d3b79d1786db6deb3ff607d8d8d6f7917cc62ac8 /mpm/python | |
parent | b12b9465ed13bf2eb7c0fe379c22dcb3b86c4054 (diff) | |
download | uhd-96f209a56176d5c2fcda47e9a8f149862274f4e2.tar.gz uhd-96f209a56176d5c2fcda47e9a8f149862274f4e2.tar.bz2 uhd-96f209a56176d5c2fcda47e9a8f149862274f4e2.zip |
mpm: mg: Add lowband LO lock and AD9371 lock sensors
Note: The AD9371 lock sensors are only stubbed out for now.
Diffstat (limited to 'mpm/python')
-rw-r--r-- | mpm/python/usrp_mpm/dboard_manager/base.py | 2 | ||||
-rw-r--r-- | mpm/python/usrp_mpm/dboard_manager/magnesium.py | 56 |
2 files changed, 55 insertions, 3 deletions
diff --git a/mpm/python/usrp_mpm/dboard_manager/base.py b/mpm/python/usrp_mpm/dboard_manager/base.py index 2b42e47c5..bbba27613 100644 --- a/mpm/python/usrp_mpm/dboard_manager/base.py +++ b/mpm/python/usrp_mpm/dboard_manager/base.py @@ -116,7 +116,7 @@ class DboardManagerBase(object): Power down the dboard. Does not have be implemented. If it does, it needs to be safe to call multiple times. """ - self.log.info("deinit() called, but not implemented.") + self.log.debug("deinit() called, but not implemented.") def get_serial(self): """ diff --git a/mpm/python/usrp_mpm/dboard_manager/magnesium.py b/mpm/python/usrp_mpm/dboard_manager/magnesium.py index 46192d332..217517a56 100644 --- a/mpm/python/usrp_mpm/dboard_manager/magnesium.py +++ b/mpm/python/usrp_mpm/dboard_manager/magnesium.py @@ -286,8 +286,14 @@ class Magnesium(DboardManagerBase): # See DboardManagerBase for documentation on these fields ######################################################################### pids = [0x150] - #file system path to i2c-adapter/mux - base_i2c_adapter = '/sys/class/i2c-adapter' + rx_sensor_callback_map = { + 'lowband_lo_locked': 'get_lowband_tx_lo_locked_sensor', + 'ad9371_lo_locked': 'get_ad9371_tx_lo_locked_sensor', + } + tx_sensor_callback_map = { + 'lowband_lo_locked': 'get_lowband_rx_lo_locked_sensor', + 'ad9371_lo_locked': 'get_ad9371_rx_lo_locked_sensor', + } # Maps the chipselects to the corresponding devices: spi_chipselect = {"cpld": 0, "lmk": 1, "mykonos": 2, "phase_dac": 3} @staticmethod @@ -311,6 +317,8 @@ class Magnesium(DboardManagerBase): "mykonos": create_spidev_iface, "phase_dac": create_spidev_iface_phasedac, } + #file system path to i2c-adapter/mux + base_i2c_adapter = '/sys/class/i2c-adapter' # Map I2C channel to slot index i2c_chan_map = {0: 'i2c-9', 1: 'i2c-10'} user_eeprom = { @@ -658,3 +666,47 @@ class Magnesium(DboardManagerBase): assert which.lower() in ('tx', 'rx') return self.cpld.get_lo_lock_status(which) + def get_lowband_tx_lo_locked_sensor(self): + " TX lowband LO lock sensor " + self.log.trace("Querying TX lowband LO lock status...") + lock_status = self.get_lowband_lo_lock('tx') + return { + 'name': 'lowband_lo_locked', + 'type': 'BOOLEAN', + 'unit': 'locked' if lock_status else 'unlocked', + 'value': str(lock_status).lower(), + } + + def get_lowband_rx_lo_locked_sensor(self): + " RX lowband LO lock sensor " + self.log.trace("Querying RX lowband LO lock status...") + lock_status = self.get_lowband_lo_lock('rx') + return { + 'name': 'lowband_lo_locked', + 'type': 'BOOLEAN', + 'unit': 'locked' if lock_status else 'unlocked', + 'value': str(lock_status).lower(), + } + + def get_ad9371_tx_lo_locked_sensor(self): + " TX ad9371 LO lock sensor " + self.log.trace("Querying TX AD9371 LO lock status...") + lock_status = True # FIXME + return { + 'name': 'ad9371_lo_locked', + 'type': 'BOOLEAN', + 'unit': 'locked' if lock_status else 'unlocked', + 'value': str(lock_status).lower(), + } + + def get_ad9371_rx_lo_locked_sensor(self): + " RX ad9371 LO lock sensor " + self.log.trace("Querying RX AD9371 LO lock status...") + lock_status = True # FIXME + return { + 'name': 'ad9371_lo_locked', + 'type': 'BOOLEAN', + 'unit': 'locked' if lock_status else 'unlocked', + 'value': str(lock_status).lower(), + } + |