herosdevices.hardware.toptica.dlcpro - Heros Devices 0.11.1 documentation

Skip to content
Back to top
View this page

# 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)

  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

    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.DLPro(laser_num: int = 1, *args, **kwargs)

  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)

  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)

  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

    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)

  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

    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)

  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

    Cleanup at the end.

  property session

    Return a dlc objects and connect if necessary.