herosdevices.interfaces.atomiq
==============================

.. py:module:: herosdevices.interfaces.atomiq

.. autoapi-nested-parse::

   Translation/implementation interfaces for HEROized atomiq devices.





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

.. py:class:: AtomiqInterface

   Bases: :py:obj:`herosdevices.interfaces.Interface`


   This interface defines the necessary methods for a HERO to seamlessly being converted into an atomiq component.

   The methods that need to be implemented are listed in the class-level list `_atomiq_methods`. If a subclass does
   not implement one of these methods a NotImplementedError is raised.

   Important: The methods given here are just the minimal set. Any other method of the atomiq component can be
              overloaded as well. In particular, if your hardware supports ramping or arbitrary functions,
              implement the `ramp()` and/or `arb()` methods in your subclass.


.. py:class:: Switch

   Bases: :py:obj:`AtomiqInterface`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.primitives.Switchable`.


.. py:class:: Parametrizable

   Bases: :py:obj:`AtomiqInterface`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.primitives.Parametrizable`.


   .. py:method:: set_parameter(value: float, channel: str | None = None) -> None

      Set parameter with given name to given value.



.. py:class:: Measurable

   Bases: :py:obj:`AtomiqInterface`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.primitives.Measurable`.


.. py:class:: RFSource

   Bases: :py:obj:`Parametrizable`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.rfsource.RFSource`.


   .. py:attribute:: frequency
      :type:  float
      :value: 1000000.0



   .. py:attribute:: amplitude
      :type:  float
      :value: 0.1



   .. py:attribute:: phase
      :type:  float
      :value: 0.0



   .. py:attribute:: freq_max
      :type:  float
      :value: 100000000.0



   .. py:attribute:: freq_min
      :type:  float
      :value: 100000.0



   .. py:attribute:: amp_max
      :type:  float
      :value: 1.0



   .. py:attribute:: amp_min
      :type:  float
      :value: 0.0



   .. py:attribute:: default_ramp_steps
      :type:  int
      :value: 30



   .. py:attribute:: blind
      :type:  bool
      :value: False



   .. py:method:: set_parameter(value: float, channel: str | None = None) -> None

      Set parameter with given name to given value.



.. py:class:: VoltageSource

   Bases: :py:obj:`Parametrizable`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.voltagesource.VoltageSource`.


   .. py:attribute:: min_voltage
      :type:  float


   .. py:attribute:: max_voltage
      :type:  float


   .. py:attribute:: default_ramp_steps
      :type:  int
      :value: 30



   .. py:attribute:: blind
      :type:  bool
      :value: False



   .. py:method:: set_parameter(value: float, channel: str | None = None) -> None

      Set parameter with given name to given value.



.. py:class:: CurrentSource

   Bases: :py:obj:`Parametrizable`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.currentsource.CurrentSource`.


   .. py:attribute:: min_current
      :type:  float


   .. py:attribute:: max_current
      :type:  float


   .. py:attribute:: default_ramp_steps
      :type:  int
      :value: 30



   .. py:attribute:: blind
      :type:  bool
      :value: False



   .. py:method:: set_parameter(value: float, channel: str | None = None) -> None

      Set parameter with given name to given value.



.. py:class:: ADC

   Bases: :py:obj:`AtomiqInterface`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.adc.ADC`.


.. py:class:: ADCChannel

   Bases: :py:obj:`AtomiqInterface`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.adc.ADCChannel`.


.. py:class:: DAC

   Bases: :py:obj:`AtomiqInterface`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.voltagesoure.DAC`.


.. py:class:: DACChannel

   Bases: :py:obj:`VoltageSource`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.voltagesource.DACChannel`.


   .. py:attribute:: min_voltage
      :type:  float


   .. py:attribute:: max_voltage
      :type:  float


   .. py:attribute:: default_ramp_steps
      :type:  int
      :value: 30



   .. py:attribute:: blind
      :type:  bool
      :value: False



   .. py:method:: set_parameter(value: float, channel: str | None = None) -> None

      Set parameter with given name to given value.



.. py:class:: Camera

   Bases: :py:obj:`AtomiqInterface`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.optoelectronics.camera.Camera`.


.. py:class:: LaserSource

   Bases: :py:obj:`AtomiqInterface`


   HERO implementation of :external+atomiq:py:class:`atomiq.components.laser.LaserSource`.


