herosdevices.hardware.toptica.dlcpro

HEROS implementation of lasers controlled by the Toptica DLC PRO laser driver.

Module Contents

class herosdevices.hardware.toptica.dlcpro.DLCCommon(address: str, frequency: float, power: float | None, observables: dict | None = None, **kwargs)[source]

Bases: herosdevices.interfaces.atomiq.LaserSource

Common baseclass for the Toptica DLC Pro laser driver.

Do not use directly, use one of the abstracted laser drivers like DLPro.

system_health: bool

Health status of the laser 0 if healthy, 1 if unhealthy system-health

emission_status: bool

Emission status of the laser 0 if off, 1 if on

observables
connection
get_power() float[source]

Get the (user defined) power of the laser (W).

get_frequency() float[source]

Get the (user defined) frequency of the laser (Hz).

class herosdevices.hardware.toptica.dlcpro.DLPro(laser_num: int = 1, *args, **kwargs)[source]

Bases: DLCCommon

Driver for Toptica DL Pro laser.

Parameters:
  • laser_num – Number of the laser in a single dlcpro. Relevant for the dual or quad laser DLC options.

  • lock_option (bool) – If the laser has the lock option installed.

lock_status

Status of the lock (if lock_option installed) laserx:dl:lock:state

laser_health: bool

Health status laserx:health

set_current: float

Set diode Current (mA) laserx:dl:cc:current-set

actual_current: float

Actual diode Current (mA) laserx:dl:cc:current-act

set_temperature: float

Set diode Temperature (°C) laserx:dl:tc:temp-set

actual_temperature: float

Actual diode Temperature (°C) laserx:dl:tc:temp-act

set_piezo_voltage: float

Set piezo voltage (V) laserx:dl:pc:voltage-set

actual_piezo_voltage: float

Actual piezo voltage (V) laserx:dl:pc:voltage-act

diode_ontime: float

Diode on time (s) laserx:dl:ontime

internal_pd: float

Internal PD laserx:dl:cc:pd

system_health: bool

Health status of the laser 0 if healthy, 1 if unhealthy system-health

emission_status: bool

Emission status of the laser 0 if off, 1 if on

observables
connection
get_power() float

Get the (user defined) power of the laser (W).

get_frequency() float

Get the (user defined) frequency of the laser (Hz).

class herosdevices.hardware.toptica.dlcpro.BoosTAPro(address: str, frequency: float, power: float | None, observables: dict | None = None, **kwargs)[source]

Bases: DLCCommon

Driver for Toptica BoosTAPro tapered amplifier.

Parameters:

laser_num – Number of the laser in a single dlcpro. Relevant for the dual or quad laser DLC options.

amp_set_current

Set amplifier Current (mA) laserx:amp:cc:current-set

amp_actual_current

Actual amplifier current (mA) laserx:amp:cc:current-act

amp_set_temperature

Set amplifier temperature (°C) laserx:amp:tc:temp-set

amp_actual_temperature

Actual amplifier temperature (°C) laserx:amp:tc:temp-act

amp_ontime

Run hours of the amplifier (s) laserx:amp:ontime

amp_emission

emission status of the amplifier laserx:amp:cc:emission

system_health: bool

Health status of the laser 0 if healthy, 1 if unhealthy system-health

emission_status: bool

Emission status of the laser 0 if off, 1 if on

observables
connection
get_power() float

Get the (user defined) power of the laser (W).

get_frequency() float

Get the (user defined) frequency of the laser (Hz).

class herosdevices.hardware.toptica.dlcpro.TAPro(power: float | None = None, **kwargs)[source]

Bases: DLPro, BoosTAPro

Driver for Toptica TAPro laser system.

Parameters:

laser_num – Number of the laser in a single dlcpro. Relevant for the dual DLC options.

amp_seed_power

Seed power at the amplifier stage (mW) laserx:amp:pd:seed:power

amp_output_power

Output power at the amplifier stage (mW) laserx:amp:pd:amp:power

get_power() float[source]

Get the power of the laser (W) laserx:amp:pd:amp:power or user defined override.

laser_health: bool

Health status laserx:health

set_current: float

Set diode Current (mA) laserx:dl:cc:current-set

actual_current: float

Actual diode Current (mA) laserx:dl:cc:current-act

set_temperature: float

Set diode Temperature (°C) laserx:dl:tc:temp-set

actual_temperature: float

Actual diode Temperature (°C) laserx:dl:tc:temp-act

