herosdevices.hardware.aimtti.pl_series

Device driver for AimTTI PL series power supplies.

Module Contents

class herosdevices.hardware.aimtti.pl_series.GenericPSU(address: str, port: int = 9221, timeout: float = 1.0)[source]

Bases: herosdevices.core.templates.SerialDeviceTemplate

Device driver for a generic network capable AimTTI Power Supplies.

Parameters:
  • address – IP address of the device. Example: “192.168.1.20”

  • port – Socket port of the device. Default (9221) should be correct for all PSUs.

  • timeout – timeout for read operations.

enable_all_outputs(enable: bool = True) None[source]

Enable or disable all outputs simultaneously.

Parameters:

enable – True to enable all outputs, False to disable all outputs.

local() None[source]

Switch the device to local control mode.

read(*args, **kwargs) str | None[source]

Read data from the device connection.

Used for access from the channel classes like PLSeriesChannel. Should not be used directly.

write(*args, **kwargs) str | None[source]

Write data to the device connection.

Used for access from the channel classes like PLSeriesChannel. Should not be used directly.

address
connection
class herosdevices.hardware.aimtti.pl_series.PLSeriesChannel(host_device: GenericPSU, voltage_limits: tuple[float, float], current_limits: tuple[float, float], channel: int = 1, **_kwargs)[source]

Bases: herosdevices.interfaces.atomiq.VoltageSource, herosdevices.interfaces.atomiq.CurrentSource, herosdevices.interfaces.atomiq.Switch

A single channel of a PL Series power supply.

This class provides an 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.

Parameters:
  • host_device – The host GenericPSU device.

  • voltage_limits – Voltage limits of the channel. Can be used to set artificial guard rails.

  • current_limits – Current limits of the channel. Can be used to set artificial guard rails.

  • channel – The channel to control (1, 2, or 3)

connection
channel: int = 1
on() None[source]

Enable the output for this channel.

off() None[source]

Disable the output for this channel.

is_on() bool[source]

Check if the output for this channel is enabled.

min_voltage: float
max_voltage: float
default_ramp_steps: int = 30
blind: bool = False
min_current: float
max_current: float