herosdevices.hardware.aimtti.pl_series ====================================== .. py:module:: herosdevices.hardware.aimtti.pl_series .. autoapi-nested-parse:: Device driver for AimTTI PL series power supplies. Module Contents --------------- .. py:class:: GenericPSU(address: str, port: int = 9221, timeout: float = 1.0) Bases: :py:obj:`herosdevices.core.templates.SerialDeviceTemplate` Device driver for a generic network capable AimTTI Power Supplies. :param address: IP address of the device. Example: "192.168.1.20" :param port: Socket port of the device. Default (9221) should be correct for all PSUs. :param timeout: timeout for read operations. .. py:method:: enable_all_outputs(enable: bool = True) -> None Enable or disable all outputs simultaneously. :param enable: True to enable all outputs, False to disable all outputs. .. py:method:: local() -> None Switch the device to local control mode. .. py:method:: read(*args, **kwargs) -> str | None Read data from the device connection. Used for access from the channel classes like :py:class:`PLSeriesChannel`. Should not be used directly. .. py:method:: write(*args, **kwargs) -> str | None Write data to the device connection. Used for access from the channel classes like :py:class:`PLSeriesChannel`. Should not be used directly. .. py:attribute:: address .. py:attribute:: connection .. py:class:: PLSeriesChannel(host_device: GenericPSU, voltage_limits: tuple[float, float], current_limits: tuple[float, float], channel: int = 1, **_kwargs) Bases: :py:obj:`herosdevices.interfaces.atomiq.VoltageSource`, :py:obj:`herosdevices.interfaces.atomiq.CurrentSource`, :py:obj:`herosdevices.interfaces.atomiq.Switch` A single channel of a PL Series power supply. This class provides an :py:class:`herosdevices.interfaces.atomiq.VoltageSource` compatible interface to control a single channel of a PL Series power supply. .. note:: This class does not directly connect to the hardware but to another object given by the host_device argument which can also be a HERO running on another machine. It can be used to provide a universal interface which does not require setting a channel for every operation. :param host_device: The host :py:class:`GenericPSU` device. :param voltage_limits: Voltage limits of the channel. Can be used to set artificial guard rails. :param current_limits: Current limits of the channel. Can be used to set artificial guard rails. :param channel: The channel to control (1, 2, or 3) .. py:attribute:: connection .. py:attribute:: channel :type: int :value: 1 .. py:method:: on() -> None Enable the output for this channel. .. py:method:: off() -> None Disable the output for this channel. .. py:method:: is_on() -> bool Check if the output for this channel is enabled. .. 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:attribute:: min_current :type: float .. py:attribute:: max_current :type: float