PL (and more) Series Channel

From: AimTTI

Class: herosdevices.hardware.aimtti.pl_series.PLSeriesChannel

Driver Quality Index: beta

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.

Bold arguments are mandatory. For more information on the listed arguments refer to the class documentation: herosdevices.hardware.aimtti.pl_series.PLSeriesChannel If parameters appear in this list but not in the class definition, please recursively check the linked base classes for the definition of the parameter.

Argument

Type

Default Value

Description

voltage_limits

tuple[float, float]

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

current_limits

tuple[float, float]

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

host_device

<class ‘herosdevices.hardware.aimtti.pl_series.GenericPSU’>

The host GenericPSU device.

channel

<class ‘int’>

1

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

The following JSON strings can be used to start a HERO device representation of PLSeriesChannel using BOSS.

{
    "_id": "AimTTI_test_ch1",
    "classname": "herosdevices.hardware.aimtti.PLSeriesChannel",
    "arguments": {
        "host_device": "$AimTTI_test",
        "channel": 1,
        "voltage_limits": [
            0,
            250
        ],
        "current_limits": [
            0,
            0.375
        ]
    }
}

Note

This example contains a variable that references another HERO with $.

from examples/aimtti/pl_series.json

{
    "_id": "my_PLSeriesChannel",
    "classname": "herosdevices.hardware.aimtti.pl_series.PLSeriesChannel",
    "arguments": {
        "voltage_limits": "tuple[float, float]",
        "current_limits": "tuple[float, float]",
        "host_device": "<class 'herosdevices.hardware.aimtti.pl_series.GenericPSU'>",
        "channel": 1
    }
}

generated from signature

digraph inheritance1341ac3f97 { bgcolor=transparent; rankdir=TB; size=""; "herosdevices.hardware.aimtti.pl_series.PLSeriesChannel" [URL="../../../autoapi/herosdevices/hardware/aimtti/pl_series/index.html#herosdevices.hardware.aimtti.pl_series.PLSeriesChannel",color="#5fabe8",fillcolor="#5fabe827",fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,penwidth=2,shape=box,style="rounded,filled",target="_top",tooltip="A single channel of a PL Series power supply."]; "herosdevices.interfaces.atomiq.VoltageSource" -> "herosdevices.hardware.aimtti.pl_series.PLSeriesChannel" [arrowsize=1,color="#5fabe8",dir="back",penwidth=2,style="setlinewidth(0.5)"]; "herosdevices.interfaces.atomiq.CurrentSource" -> "herosdevices.hardware.aimtti.pl_series.PLSeriesChannel" [arrowsize=1,color="#5fabe8",dir="back",penwidth=2,style="setlinewidth(0.5)"]; "herosdevices.interfaces.atomiq.Switch" -> "herosdevices.hardware.aimtti.pl_series.PLSeriesChannel" [arrowsize=1,color="#5fabe8",dir="back",penwidth=2,style="setlinewidth(0.5)"]; "herosdevices.interfaces.Interface" [URL="../../../autoapi/herosdevices/interfaces/index.html#herosdevices.interfaces.Interface",color="#5fabe8",fillcolor="#5fabe827",fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,penwidth=2,shape=box,style="rounded,filled",target="_top",tooltip="Generic Interface to describe and check capabilities of a device driver."]; "herosdevices.interfaces.atomiq.AtomiqInterface" [URL="../../../autoapi/herosdevices/interfaces/atomiq/index.html#herosdevices.interfaces.atomiq.AtomiqInterface",color="#5fabe8",fillcolor="#5fabe827",fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,penwidth=2,shape=box,style="rounded,filled",target="_top",tooltip="This interface defines the necessary methods for a HERO to seamlessly being converted into an atomiq component."]; "herosdevices.interfaces.Interface" -> "herosdevices.interfaces.atomiq.AtomiqInterface" [arrowsize=1,color="#5fabe8",dir="back",penwidth=2,style="setlinewidth(0.5)"]; "herosdevices.interfaces.atomiq.CurrentSource" [URL="../../../autoapi/herosdevices/interfaces/atomiq/index.html#herosdevices.interfaces.atomiq.CurrentSource",color="#5fabe8",fillcolor="#5fabe827",fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,penwidth=2,shape=box,style="rounded,filled",target="_top",tooltip="HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.currentsource.CurrentSource`."]; "herosdevices.interfaces.atomiq.AtomiqInterface" -> "herosdevices.interfaces.atomiq.CurrentSource" [arrowsize=1,color="#5fabe8",dir="back",penwidth=2,style="setlinewidth(0.5)"]; "herosdevices.interfaces.atomiq.Switch" [URL="../../../autoapi/herosdevices/interfaces/atomiq/index.html#herosdevices.interfaces.atomiq.Switch",color="#5fabe8",fillcolor="#5fabe827",fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,penwidth=2,shape=box,style="rounded,filled",target="_top",tooltip="HERO implementation of :external+atomiq:py:class:`atomiq.components.primitives.Switchable`."]; "herosdevices.interfaces.atomiq.AtomiqInterface" -> "herosdevices.interfaces.atomiq.Switch" [arrowsize=1,color="#5fabe8",dir="back",penwidth=2,style="setlinewidth(0.5)"]; "herosdevices.interfaces.atomiq.VoltageSource" [URL="../../../autoapi/herosdevices/interfaces/atomiq/index.html#herosdevices.interfaces.atomiq.VoltageSource",color="#5fabe8",fillcolor="#5fabe827",fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,penwidth=2,shape=box,style="rounded,filled",target="_top",tooltip="HERO implementation of :external+atomiq:py:class:`atomiq.components.electronics.voltagesource.VoltageSource`."]; "herosdevices.interfaces.atomiq.AtomiqInterface" -> "herosdevices.interfaces.atomiq.VoltageSource" [arrowsize=1,color="#5fabe8",dir="back",penwidth=2,style="setlinewidth(0.5)"]; }