Basel Drivers¶
Classes:
|
A driver for Basel Preamp's (SP983a) Remote Instrument - Model SP983a. |
|
A virtual driver for the Basel SP 983c current to voltage converter. |
|
A virtual driver for the Basel SP 983 current to voltage converter. |
- class qcodes.instrument_drivers.basel.BaselSP983a(name: str, address: str, input_offset_voltage: Parameter | None = None, **kwargs: Unpack[VisaInstrumentKWArgs])[source]¶
Bases:
VisaInstrument
A 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_terminator
The default terminator to use if the terminator is not specified when creating the instrument.
gain
Parameter gain
fcut
Parameter fcut
overload_status
Parameter overload_status
offset_voltage
Parameter 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
InstrumentModule
of 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:
BaselSP983
A 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.
- class qcodes.instrument_drivers.basel.BaselSP983(name: str, input_offset_voltage: Parameter | None = None, **kwargs: Unpack[InstrumentBaseKWArgs])[source]¶
Bases:
Instrument
A 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:
gain
Parameter gain
fcut
Parameter fcut
offset_voltage
Parameter 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
InstrumentModule
of 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.