photons.equipment.highfinesse module

Communicate with a Wavemeter or Laser Spectrum Analyser from HighFinesse.

class photons.equipment.highfinesse.WLMData64(record)[source]

Bases: Connection

Wrapper around the WLMData32 class.

Parameters:

record (EquipmentRecord) – The equipment record.

disconnect()[source]

Disconnect from the device.

Return type:

None

class photons.equipment.highfinesse.Range(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Wavelength ranges that are supported.

nm245_325 = 0
nm320_420 = 1
nm410_610 = 2
nm600_1190 = 3
class photons.equipment.highfinesse.RangeModel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]

Bases: IntEnum

Range models that are supported.

OLD = 65535
ORDER = 65534
WAVELENGTH = 65533
class photons.equipment.highfinesse.HighFinesse(record, **kwargs)[source]

Bases: BaseEquipment

Communicate with a Wavemeter or Laser Spectrum Analyser from HighFinesse.

Parameters:
  • record (EquipmentRecord) – The equipment record.

  • **kwargs – Keyword arguments. Can be specified as attributes of an XML element in a configuration file (with the tag of the element equal to the alias of record).

connection: WLMData32
class Range(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Wavelength ranges that are supported.

nm245_325 = 0
nm320_420 = 1
nm410_610 = 2
nm600_1190 = 3
class RangeModel(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntEnum

Range models that are supported.

OLD = 65535
ORDER = 65534
WAVELENGTH = 65533
get_analysis_mode()[source]

Whether analysis mode is enabled or disabled.

Return type:

bool

get_auto_exposure_mode()[source]

Whether auto-exposure mode is enabled or disabled.

Return type:

bool

get_exposure_time()[source]

Returns the exposure time, in milliseconds.

Return type:

int

get_pattern_data(index=0, timeout=10)[source]

Returns the interferometer pattern data.

If this class is running as a Service, a list is returned.

Parameters:
  • index (int) –

    The index of the data type to receive.

    • 0 - Fizeau interferometers or diffraction grating

    • 1 - Additional long interferometer or grating analyzing versions (spectrum analysis)

    • 2 - Fizeau interferometers that support double pulses

    • 3 - Additional interferometer for second pulse

  • timeout (float) – The number of seconds to wait for the pattern data to be available.

Return type:

ndarray | list[int]

get_pulse_mode()[source]

Returns whether pulse mode is enabled (False=CW, True=Pulsed).

Return type:

bool

get_wavelength_range()[source]

Returns the currently-selected wavelength range or range model.

Return type:

Range | RangeModel | int

get_wide_mode()[source]

Returns the measurement precision mode (False=fine, True=wide).

Return type:

bool

linewidth(in_air=True)[source]

Returns the linewidth, in nm.

Parameters:

in_air (bool) – Whether to return the linewidth value in air (True) or vacuum (False).

Return type:

float

set_analysis_mode(mode)[source]

Whether to enable or disable analysis mode.

Parameters:

mode (bool) – Enable (True) or disable (False) analysis mode.

Return type:

None

set_auto_exposure_mode(mode)[source]

Whether to enable or disable auto-exposure mode.

Parameters:

mode (bool) – Enable (True) or disable (False) auto-exposure mode.

Return type:

None

set_exposure_time(ms)[source]

Set the exposure time, in milliseconds.

This method will disable auto-exposure mode.

Parameters:

ms (int) – The exposure time, in milliseconds.

Return type:

None

set_linewidth_mode(mode)[source]

Whether to enable or disable linewidth mode.

Parameters:

mode (bool) – Enable (True) or disable (False) linewidth mode.

Return type:

None

set_pulse_mode(mode)[source]

Set the pulse mode.

Parameters:

mode (int | bool) – CW=0|False, Pulsed=1|True

Return type:

None

set_wavelength_range(value)[source]

Set the wavelength range.

Important

The set_wavelength_range_model() must be called before this method is called in order to select the range model.

Parameters:

value (Range | int) – If the range model is RangeModel.ORDER, the wavelength range is set by a Range enum value. If the range model is RangeModel.WAVELENGTH, the wavelength range is set by a wavelength value, in nm, as an int data type.

Return type:

None

set_wavelength_range_model(model)[source]

Set the wavelength range model.

Parameters:

model (RangeModel | int) – The wavelength range model.

Return type:

None

set_wide_mode(mode)[source]

Set the measurement precision mode.

Parameters:

mode (bool) – The precision mode (e.g., False=fine, True=wide).

Return type:

None

start_measurement()[source]

Start measurements.

Return type:

None

stop_measurement()[source]

Stop all measurements.

Return type:

None

temperature()[source]

Get the temperature inside the optical unit, in Celsius.

Return type:

float

wait(stable, timeout=30)[source]

Wait for a valid wavelength to be measured and for the exposure time to be stable.

Parameters:
  • stable (float) – The number of seconds the device must be stable for.

  • timeout (float) – The maximum number of seconds to wait.

Return type:

None

wavelength(in_air=True)[source]

Returns the wavelength, in nanometers.

Parameters:

in_air (bool) – Whether to return the wavelength in air (True) or vacuum (False).

Return type:

float

static wavelength_ranges()[source]

Returns the available wavelength ranges for the Laser Spectrum Analyser.

Return type:

dict[str, int]

static wavelength_range_models()[source]

Returns the available wavelength range models for the Laser Spectrum Analyser.

Return type:

dict[str, int]