MainLaser

class lsst.ts.tunablelaser.MainLaser(csc, simulation_mode=False, encoding='ascii', terminator=b'\x03')

Bases: Laser

The class that implements the TunableLaser component.

Parameters:
cscLaserCSC

The CSC object.

simulation_modebool

A flag which tells the component to initialize into simulation mode or not.

encodingstr

The type of encoding to use.

terminatorbytes

The terminating characters for messages sent/received.

Attributes:
laser_idint

The ID of the laser

cscLaserCSC

Reference to the CSC object.

cpu8000CPU8000

Controls the CPU8000 laser module.

m_cpu800MCPU800

Controls the M_CPU800 laser module.

llpmkuLLPMKU

Controls the llPKMu laser module.

maxi_opgMaxiOPG

Controls the MaxiOPG laser module.

tk6TK6

Controls the TK6 laser module.

hv40wHV40W

Controls the HV40W laser module.

delay_linDelayLin

Controls the DelayLin laser module.

mini_opgMiniOPG

Controls the MiniOPG laser module.

ldco48bpLDCO48BP

Controls the LDCO48BP laser module.

m_ldco48MLDCO48

Controls the LDCO48 laser module.

laser_warmup_delayint

The warmup delay before stating that the laser is propagating.

lockasyncio.Lock

Lock the read/write operation.

Attributes Summary

connected

Is the laser connected?

is_propagating

Is the laser propagating?

temperature

The temperature sensors.

wavelength

The wavelength of the laser.

Methods Summary

change_wavelength(wavelength)

Change the wavelength of the laser.

clear_fault()

Clear the fault state of the laser.

configure(config)

Set the configuration for the TunableLaser.

connect()

Connect to the laser.

disconnect()

Disconnect from the laser.

read_all_registers()

Publish the module's registers' values.

set_burst_count(count)

Set the burst count of the laser.

set_burst_mode(count)

Set the propagation mode to pulse the laser at regular intervals.

set_continuous_mode()

Set the propagation mode to continuously pulse the laser.

set_output_energy_level(output_energy_level)

Set the output energy level of the laser.

start_propagating(data)

Start propagating the beam of the laser.

stop_propagating()

Stop propagating the beam of the laser

trigger_burst()

Trigger a burst.

Attributes Documentation

connected

Is the laser connected?

is_propagating
temperature
wavelength

Methods Documentation

async change_wavelength(wavelength)

Change the wavelength of the laser.

Parameters:
wavelengthfloat

The wavelength to change to.

Units:

nanometers

async clear_fault()

Clear the fault state of the laser.

async configure(config)

Set the configuration for the TunableLaser.

async connect()

Connect to the laser.

async disconnect()

Disconnect from the laser.

async read_all_registers()

Publish the module’s registers’ values.

async set_burst_count(count)

Set the burst count of the laser.

Parameters:
countint

The amount to pulse the laser.

async set_burst_mode(count)

Set the propagation mode to pulse the laser at regular intervals.

Parameters:
countint

The amount of times to pulse the laser. Range is from 1 to 50000.

Raises:
ValueError

Raised when the count parameter falls outside of the accepted range.

async set_continuous_mode()

Set the propagation mode to continuously pulse the laser.

async set_output_energy_level(output_energy_level)

Set the output energy level of the laser.

Parameters:
output_energy_levelstr, {OFF,Adjust,MAX}

The energy level to set the laser to.

  • OFF: Output energy is off.

  • Adjust: A mode for calibrating the laser.

  • MAX: The maximum energy output of the laser.

async start_propagating(data)

Start propagating the beam of the laser.

async stop_propagating()

Stop propagating the beam of the laser

async trigger_burst()

Trigger a burst.

Raises:
ValueError

Raised when mode parameter is not in list of accepted values.