Source code for silq.instrument_interfaces

from .interface import InstrumentInterface, Channel
import qcodes as qc
station = qc.Station()

instrument_interfaces = {
    "ArbStudio1104": {
        "module": ".lecroy.ArbStudio1104_interface",
        "class": "ArbStudio1104Interface",
    },
    "MockArbStudio": {
        "module": ".lecroy.ArbStudio1104_interface",
        "class": "ArbStudio1104Interface",
    },
    "PulseBlasterDDS": {
        "module": ".spincore.PulseBlasterDDS_interface",
        "class": "PulseBlasterDDSInterface",
    },
    "PulseBlasterESRPRO": {
        "module": ".spincore.PulseBlasterESRPRO_interface",
        "class": "PulseBlasterESRPROInterface",
    },
    "MockPulseBlaster": {
        "module": ".spincore.PulseBlasterESRPRO_interface",
        "class": "PulseBlasterESRPROInterface",
    },
    "Chip": {"module": ".chip_interface", "class": "ChipInterface"},
    "ATS9440": {"module": ".AlazarTech.ATS_interface", "class": "ATSInterface"},
    "MockATS": {"module": ".AlazarTech.ATS_interface", "class": "ATSInterface"},
    "Keysight_E8267D": {"module": ".keysight", "class": "E8267DInterface"},
    "SD_AWG": {"module": ".keysight", "class": "Keysight_SD_AWG_Interface"},
    "SD_DIG": {"module": ".keysight", "class": "Keysight_SD_DIG_Interface"},
    "SD_FPGA": {"module": ".keysight", "class": "Keysight_SD_FPGA_Interface"},
    "Tektronix_AWG520": {
        "module": ".Tektronix.AWG520_interface",
        "class": "AWG520Interface",
    },
    "TriggerFPGAController": {
        "module": ".keysight.fpga_interfaces.trigger_FPGA_interface",
        "class": "TriggerFPGAInterface",
    },
    "Bayesian_Update_FPGA": {
        "module": ".keysight.fpga_interfaces.Bayesian_update_interface",
        "class": "Bayesian_Update_Interface",
    },
    "PCDDS": {
        "module": ".keysight.fpga_interfaces.PCDDS_interface",
        "class": "PCDDSInterface",
    },
    "Keysight_81180A": {"module": ".keysight", "class": "Keysight81180AInterface"},
}


[docs]def get_instrument_interface(instrument, *args, **kwargs): from . import instrument_interfaces instrument_class = instrument.__class__.__name__ import_dict = instrument_interfaces[instrument_class] exec(f'from {import_dict["module"]} import {import_dict["class"]}') instrument_interface_class = eval(import_dict["class"]) instrument_interface = instrument_interface_class( instrument_name=instrument.name, *args, **kwargs ) station.add_component(instrument_interface) return instrument_interface