qcodes_contrib_drivers.drivers.OxfordInstruments package

Submodules

qcodes_contrib_drivers.drivers.OxfordInstruments.ILM200 module

class qcodes_contrib_drivers.drivers.OxfordInstruments.ILM200.OxfordInstruments_ILM200(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

This is the qcodes driver for the Oxford Instruments ILM 200 Helium Level Meter.

Usage: Initialize with <name> = instruments.create(‘name’, ‘OxfordInstruments_ILM200’, address=’<Instrument address>’) <Instrument address> = ASRL4::INSTR

Note: Since the ISOBUS allows for several instruments to be managed in parallel, the command which is sent to the device starts with ‘@n’, where n is the ISOBUS instrument number.

__init__(name, address, number=1, **kwargs)[source]

Initializes the Oxford Instruments ILM 200 Helium Level Meter.

Parameters:
  • name (str) – name of the instrument

  • address (str) – instrument address

  • number (int) – ISOBUS instrument number (number=1 is specific to the ILM in F008)

Returns:

None

close()[source]

Safely close connection

get_all()[source]

Reads all implemented parameters from the instrument, and updates the wrapper.

get_idn()[source]

Overrides the function of Instrument since ILM does not support *IDN?

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.

local()[source]

Set control to local & locked

remote()[source]

Set control to remote & locked

set_remote_status(mode)[source]

Set remote control status.

Parameters:
  • mode (int)

  • 0 – “Local and locked”,

  • 1 – “Remote and locked”,

  • 2 – “Local and unlocked”,

  • 3 – “Remote and unlocked”,

Returns:

None

set_to_fast()[source]

Set helium meter channel 1 to fast mode.

set_to_slow()[source]

Set helium meter channel 1 to slow mode.

qcodes_contrib_drivers.drivers.OxfordInstruments.IPS120 module

class qcodes_contrib_drivers.drivers.OxfordInstruments.IPS120.OxfordInstruments_IPS120(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

This is the driver for the Oxford Instruments IPS 120 Magnet Power Supply

The IPS 120 can connect through both RS232 serial as well as GPIB. The commands sent in both cases are similar. When using the serial connection, commands are prefaced with ‘@n’ where n is the ISOBUS number.

__init__(name, address, use_gpib=False, number=2, **kwargs)[source]

Initializes the Oxford Instruments IPS 120 Magnet Power Supply.

Parameters:
  • name (str) – name of the instrument

  • address (str) – instrument address

  • use_gpib (bool) – whether to use GPIB or serial

  • number (int) – ISOBUS instrument number. Ignored if using GPIB.

close()[source]

Safely close connection

examine()[source]

Examine the status of the device

get_all()[source]

Reads all implemented parameters from the instrument, and updates the wrapper.

get_idn()[source]

Overides the function of Instrument since IPS120 does not support *IDN?

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.

heater_off()[source]

Switch the heater off

heater_on()[source]

Switch the heater on, with PSU = Magnet current check

hold()[source]

Set the device activity to Hold

identify()[source]

Identify the device

leave_persistent_mode()[source]

Read out persistent current, match the current in the leads to that current and switch on heater

local()[source]

Set control to local and unlocked

remote()[source]

Set control to remote and unlocked

run_to_field(field_value)[source]

Go to field value

Parameters:

field_value (float) – the magnetic field value to go to in Tesla

run_to_field_wait(field_value)[source]

Go to field value and wait until it’s done sweeping.

Parameters:

field_value (float) – the magnetic field value to go to in Tesla

set_persistent()[source]

Puts magnet into persistent mode

Note: After turning of the switch heater we will wait for additional 20 seconds before we put the current to zero. This is done to make sure that the switch heater is cold enough and becomes superconducting.

to_setpoint()[source]

Set the device activity to “To set point”. This initiates a sweep.

to_zero()[source]

Set the device activity to “To zero”. This sweeps te magnet back to zero.

qcodes_contrib_drivers.drivers.OxfordInstruments.Proteox module

oi.DECS driver for Proteox dilution refrigerator systems

class qcodes_contrib_drivers.drivers.OxfordInstruments.Proteox.MagnetCurrentParameters(name, instrument, **kwargs: Any)[source]

Bases: MultiParameter

Parameter for retrieving X, Y, and Z components of the magnet current.

Retrieve all three parameters via instrument.Magnet_Current_Vector()

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

Gets the values of magnet current from the instrument

set_raw(value) None[source]

Unused overide of base class function

class qcodes_contrib_drivers.drivers.OxfordInstruments.Proteox.MagneticFieldParameters(name, instrument, **kwargs: Any)[source]

Bases: MultiParameter

Parameter for retrieving X, Y, and Z components of the magnetic field.

To Retrieve all three parameters via instrument.Magnetic_Field_Vector()

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

Gets the values of magnetic field from the instrument

set_raw(value) None[source]

Unused overide of base class function

class qcodes_contrib_drivers.drivers.OxfordInstruments.Proteox.oiDECS(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

Main implementation of the oi.DECS driver

ask(cmd: str) str[source]
Parameters:

cmd – the command to send to the instrument

close() None[source]

Disconnect and irreversibly tear down the instrument.

close_switch()[source]

VRM utility function

enter_persistent_mode()[source]

VRM utility function

hold_field()[source]

VRM utility function

leave_persistent_mode()[source]

VRM utility function

mixing_chamber_heater_off()[source]

Function to turn off MC heater

open_switch()[source]

VRM utility function

publish(msg, msg_group)[source]

Function to publish an ‘event’

set_magnet_state(state)[source]

Function to set VRM state target

set_magnet_target(coord, x, y, z, sweep_mode, sweep_rate, persist_on_completion)[source]

Function to set field vector target

set_output_current_target(x, y, z, sweep_mode, sweep_rate, persist_on_completion)[source]

Function to set current vector target

still_heater_off()[source]

Function to turn off still heater

sweep_field()[source]

VRM utility function

sweep_psu_output()[source]

VRM utility function

sweep_small_field_step(coord)[source]

Function sweeps a single VRM group. Used for changing the field by values < 100 mA.

wait_until_field_depersisted()[source]

VRM utility function

wait_until_field_persistent()[source]

VRM utility function

wait_until_field_stable()[source]

VRM utility function

wait_until_temperature_stable_std_control(stable_mean, stable_std, time_between_readings)[source]

Mixing chamber temperature control utility function

Takes a moving average of 30 temperature readings and finds the mean and the std of the last 30 readings, until the difference between the mean and target value is below ‘stable_mean’ and the standard deviation is below ‘stable_std’.

Parameters:
  • stable_mean – float - difference between the mean and target value to be achieved by the last 30 temperature readings

  • stable_std – float - standard deviation to be achieved by the last 30 temperature readings

  • time_between_readings – float - time between taking temperature readings

qcodes_contrib_drivers.drivers.OxfordInstruments.Triton module

class qcodes_contrib_drivers.drivers.OxfordInstruments.Triton.Triton(*args: Any, **kwargs: Any)[source]

Bases: Instrument

This is the QCoDeS python driver to extract the temperature and pressure from a Oxford Triton fridge.

__init__(name: str, file_path: str, converter_path: str, threshold_temperature: float = 4, conversion_timer: float = 30, magnet: bool = False, **kwargs) None[source]

QCoDeS driver for Oxford Triton fridges. ! This driver get parameters from the fridge log files. ! It does not interact with the fridge electronics. Since Oxford fridges use binary format for their log file “vcl”, this driver convert vcl log files into csv files before returning fridge parameters. The conversion is done by using a binary file named “VCL_2_ASCII_CONVERTER.exe” that is provided by Oxford Instrument along with other binaries to handle the fridge log files. You must provide a valid path toward the VCL converter and consequently we advice users to make sure the converter is always reachable by the driver.

Parameters:
  • name – Name of the instrument.

  • file_path – Path of the vcl log file.

  • converter_path – Path of the vcl converter file.

  • threshold_temperature – Threshold temperature of the mixing chamber thermometers. Defaults to 4K. Below, the temperature is read from the RuO2. Above, the temperature is read from the cernox.

  • conversion_timer – Time between two vcl conversions. Defaults to 30s.

  • magnet – Is there a magnet in the fridge. Default True.

get_pressure(channel: str) float[source]

Return the last registered pressure of the channel.

Parameters:

channel – Channel from which the pressure is extracted.

Returns:

Pressure of the channel in Bar.

Return type:

pressure

get_temperature(channel: str) float[source]

Return the last registered temperature of the channel.

Parameters:

channel – Channel from which the temperature is extracted.

Returns:

Temperature of the channel in Kelvin.

Return type:

temperature

vcl2csv() str | None[source]

Convert vcl file into csv file using proprietary binary exe. The executable is called through the python subprocess library. To avoid to frequent file conversion, a timer of self.conversion_timer second is used.

Returns:

The output of the bash command

Return type:

str

qcodes_contrib_drivers.drivers.OxfordInstruments.kelvinox module

class qcodes_contrib_drivers.drivers.OxfordInstruments.kelvinox.OxfordInstruments_Kelvinox_IGH(*args: Any, **kwargs: Any)[source]

Bases: VisaInstrument

This is the python driver for the Oxford Instruments Kelvinox IGH Dilution Refrigerator and Intelligent Dilution Refrigerator Power Supply (IDR PS).

Usage: Initialize with fridge = qcodes_contrib_drivers.drivers.oxford.kelvinox.OxfordInstruments_Kelvinox_IGH(name=’fridge’, address=’ASRL4::INSTR’)

Note: Since the ISOBUS allows for several instruments to be managed in parallel, the command which is sent to the device starts with ‘@n’, where n is the ISOBUS instrument number.

__init__(name, address, number=5, **kwargs)[source]

Initializes the Oxford Instruments Kelvinox IGH Dilution Refrigerator.

Input:

name (string) : name of the instrument address (string) : instrument address number (int) : ISOBUS instrument number

close()[source]

Safely close connection

get_all()[source]

Reads all implemented parameters from the instrument, and updates the wrapper.

get_idn()[source]

Overides the function of Instrument since IPS120 does not support *IDN?

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.

identify()[source]

Identify the device

Returns:

a string of the form 'IGH    Version 3.02 (c) OXFORD 1998\r'

local()[source]

Set control to local and unlocked

remote()[source]

Set control to remote and unlocked

rotate_Nvalve(value)[source]

This set the opening of the stepper valve N. Status should be a percentage.

set_mix_chamber_heater_mode(mode)[source]

0 : off 1 : fixed heater power 2 : temperature control

set_mix_chamber_heater_power_range(mode)[source]

1 : 2uW 2 : 20uW 3 : 200uW 4 : 2mW 5 : 20mW

Module contents