Ithaco Drivers

Classes:

CurrentParameter(measured_param, c_amp_ins)

Voltage measurement via an Ithaco preamp and converting volt to current.

Ithaco1211(name, **kwargs)

QCoDeS driver for the Ithaco 1211 Current-preamplifier.

class qcodes.instrument_drivers.ithaco.CurrentParameter(measured_param: Parameter, c_amp_ins: Ithaco1211, name: str = 'curr')[source]

Bases: MultiParameter[tuple[float, float], Ithaco1211]

Voltage measurement via an Ithaco preamp and converting volt to current.

To be used when you feed a current into the Ithaco, send the Ithaco’s output voltage to a lockin or other voltage amplifier, and you have the voltage reading from that amplifier as a qcodes parameter.

CurrentParameter.get() returns (volt_raw, curr)

Parameters:
  • measured_param – a gettable parameter returning the voltage read from the Ithaco output.

  • c_amp_ins

    an Ithaco instance where you manually maintain the present settings of the real Ithaco amp.

    Note: it should be possible to use other current preamps, if they define parameters sens (sensitivity, in A/V), sens_factor (an additional gain) and invert (bool, output is inverted)

  • name – the name of the current output. Default ‘curr’. Also used as the name of the whole parameter.

Methods:

get_raw()

get_raw is called to perform the actual data acquisition from the instrument.

get_raw() tuple[Any, ...][source]

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 qcodes.instrument_drivers.ithaco.Ithaco1211(name: str, **kwargs: Unpack[InstrumentBaseKWArgs])[source]

Bases: Instrument

QCoDeS driver for the Ithaco 1211 Current-preamplifier.

This is a virtual driver only and will not talk to your instrument.

Attributes:

sens

Parameter sens

invert

Parameter invert

sens_factor

Parameter sens_factor

suppression

Parameter suppression

risetime

Parameter risetime

Methods:

get_idn()

Parse a standard VISA *IDN? response into an ID dict.

sens: Parameter = self.add_parameter( "sens", initial_value=1e-8, label="Sensitivity", unit="A/V", get_cmd=None, set_cmd=None, vals=Enum(1e-11, 1e-10, 1e-09, 1e-08, 1e-07, 1e-06, 1e-05, 1e-4, 1e-3), )

Parameter sens

invert: Parameter = self.add_parameter( "invert", initial_value=True, label="Inverted output", get_cmd=None, set_cmd=None, vals=Bool(), )

Parameter invert

sens_factor: Parameter = self.add_parameter( "sens_factor", initial_value=1, label="Sensitivity factor", unit=None, get_cmd=None, set_cmd=None, vals=Enum(0.1, 1, 10), )

Parameter sens_factor

suppression: Parameter = self.add_parameter( "suppression", initial_value=1e-7, label="Suppression", unit="A", get_cmd=None, set_cmd=None, vals=Enum(1e-10, 1e-09, 1e-08, 1e-07, 1e-06, 1e-05, 1e-4, 1e-3), )

Parameter suppression

parameters: dict[str, ParameterBase] = {}

All the parameters supported by this instrument. Usually populated via add_parameter().

functions: dict[str, Function] = {}

All the functions supported by this instrument. Usually populated via add_function().

submodules: dict[str, InstrumentModule | ChannelTuple] = {}

All the submodules of this instrument such as channel lists or logical groupings of parameters. Usually populated via add_submodule().

instrument_modules: dict[str, InstrumentModule] = {}

All the InstrumentModule of this instrument Usually populated via add_submodule().

log: InstrumentLoggerAdapter = get_instrument_logger(self, __name__)
metadata: dict[str, Any] = {}
risetime: Parameter = self.add_parameter( "risetime", initial_value=0.3, label="Rise Time", unit="msec", get_cmd=None, set_cmd=None, vals=Enum(0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30, 100, 300, 1000), )

Parameter risetime

get_idn() dict[str, str | None][source]

Parse a standard VISA *IDN? response into an ID dict.

Even though this is the VISA standard, it applies to various other types as well, such as IPInstruments, so it is included here in the Instrument base class.

Override this if your instrument does not support *IDN? or returns a nonstandard IDN string. This string is supposed to be a comma-separated list of vendor, model, serial, and firmware, but semicolon and colon are also common separators so we accept them here as well.

Returns:

A dict containing vendor, model, serial, and firmware.