Source code for elasticai.hw_measurements.scan_instruments

from logging import getLogger
from platform import system
import pyvisa


logger = getLogger(__name__)

[docs] def scan_instruments(driver=None) -> list: """Scanning the VISA bus for instruments :param driver: Driver implementing scan_com_name() :return: List of all detected instruments """ if driver is None: if system() == "Linux": rm = pyvisa.ResourceManager("/usr/lib/librsvisa.so@ivi") else: rm = pyvisa.ResourceManager() logger.debug(f"\nUsing VISA driver: {rm}") obj_inst = rm.list_resources() rm.close() else: obj_inst = driver.scan_com_name() logger.debug("Available devices") logger.debug("--------------------------------------") for idx, inst_name in enumerate(obj_inst): logger.debug(f"{idx}: {inst_name}") assert obj_inst != [], "No instruments found!" return obj_inst