Open
Description
# %%
from pathlib import Path
import numpy as np
import qcodes as qc
import qcodes.logger
from qcodes.dataset import (
Measurement,
initialise_or_create_database_at,
load_or_create_experiment,
plot_dataset,
)
from qcodes.instrument_drivers.mock_instruments import (
DummyInstrument,
DummyInstrumentWithMeasurement,
)
from qcodes.parameters import DelegateParameter
# %%
qcodes.logger.start_all_logging()
# %%
# configure the plots generated in this example to go to the example_output folder
qc.config.user.mainfolder = Path.cwd().parent / "example_output"
# %%
tutorial_db_path = Path.cwd().parent / "example_output" / "exp_output.db"
initialise_or_create_database_at(tutorial_db_path)
# %%
# preparatory mocking of physical setup
dac = DummyInstrument("dac", gates=["ch1", "ch2"])
dmm = DummyInstrumentWithMeasurement("dmm", setter_instr=dac)
del_param_1 = DelegateParameter("del_param_1", label="del param 1", source=dac.ch1)
del_param_2 = DelegateParameter("del_param_2", label="del param 2", source=dac.ch2)
# %%
tutorial_exp = load_or_create_experiment("doNd_VS_Measurement", sample_name="no sample")
# %%
# Setting up Measurement
meas = Measurement(name="1d_measurement of dmm from dac sweep", exp=tutorial_exp)
meas.register_parameter(dac.ch1)
meas.register_parameter(del_param_1, basis=(dac.ch1,))
meas.register_parameter(dmm.v1, setpoints=(del_param_1,))
meas.register_parameter(dmm.v2, setpoints=(del_param_1,))
# Running Measurement
with meas.run() as datasaver:
for dac_sweep in np.linspace(0, 1, 10): # sweep points
del_param_1(dac_sweep)
print(f"{dac_sweep} {dac.ch1()}")
datasaver.add_result(
(dac.ch1, dac.ch1()),
(del_param_1, dac_sweep),
(dmm.v1, dmm.v1()),
(dmm.v2, dmm.v2())
)
dataset1 = datasaver.dataset
# %%
plot_dataset(dataset1)
# %%
dataset1.get_parameter_data("dac_ch1")
Metadata
Metadata
Assignees
Labels
No labels