Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Labcore - QCoDeS integration #17

Open
ttshaw1 opened this issue May 27, 2022 · 2 comments
Open

Labcore - QCoDeS integration #17

ttshaw1 opened this issue May 27, 2022 · 2 comments

Comments

@ttshaw1
Copy link

ttshaw1 commented May 27, 2022

There are a few features from QCoDeS' experiment functions that I'd like to see in labcore.

  1. Getting units, names, etc. for variables from instrument driver functions. For example, our M5180 VNA's driver has a function M5180.s21 which can be called to get scattering parameters, or various attributes can be examined to get the frequency axis, units, and so on. QCoDeS' register_parameter(M5180.s21) gets all that data automatically. The labcore way of doing this is very manual by comparison:
@recording(independent('frq', type='array', unit='Hz'),
           dependent('|S21|', depends_on=['frq'], type='array', unit='dB'))
def s21_magnitude():
    return vna.s21.setpoints[0][0], vna.s21()[0]
  1. Saving station snapshot to HDF5 file. Every experiment in QCoDeS' has a station defined, which is a collection of instruments, the parameters of all of which are saved alongside the data. This makes it easy to go back to an experiment later and check something like the VNA's power level.

I'm just getting started with labcore, so possibly these capabilities already exist and I haven't found them. If not, I can work on it. I'm not sure what the best way to handle the first part is and would appreciate suggestions, but the second part I believe could be done by having run_and_save_sweep accept a station argument.

@ttshaw1
Copy link
Author

ttshaw1 commented May 27, 2022

Turns out giving run_and_save_sweep the argument extra_saving_items = station.snapshot() does what I want for the second point.

@ttshaw1
Copy link
Author

ttshaw1 commented May 27, 2022

And now I see that qcodes parameters as actions for a Sweep is listed in the todo, covering my first point. Sorry for the duplication. I'll leave this issue open in case I wind up working on that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant