CurrentSourceΒΆ

Class Arguments

Argument

Type

Default Value

min_current

TFloat

-inf

max_current

TFloat

inf

default_ramp_steps

TInt32

30

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

Inheritance Diagram

Inheritance diagram of atomiq.components.electronics.currentsource.CurrentSource

Example Component Dictionary

   {
    "currentsource_example": {
        "classname": "atomiq.components.electronics.currentsource.CurrentSource",
        "arguments": {
            "min_current": -1e999,
            "max_current": 1e999,
            "default_ramp_steps": 30
        }
    }
}

Class Description

class atomiq.components.electronics.currentsource.CurrentSource(min_current=-inf, max_current=inf, default_ramp_steps=30, *args, **kwargs)[source]

Bases: Component, Parametrizable

Current Source

This abstract class represents any device that can output a defined, controllable current.

Parameters:
  • min_current (TFloat) -- The minimum current the device can output [A]

  • max_current (TFloat) -- The maximum current the device can output [A]

  • default_ramp_steps (TInt32) -- The default number of steps that this device should use if the current is ramped. This value is only used if no ramp_steps are given in the ramp_current() method.

A Parametrizable is an entity that can be controlled by one or more continuous parameter(s)

set_current(current)[source]

Set the current delivered by the current source

Parameters:

current (artiq.compiler.types.TMono('float', OrderedDict())) -- Current in A

ramp_current(duration, current_end, current_start=nan, ramp_timestep=-1.0, ramp_steps=-1)[source]

Ramp current over a given duration.

This method advances the timeline by duration

Parameters:
  • duration (artiq.compiler.types.TMono('float', OrderedDict())) -- ramp duration [s]

  • current_end (artiq.compiler.types.TMono('float', OrderedDict())) -- end current [A]

  • current_start (artiq.compiler.types.TMono('float', OrderedDict())) -- initial current [A]. If not given, the ramp starts from the current operating current.

  • ramp_timestep (artiq.compiler.types.TMono('float', OrderedDict()))

  • ramp_steps (artiq.compiler.types.TMono('int', OrderedDict({'width': artiq.compiler.types.TValue(32)})))