ZotinoΒΆ

Class Arguments

Argument

Type

Default Value

zotino_device

TStr

num_chan

TInt32

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.sinara.dac.Zotino

Example Component Dictionary

   {
    "dac_example": {
        "classname": "atomiq.components.sinara.dac.Zotino",
        "arguments": {
            "zotino_device": "<mandatory parameter (TStr)>",
            "num_chan": "<mandatory parameter (TInt32)>"
        }
    }
}

Class Description

class atomiq.components.sinara.dac.Zotino(zotino_device, *args, max_parallel_arbs=5, max_arb_samples=128, **kwargs)[source]

Bases: DAC

This class represents the Sinara Zotino 32 Channel DAC.

Hint

The Zotino provides the Zotino.parallel_arb context manager which allows to play arbitrary waveforms and ramps on multiple channels in parallel. Example code using this functionallity can be found here

Parameters:
  • zotino_device (TStr) -- The ARTIQ zotino device to use from the device db, e.g. @zotino_0

  • max_parallel_arbs (TInt32) -- Number of channels that can be ramped or played an arbitrary waveform on in parallel. Keep this as low as possible as higher numbers increase the prerun phase length.

  • max_arb_samples (TInt32) -- Number of samples a arbitrary waveform/ramp can maximally have. Keep this as low as possible as higher numbers increase the prerun phase length.

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

kernel_invariants = {'_zotino_device'}
hold_arbs = False
update()[source]

Applys the voltages in the DAC register to the outputs.

Hint

If an update is already scheduled at the current time, this command does nothing. This allows for setting multiple DAC channels in a parallel statement without multiple slow updates.

write_dac(channel, voltage)[source]

Writes the voltage value voltage to the DAC channel channel. This method schedules the operation in the past and does not advance the time cursor.

Parameters:
  • channel (artiq.compiler.types.TMono('int', OrderedDict([('width', artiq.compiler.types.TValue(32))]))) -- Channel number

  • voltage (artiq.compiler.types.TMono('float', OrderedDict())) -- Voltage in V

Return type:

None

Hint

This command uses a scheduler which takes care that no write operations occure at the same time to prevent undefined behavior which often do not result in a noticable error.

set_channel_voltage(channel, voltage)
Parameters:
  • channel (artiq.compiler.types.TMono('int', OrderedDict([('width', artiq.compiler.types.TValue(32))])))

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

set_parameter(value, channel=None)
Parameters:
  • value (artiq.compiler.types.TMono('float', OrderedDict()))

  • channel (artiq.compiler.types.TMono('str', OrderedDict()))