atomiq.components.electronics.voltagesource¶
Classes¶
Voltage Source |
|
A DAC with multiple channels |
|
Voltage Source |
Module Contents¶
- class atomiq.components.electronics.voltagesource.VoltageSource(min_voltage=float('-inf'), max_voltage=float('inf'), default_ramp_steps=30, *args, **kwargs)[source]¶
Bases:
atomiq.components.primitives.Component,atomiq.components.primitives.ParametrizableVoltage Source
This abstract class represents any device that can output a defined, controllable voltage.
- Parameters:
min_voltage (artiq.language.types.TFloat) -- The minimum voltage the device can output [V]
max_voltage (artiq.language.types.TFloat) -- The maximum voltage the device can output [V]
default_ramp_steps (artiq.language.types.TInt32) -- The default number of steps that this device should use if the voltage is ramped. This value is only used if no ramp_steps are given in the
ramp_voltage()method.
- kernel_invariants¶
- min_voltage¶
- max_voltage¶
- default_ramp_steps = 30¶
- set_voltage(voltage)[source]¶
Set the voltage delivered by the voltage source
- Parameters:
voltage (artiq.language.types.TFloat) -- Voltage in V
- _ramp_voltage(duration, voltage_start, voltage_end, ramp_timestep=0.0002)[source]¶
This method implements a stupid ramp on an abstract level. This will most likely work but be slow. If your hardware has native support for ramping, please override this function when you inherit from VoltageSource
- Parameters:
duration (artiq.language.types.TFloat)
voltage_start (artiq.language.types.TFloat)
voltage_end (artiq.language.types.TFloat)
ramp_timestep (artiq.language.types.TFloat)
- ramp_voltage(duration, voltage_start, voltage_end, ramp_timestep=float('nan'), ramp_steps=-1)[source]¶
Ramp voltage over a given duration.
This method advances the timeline by duration
- Parameters:
duration (artiq.language.types.TFloat) -- ramp duration [s]
voltage_start (artiq.language.types.TFloat) -- initial voltage [V]
voltage_end (artiq.language.types.TFloat) -- end voltage [V]
ramp_timestep (artiq.language.types.TFloat)
ramp_steps (artiq.language.types.TInt32)
- class atomiq.components.electronics.voltagesource.DAC(num_chan, *args, **kwargs)[source]¶
Bases:
atomiq.components.primitives.Component,atomiq.components.primitives.ParametrizableA DAC with multiple channels
- Parameters:
num_chan (artiq.language.types.TInt32) -- Number of channels the DAC has
- kernel_invariants¶
- num_chan¶
- class atomiq.components.electronics.voltagesource.DACChannel(dac_device, channel, *args, **kwargs)[source]¶
Bases:
VoltageSourceVoltage Source
This abstract class represents any device that can output a defined, controllable voltage.
- Parameters:
min_voltage -- The minimum voltage the device can output [V]
max_voltage -- The maximum voltage the device can output [V]
default_ramp_steps -- The default number of steps that this device should use if the voltage is ramped. This value is only used if no ramp_steps are given in the
ramp_voltage()method.dac_device (DAC)
channel (artiq.language.types.TInt32)
- kernel_invariants¶
- dac_device¶
- channel¶