Skip to content

Short human readable instrument snapshot.  #391

@AdriaanRol

Description

@AdriaanRol

@giulioungaretti
If we use instrument.snapshot() we get an overview of all parameters of an instrument, this is very useful for data storage. However, there is too much information to quickly scan over it.

Below I give an example, desired output first, current output after. I think the snippet below should (with some enhancements) be part of the base instrument class. Callable in the form of instrument.snapshot(concise=True).

Please let me know what you think.

Output of

for parname, par in FM_LaDucati.parameters.items():
    print('{}: \t{} ({})'.format(parname, par.get_latest(), par.units))
T_MClo: 	49.0 (mK)
IDN: 	{'vendor': 'QuTech', 'model': 'FridgeMon', 'firmware': '0.2', 'serial': None} ()
T_Still: 	None (mK)
T_Sorb: 	3836.0 (mK)
T_MChi: 	0.0 (mK)
fridge_name: 	LaDucati ()
update_interval: 	60 (s)

Output of fridge_monitor.snapshot():

{'__class__': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
 'functions': {},
 'name': 'FM_LaFerrari',
 'parameters': {'IDN': {'__class__': 'qcodes.instrument.parameter.StandardParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'IDN',
   'name': 'IDN',
   'ts': '2016-11-19 13:23:17',
   'units': '',
   'value': {'firmware': '0.2',
    'model': 'FridgeMon',
    'serial': None,
    'vendor': 'QuTech'}},
  'T_MCStage': {'__class__': 'qcodes.instrument.parameter.StandardParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'T_MCStage',
   'name': 'T_MCStage',
   'ts': '2016-11-19 13:23:17',
   'units': 'mK',
   'value': 0.0},
  'T_MChi': {'__class__': 'qcodes.instrument.parameter.StandardParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'T_MChi',
   'name': 'T_MChi',
   'ts': '2016-11-19 13:23:17',
   'units': 'mK',
   'value': 0.0},
  'T_MClo': {'__class__': 'qcodes.instrument.parameter.StandardParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'T_MClo',
   'name': 'T_MClo',
   'ts': '2016-11-19 13:23:17',
   'units': 'mK',
   'value': 32.3},
  'T_MCmid': {'__class__': 'qcodes.instrument.parameter.StandardParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'T_MCmid',
   'name': 'T_MCmid',
   'ts': '2016-11-19 13:23:17',
   'units': 'mK',
   'value': 141.0},
  'T_Sorb': {'__class__': 'qcodes.instrument.parameter.StandardParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'T_Sorb',
   'name': 'T_Sorb',
   'ts': '2016-11-19 13:23:17',
   'units': 'mK',
   'value': 4039.0},
  'T_Still': {'__class__': 'qcodes.instrument.parameter.StandardParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'T_Still',
   'name': 'T_Still',
   'ts': '2016-11-19 13:23:17',
   'units': 'mK',
   'value': None},
  'fridge_name': {'__class__': 'qcodes.instrument.parameter.ManualParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'fridge_name',
   'name': 'fridge_name',
   'ts': '2016-11-19 13:22:50',
   'units': '',
   'value': 'LaFerrari'},
  'update_interval': {'__class__': 'qcodes.instrument.parameter.ManualParameter',
   'instrument': 'pycqed.instrument_drivers.physical_instruments.Fridge_monitor.Fridge_Monitor',
   'instrument_name': 'FM_LaFerrari',
   'label': 'update_interval',
   'name': 'update_interval',
   'ts': '2016-11-19 13:22:50',
   'units': 's',
   'value': 60}}}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions