herosdevices.hardware.toptica.clock_laser
=========================================

.. py:module:: herosdevices.hardware.toptica.clock_laser

.. autoapi-nested-parse::

   Drivers for the Toptica Clock Laser System (CLS) modules.





Module Contents
---------------

.. py:class:: Bridge(address: str, freq_max: float, freq_min: float, timeout: float = 1.0)

   Bases: :py:obj:`herosdevices.core.templates.SerialDeviceTemplate`


   Driver for Toptica Clock Laser CLS Bridge module.

   This class controls the CLS Bridge AOM (Acousto-Optic Modulator) module for Toptica Clock Lasers.
   The CLS Bridge allows precise control of the laser frequency through RF signal modulation.

   .. attribute:: freq_max

      Maximum frequency limit of the AOM in Hz (RF signal).

      :type: float

   .. attribute:: freq_min

      Minimum frequency limit of the AOM in Hz (RF signal).

      :type: float

   .. note::

      All frequencies are specified in terms of the RF signal, the diffracted light experiences double the
      frequency shift due to the double-pass configuration.


   .. py:attribute:: freq_max
      :type:  float


   .. py:attribute:: freq_min
      :type:  float


   .. py:attribute:: frequency_slope
      :type:  float


   .. py:attribute:: status
      :type:  str


   .. py:property:: frequency
      :type: float


      Get the current frequency setting in Hz (RF signal).

      :returns: Current frequency in Hz.
      :rtype: float


   .. py:method:: ramp_to(frequency_end: float, slope: float = 1000000.0) -> float

      Ramp the frequency to a target value with a specified slope.

      This method changes the frequency gradually according to the specified slope.

      :param frequency_end: Target frequency in Hz (RF signal). Must be within [freq_min, freq_max].
      :param slope: Ramping slope in Hz/s (default: 1 MHz/s).

      :returns: Time required for the ramp to complete in seconds.
      :rtype: float

      .. note::

         The returned value is the calculated time for the ramp to complete. It is the
         responsibility of the caller to wait for this duration before assuming the ramp
         is complete. The actual ramping is handled by the device hardware.



   .. py:method:: get_status_description() -> str

      Get the detailed status description of the FNC Bridge.

      :returns: Detailed status description from the device.
      :rtype: str



   .. py:attribute:: address


   .. py:attribute:: connection


