Basel Drivers¶
Classes:
|
A virtual driver for the Basel SP 983 current to voltage converter. |
|
A driver for Basel Preamp's (SP983a) Remote Instrument - Model SP983a. |
|
A virtual driver for the Basel SP 983c current to voltage converter. |
- class qcodes.instrument_drivers.basel.BaselSP983(name: str, input_offset_voltage: Parameter | None = None, **kwargs: Unpack[InstrumentBaseKWArgs])[source]¶
Bases:
InstrumentA virtual driver for the Basel SP 983 current to voltage converter.
This driver supports both the SP 983 and SP 983c models. These differ only in their handling of input offset voltage. It is the responsibility of the user to capture the input offset, (from the voltage supply) and compensate that as needed for SP 983. For SP 983c model, ‘input_offset_voltage’ argument can be used to set up offset (This doesn’t work for SP 983c01 model).
Note that, as this is a purely virtual driver, there is no support for the remote control interface (SP 983a). It is the responsibility of the user to ensure that values set here are in accordance with the values set on the instrument.
- Parameters:
name
input_offset_voltage – (Optional) A source input offset voltage parameter. The range for input is -10 to 10 Volts and it is user’s responsibility to ensure this. This source parameter is used to set offset voltage parameter of the preamp and the source parameter should represent a voltage source that is connected to the “Offset Input Voltage” connector of the SP983C.
**kwargs – Forwarded to base class.
Attributes:
gainParameter gain
fcutParameter fcut
offset_voltageParameter offset_voltage
Methods:
get_idn()Parse a standard VISA
*IDN?response into an ID dict.- gain: Parameter = self.add_parameter( "gain", initial_value=1e8, label="Gain", unit="V/A", get_cmd=None, set_cmd=None, vals=Enum(1e09, 1e08, 1e07, 1e06, 1e05), )¶
Parameter gain
- fcut: Parameter = self.add_parameter( "fcut", initial_value=1e3, label="Cutoff frequency", unit="Hz", get_cmd=None, set_cmd=None, vals=Enum(30.0, 100.0, 300.0, 1e3, 3e3, 10e3, 30e3, 100e3, 1e6), )¶
Parameter fcut
- 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
InstrumentModuleof this instrument Usually populated viaadd_submodule().
- log: InstrumentLoggerAdapter = get_instrument_logger(self, __name__)¶
- offset_voltage: DelegateParameter = self.add_parameter( "offset_voltage", label="Offset Voltage", unit="V", vals=Numbers(-0.1, 0.1), scale=100, source=input_offset_voltage, parameter_class=DelegateParameter, )¶
Parameter offset_voltage
- 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.
- class qcodes.instrument_drivers.basel.BaselSP983a(name: str, address: str, input_offset_voltage: Parameter | None = None, **kwargs: Unpack[VisaInstrumentKWArgs])[source]¶
Bases:
VisaInstrumentA driver for Basel Preamp’s (SP983a) Remote Instrument - Model SP983a.
- Parameters:
name – name for your instrument driver instance
address – address of the connected remote controller of basel preamp
input_offset_voltage – (Optional) A source input offset voltage parameter. The range for input is -10 to 10 Volts and it is user’s responsibility to ensure this. This source parameter is used to set offset voltage parameter of the preamp and the source parameter should represent a voltage source that is connected to the “Offset Input Voltage” connector of the SP983C.
**kwargs – Forwarded to base class.
Attributes:
default_terminatorThe default terminator to use if the terminator is not specified when creating the instrument.
gainParameter gain
fcutParameter fcut
overload_statusParameter overload_status
offset_voltageParameter offset_voltage
Methods:
get_idn()Parse a standard VISA
*IDN?response into an ID dict.- default_terminator: str | None = '\r\n'¶
The default terminator to use if the terminator is not specified when creating the instrument. None means use the default terminator from PyVisa.
- gain: Parameter = self.add_parameter( "gain", label="Gain", unit="V/A", set_cmd=self._set_gain, get_cmd=self._get_gain, vals=vals.Enum(1e5, 1e6, 1e7, 1e8, 1e9), )¶
Parameter gain
- fcut: Parameter = self.add_parameter( "fcut", unit="Hz", label="Filter Cut-Off Frequency", get_cmd=self._get_filter, get_parser=self._parse_filter_value, set_cmd=self._set_filter, val_mapping={ 30: "30", 100: "100", 300: "300", 1000: "1k", 3000: "3k", 10e3: "10k", 30e3: "30k", 100e3: "100k", 1e6: "FULL", }, )¶
Parameter fcut
- overload_status: Parameter = self.add_parameter( "overload_status", label="Overload Status", set_cmd=False, get_cmd="GET O" )¶
Parameter overload_status
- offset_voltage: DelegateParameter = self.add_parameter( "offset_voltage", label="Offset Voltage for SP983C", unit="V", vals=vals.Numbers(-0.1, 0.1), scale=100, source=input_offset_voltage, parameter_class=DelegateParameter, )¶
Parameter offset_voltage
- 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.
- visa_handle: pyvisa.resources.MessageBasedResource = visa_handle¶
The VISA resource used by this instrument.
- 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
InstrumentModuleof this instrument Usually populated viaadd_submodule().
- log: InstrumentLoggerAdapter = get_instrument_logger(self, __name__)¶
- class qcodes.instrument_drivers.basel.BaselSP983c(name: str, input_offset_voltage: Parameter | None = None, **kwargs: Unpack[InstrumentBaseKWArgs])[source]¶
Bases:
BaselSP983A virtual driver for the Basel SP 983c current to voltage converter.
This driver supports both the SP 983 and SP 983c models. These differ only in their handling of input offset voltage. It is the responsibility of the user to capture the input offset, (from the voltage supply) and compensate that as needed for SP 983. For SP 983c model, ‘input_offset_voltage’ argument can be used to set up offset (This doesn’t work for SP 983c01 model).
Note that, as this is a purely virtual driver, there is no support for the remote control interface (SP 983a). It is the responsibility of the user to ensure that values set here are in accordance with the values set on the instrument.
- Parameters:
name
input_offset_voltage – (Optional) A source input offset voltage parameter. The range for input is -10 to 10 Volts and it is user’s responsibility to ensure this. This source parameter is used to set offset voltage parameter of the preamp and the source parameter should represent a voltage source that is connected to the “Offset Input Voltage” connector of the SP983C.
Methods:
get_idn()Parse a standard VISA
*IDN?response into an ID dict.- 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.