def test_init_parameters(): st = station_from_config_str( """ instruments: mock: type: qcodes.tests.instrument_mocks.DummyInstrument enable_forced_reconnect: true init: gates: {"ch1", "ch2"} """ ) mock = st.load_instrument('mock') for ch in ["ch1", "ch2"]: assert ch in mock.parameters.keys() assert len(mock.parameters) == 3 # there is also IDN # Overwrite parameter mock = st.load_instrument('mock', gates=["TestGate"]) assert "TestGate" in mock.parameters.keys() assert len(mock.parameters) == 2 # there is also IDN # test address sims_path = get_qcodes_path('instrument', 'sims') st = station_from_config_str(f""" instruments: lakeshore: type: qcodes.instrument_drivers.Lakeshore.Model_336.Model_336 enable_forced_reconnect: true address: GPIB::2::INSTR init: visalib: '{sims_path}lakeshore_model336.yaml@sim' """) st.load_instrument('lakeshore')
def example_station_config(): """ Returns path to temp yaml file with station config. """ sims_path = get_qcodes_path('instrument', 'sims') test_config = f""" instruments: lakeshore: type: qcodes.instrument_drivers.Lakeshore.Model_336.Model_336 enable_forced_reconnect: true address: GPIB::2::65535::INSTR init: visalib: '{sims_path}lakeshore_model336.yaml@sim' mock_dac: type: qcodes.tests.instrument_mocks.DummyInstrument enable_forced_reconnect: true init: gates: {{"ch1", "ch2"}} parameters: ch1: monitor: true mock_dac2: type: qcodes.tests.instrument_mocks.DummyInstrument """ with config_file_context(test_config) as filename: yield filename
def example_station_config(): """ Returns path to temp yaml file with station config. """ sims_path = get_qcodes_path('instrument', 'sims') test_config = f""" instruments: lakeshore: type: qcodes.instrument_drivers.Lakeshore.Model_336.Model_336 enable_forced_reconnect: true address: GPIB::2::65535::INSTR init: visalib: '{sims_path}lakeshore_model336.yaml@sim' mock_dac: type: qcodes.tests.instrument_mocks.DummyInstrument enable_forced_reconnect: true init: gates: {{"ch1", "ch2"}} parameters: ch1: monitor: true mock_dac2: type: qcodes.tests.instrument_mocks.DummyInstrument """ with tempfile.TemporaryDirectory() as tmpdirname: filename = Path(tmpdirname, 'station_config.yaml') with filename.open('w') as f: f.write(test_config) yield str(filename)
from qcodes.instrument.base import Instrument, InstrumentBase from qcodes.instrument.channel import ChannelList from qcodes.instrument.parameter import (Parameter, ManualParameter, DelegateParameter, _BaseParameter) import qcodes.utils.validators as validators from qcodes.monitor.monitor import Monitor from qcodes.actions import _actions_snapshot log = logging.getLogger(__name__) PARAMETER_ATTRIBUTES = [ 'label', 'unit', 'scale', 'inter_delay', 'post_delay', 'step', 'offset' ] SCHEMA_TEMPLATE_PATH = os.path.join(get_qcodes_path('dist', 'schemas'), 'station-template.schema.json') SCHEMA_PATH = get_qcodes_user_path('schemas', 'station.schema.json') STATION_YAML_EXT = '*.station.yaml' def get_config_enable_forced_reconnect() -> bool: return qcodes.config["station"]["enable_forced_reconnect"] def get_config_default_folder() -> Optional[str]: return qcodes.config["station"]["default_folder"] def get_config_default_file() -> Optional[str]: return qcodes.config["station"]["default_file"]
def test_config_validation_comprehensive_config(): Station(config_file=os.path.join( get_qcodes_path(), 'dist', 'tests', 'station', 'example.station.yaml') )
from qcodes.instrument.parameter import ( Parameter, ManualParameter, StandardParameter, DelegateParameter, _BaseParameter) import qcodes.utils.validators as validators from qcodes.monitor.monitor import Monitor from qcodes.actions import _actions_snapshot log = logging.getLogger(__name__) PARAMETER_ATTRIBUTES = ['label', 'unit', 'scale', 'inter_delay', 'post_delay', 'step', 'offset'] SCHEMA_TEMPLATE_PATH = os.path.join( get_qcodes_path('dist', 'schemas'), 'station-template.schema.json') SCHEMA_PATH = get_qcodes_user_path('schemas', 'station.schema.json') STATION_YAML_EXT = '*.station.yaml' def get_config_enable_forced_reconnect() -> bool: return qcodes.config["station"]["enable_forced_reconnect"] def get_config_default_folder() -> Optional[str]: return qcodes.config["station"]["default_folder"] def get_config_default_file() -> Optional[str]: return qcodes.config["station"]["default_file"]