set_piezo_voltage: float

Set piezo voltage (V) laserx:dl:pc:voltage-set

actual_piezo_voltage: float

Actual piezo voltage (V) laserx:dl:pc:voltage-act

diode_ontime: float

Diode on time (s) laserx:dl:ontime

internal_pd: float

Internal PD laserx:dl:cc:pd

system_health: bool

Health status of the laser 0 if healthy, 1 if unhealthy system-health

emission_status: bool

Emission status of the laser 0 if off, 1 if on

observables
connection
get_frequency() float

Get the (user defined) frequency of the laser (Hz).

amp_set_current

Set amplifier Current (mA) laserx:amp:cc:current-set

amp_actual_current

Actual amplifier current (mA) laserx:amp:cc:current-act

amp_set_temperature

Set amplifier temperature (°C) laserx:amp:tc:temp-set

amp_actual_temperature

Actual amplifier temperature (°C) laserx:amp:tc:temp-act

amp_ontime

Run hours of the amplifier (s) laserx:amp:ontime

amp_emission

emission status of the amplifier laserx:amp:cc:emission

class herosdevices.hardware.toptica.dlcpro.TASHGPro(power: float | None = None, **kwargs)[source]

Bases: TAPro

Driver for Toptica TASHGPro second harmonic doubled laser system.

shg_set_temperature

SHG crystal set temperature (°C) laserx:nlo:shg:tc:temp-set

shg_actual_temperature

SHG crystal actual temperature (°C) laserx:nlo:shg:tc:temp-act

shg_output_power

Output power of the SHG stage (mW) laserx:nlo:pd:shg:power

shg_lock_status

SHG lock state (True/False) laserx:nlo:shg:lock:lock-enabled

get_power() float[source]

Get the power of the laser (W) laserx:nlo:pd:shg:power or user defined override.

amp_seed_power

Seed power at the amplifier stage (mW) laserx:amp:pd:seed:power

amp_output_power

Output power at the amplifier stage (mW) laserx:amp:pd:amp:power

laser_health: bool

Health status laserx:health

set_current: float

Set diode Current (mA) laserx:dl:cc:current-set

actual_current: float

Actual diode Current (mA) laserx:dl:cc:current-act

set_temperature: float

Set diode Temperature (°C) laserx:dl:tc:temp-set

actual_temperature: float

Actual diode Temperature (°C) laserx:dl:tc:temp-act

set_piezo_voltage: float

Set piezo voltage (V) laserx:dl:pc:voltage-set

actual_piezo_voltage: float

Actual piezo voltage (V) laserx:dl:pc:voltage-act

diode_ontime: float

Diode on time (s) laserx:dl:ontime

internal_pd: float

Internal PD laserx:dl:cc:pd

system_health: bool

Health status of the laser 0 if healthy, 1 if unhealthy system-health

emission_status: bool

Emission status of the laser 0 if off, 1 if on

observables
connection
get_frequency() float

Get the (user defined) frequency of the laser (Hz).

amp_set_current

Set amplifier Current (mA) laserx:amp:cc:current-set

amp_actual_current

Actual amplifier current (mA) laserx:amp:cc:current-act

amp_set_temperature

Set amplifier temperature (°C) laserx:amp:tc:temp-set

amp_actual_temperature

Actual amplifier temperature (°C) laserx:amp:tc:temp-act

amp_ontime

Run hours of the amplifier (s) laserx:amp:ontime

amp_emission

emission status of the amplifier laserx:amp:cc:emission

herosdevices.hardware.toptica.dlcpro.DEFAULT_QUERIES = [['set current', 'dl.cc.current_set', 'mA'], ['actual current', 'dl.cc.current_act', 'mA'],...
herosdevices.hardware.toptica.dlcpro.dlcproorders = ('emission_button_enabled', 'interlock_open', 'frontkey_locked', 'emission', 'system_health',...

Define parameters of the DLCPro and the laser in order to build another function call later

class herosdevices.hardware.toptica.dlcpro.DlcProSource(ip: str, laser: str = 'laser1', queries: list[list[str]] = DEFAULT_QUERIES)[source]

Reading Toptica DLC Pro parameters via ethernet.

sdk_client
sdk_dlcpro
ip
laser = 'laser1'
queries = [['set current', 'dl.cc.current_set', 'mA'], ['actual current', 'dl.cc.current_act', 'mA'],...
teardown() None[source]

Cleanup at the end.

property session

Return a dlc objects and connect if necessary.