qcodespp.instrument_drivers.ZI.ZI_helpers

Classes

Module Contents

class qcodespp.instrument_drivers.ZI.ZI_helpers.ZISampleParam(name, sample, unit='V', ai1unit='V', ai2unit='V', components=['x', 'y', 'r', 'phase'], gain=1.0, ai0gain=1.0, ai1gain=1.0)

Bases: qcodespp.MultiParameter

MultiParameter containing various parts of a ZI lockin sample reading.

ZI lockins enable making a single reading for X, Y, R, phase, etc. Leverage that to make a single reading and return as many pieces as the user wishes. The advantage is that the communication time scales linearly with the number of times the lockin is called; i.e. individually reading X, Y, R, and phase would take four times longer than using this approach.

Should work for any ZI lockin, using either the zhinst-qcodes or qcodespp drivers.

Args:

name (str): The name of the parameter. sample (callable): The .sample method of the ZI lock-in amplifier. unit (Opt, str): The unit for the demodulator input. Default is ‘V’. ai1unit (Opt, str): The unit for auxin0 readings (default is ‘V’). ai2unit (Opt, str): The unit for auxin1 readings (default is ‘V’). components (Opt, list of strings): The components to include in the reading.

Accepts any of the values returned by the sample (default is ‘x’, ‘y’, ‘r’, ‘phase’).

gain (Opt, float): Scaling factor to apply to X, Y, R (default is 1). ai0gain (Opt, float): Scaling factor to apply to auxin0 (default is 1). ai1gain (Opt, float): Scaling factor to apply to auxin1 (default is 1).

Usage:
Current = ZISampleParam(‘Current’,

li_a.demod0_sample, unit=’A’, components=[‘r’, ‘phase’], gain=1e-6 )

station.set_measurement(Current)

gain = 1.0
ai0gain = 1.0
ai1gain = 1.0
get_raw()

get_raw is called to perform the actual data acquisition from the instrument. This method should either be overwritten to perform the desired operation or alternatively for Parameter a suitable method is automatically generated if get_cmd is supplied to the parameter constructor. The method is automatically wrapped to provide a get method on the parameter instance.

class qcodespp.instrument_drivers.ZI.ZI_helpers.R4ptParam(li_a_sample, li_b_sample, current_gain=1e-06, voltage_gain=0.001, include_R=True, include_phase=True, name='R4pt')

Bases: qcodespp.MultiParameter

MultiParameter to return current, voltage and resistance based on two ZI lockin readings.

ZI lockins enable making a single reading for X, Y, R, phase. Leverage that to make a single reading for each of two lockins to return all relevant parameters: Currents X Y R P, Voltages X Y R P, and computed resistances X Y R. Basically requires only two communication instances instead of 14. Phase not returned for resistance since it’s not obvious what that means. If currents are exactly zero, resistance returns NaN.

Should work for any ZI lockin, using either the zhinst-qcodes or qcodespp drivers.

Args:

li_a_sample (callable): The .sample method of the current-reading lock-in amplifier. li_b_sample (callable): The .sample method of the voltage-reading lock-in amplifier. current_gain (float): Gain on the current preamplifier (default is 1e-6). voltage_gain (float): Gain on the voltage preamplifier (default is 1e-3). include_R (bool): Whether to include amplitude values in the output (default is True). include_phase (bool): Whether to include phase values in the output (default is True). name (str): The name of the parameter (default is ‘R4pt’).

Usage:

R4pt = R4ptParam(li_a.demod0_sample, li_b.demod0_sample,1e-6,1e-3) station.set_measurement(R4pt)

get_raw()

get_raw is called to perform the actual data acquisition from the instrument. This method should either be overwritten to perform the desired operation or alternatively for Parameter a suitable method is automatically generated if get_cmd is supplied to the parameter constructor. The method is automatically wrapped to provide a get method on the parameter instance.