qcodes_contrib_drivers.drivers.Horiba package

Subpackages

Submodules

qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR module

exception qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.SpeError[source]

Bases: Exception

Error raised by the dll.

class qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.DCChannel(parent: InstrumentBase, name: str, cli, handle, motor: int, val_mapping: Mapping[str, Literal[0, 1]] | None = None, metadata: Mapping[Any, Any] | None = None, label: str | None = None)[source]

Bases: MotorChannel

Handles DC motors (with binary positions).

class qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.Dispatcher(cli, handle)[source]

Bases: object

Implements the interface to the motors.

error_check(code: int)[source]
class qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.GratingChannel(parent: HoribaFHR, name: str, cli, handle, motor: int, min_value: int = 0, max_value: int = 9223372036854775807, offset: int = 0, metadata: Mapping[Any, Any] | None = None, label: str | None = None)[source]

Bases: PrecisionMotorChannel

Handles the grating rotation motors of the device.

set_ini_params(phase: Literal[1, 2, 3], min_speed: int = 50, max_speed: int = 600, ramp: int = 600)[source]

Motor initialization parameters.

Parameters:
  • phase ({1, 2, 3}) – Initialization phase.

  • min_speed (int) – Minimal speed

  • max_speed (int) – Maximal speed

  • ramp (int) – Acceleration

property unit: str
class qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.HoribaFHR(*args: Any, **kwargs: Any)[source]

Bases: Instrument

Horiba FHR driver for a 32-bit dll.

This driver uses msl.loadlib to communicate with the 32-bit dll through a 32-bit server from a 64-bit client.

Parameters:
  • dll_dir (path_like) – Directory to search for SpeControl.dll

  • config_file (path_like) – Configuration file (see below)

  • dc_val_mappings (dict) – val_mappings for the DC motors (mirrors). Should be a dict of mappings with integer keys corresponding to the mirror id. For example, for an instrument with only one mirror “Mirror2”, {2: {'front': 0, 'side': 1}}.

Notes

The configuration file should be an ini-like file with sections

  • [Firmware]

  • [Port]

  • [Spectrometer]

  • [Grating1] etc.

  • [Slit1] etc.

  • [Mirror1] etc.

Examples

See docs/examples for an example notebook.

close() None[source]

Irreversibly stop this instrument and free its resources.

Subclasses should override this if they have other specific resources to close.

disconnect()[source]
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.

active_grating = Parameter( 'active_grating', get_cmd=lambda: getattr(self, '_active_grating', None), set_cmd=self._set_active_grating, set_parser=self._parse_grating, label='Active grating', instrument=self )

The currently active grating.

It can be set using either the number of lines (eg 600) or the GratingChannel object itself. If the set value is not the currently active one, the selected grating will be moved to the current one’s position.

class qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.MotorChannel(parent: InstrumentBase, name: str, cli, handle, motor: int, metadata: Mapping[Any, Any] | None = None, label: str | None = None)[source]

Bases: Dispatcher, InstrumentChannel

ABC for the various motors of the device.

get_id() int[source]

Get motor ID.

set_id(i: int)[source]

Set motor ID.

This is the Addr address in LabSpec6.

stop(raise_exception: bool = False)[source]

Stop motor.

Parameters:

raise_exception (bool, default: False) – Raise an ‘errAbort’ exception upon successful stop.

classmethod type() str[source]
class qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.PortChannel(parent: InstrumentBase, name: str, cli, handle, port: int)[source]

Bases: Dispatcher, InstrumentChannel

Manages instrument communication.

set_baud_rate(baud_rate: int = 115200)[source]

Set port baud rate for opened pot. Should be the default.

set_timeout(timeout: int = 90000)[source]

Set timeout in milliseconds.

class qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.PrecisionMotorChannel(parent: InstrumentBase, name: str, cli, handle, motor: int, min_value: int = 0, max_value: int = 9223372036854775807, offset: int = 0, metadata: Mapping[Any, Any] | None = None, label: str | None = None)[source]

Bases: MotorChannel

ABC for the precision motors of the device.

init()[source]

Initialize motor with offset position (optical zero order position in motor steps).

set_setup(min_speed: int = 50, max_speed: int = 600, ramp: int = 650, backlash: int = 500, step: int = 2, reverse: bool = False)[source]

Write motor setup data.

Parameters:
  • min_speed (int) – Minimal speed

  • max_speed (int) – Maximal speed

  • ramp (int) – Acceleration

  • backlash (int) – Backlash (~+-500..2000)

  • step (int) –

    Operation mode:
    • 1: position in motor steps

    • 0, 2, 3 …: position in picometers

  • reverse (bool) –

    Rotation direction:
    • 0: direct

    • 1: inverse

abstract property unit: str
class qcodes_contrib_drivers.drivers.Horiba.Horiba_FHR.SlitChannel(parent: InstrumentBase, name: str, cli, handle, motor: int, min_value: int = 0, max_value: int = 9223372036854775807, offset: int = 0, metadata: Mapping[Any, Any] | None = None, label: str | None = None)[source]

Bases: PrecisionMotorChannel

Handles the linear slit motors of the device.

property unit: str

Module contents