3.4.3.4. qupulse.hardware.feature_awg.features

class qupulse.hardware.feature_awg.features.ActivatableChannels[source]

Bases: qupulse.hardware.feature_awg.base.AWGChannelFeature

abstract disable()[source]

Disables the output of a certain channel

abstract enable()[source]

Enables the output of a certain channel

abstract property enabled: bool

Returns the the state a channel has at the moment. A channel is either activated or deactivated

Return type

bool

class qupulse.hardware.feature_awg.features.AmplitudeOffsetHandling(value)[source]

Bases: enum.Enum

An enumeration.

CONSIDER_OFFSET = 'consider_offset'
IGNORE_OFFSET = 'ignore_offset'
class qupulse.hardware.feature_awg.features.ChannelSynchronization[source]

Bases: qupulse.hardware.feature_awg.base.AWGDeviceFeature, abc.ABC

This Feature is used to synchronise a certain ammount of channels

abstract synchronize_channels(group_size)[source]

Synchronize in groups of group_size channels. Groups of synchronized channels will be provided as AWGChannelTuples.

Parameters

group_size (int) – Number of channels per channel tuple

Return type

None

class qupulse.hardware.feature_awg.features.DeviceControl[source]

Bases: qupulse.hardware.feature_awg.base.AWGDeviceFeature, abc.ABC

This feature is used for basic communication with a AWG

abstract reset()[source]

Resetting the whole device. A command for resetting is send to the Device, the device is initialized again and all channel tuples are cleared.

Return type

None

abstract trigger()[source]

This method triggers a device remotely.

Return type

None

class qupulse.hardware.feature_awg.features.ProgramManagement(channel_tuple)[source]

Bases: qupulse.hardware.feature_awg.base.AWGChannelTupleFeature, abc.ABC

abstract arm(name)[source]

Load the program ‘name’ and arm the device for running it. If name is None the awg will “dearm” its current program.

Return type

None

abstract clear()[source]

Removes all programs and waveforms from the AWG.

Caution: This affects all programs and waveforms on the AWG, not only those uploaded using qupulse!

Return type

None

property default_repetition_mode: qupulse.hardware.feature_awg.features.RepetitionMode
Return type

RepetitionMode

abstract property programs: Set[str]

The set of program names that can currently be executed on the hardware AWG.

Return type

Set[str]

abstract remove(name)[source]

Remove a program from the AWG.

Also discards all waveforms referenced only by the program identified by name.

Parameters

name (str) – The name of the program to remove.

Return type

None

abstract run_current_program()[source]

This method starts running the active program

Return type

None

abstract property supported_repetition_modes: Set[qupulse.hardware.feature_awg.features.RepetitionMode]

Return set of supported repetition modes in the current configuration.

Return type

Set[RepetitionMode]

abstract upload(name, program, channels, marker_channels, voltage_transformation, repetition_mode=None, force=False)[source]

Upload a program to the AWG.

Physically uploads all waveforms required by the program - excluding those already present - to the device and sets up playback sequences accordingly. This method should be cheap for program already on the device and can therefore be used for syncing. Programs that are uploaded should be fast(~1 sec) to arm.

Raises

ValueError – if one of channels, marker_channels, voltage_transformation or repetition_mode is invalid

Parameters
  • name (str) – A name for the program on the AWG.

  • program (Loop) – The program (a sequence of instructions) to upload.

  • channels (Tuple[Union[str, int, None], …]) – Tuple of length num_channels that ChannelIDs of in the program to use. Position in the list corresponds to the AWG channel

  • marker_channels (Tuple[Union[str, int, None], …]) – List of channels in the program to use. Position in the List in the list corresponds to the AWG channel

  • voltage_transformation (Tuple[Optional[Callable], …]) – transformations applied to the waveforms extracted rom the program. Position

  • the list corresponds to the AWG channel (in) –

  • repetition_mode (Union[RepetitionMode, str, None]) – how often the program should be played

  • force (bool) – If a different sequence is already present with the same name, it is overwritten if force is set to True. (default = False)

Return type

None

class qupulse.hardware.feature_awg.features.ReadProgram(channel_tuple)[source]

Bases: qupulse.hardware.feature_awg.base.AWGChannelTupleFeature, abc.ABC

Read the currently armed and uploaded program from the device. The returned object is highly device specific.

abstract read_complete_program()[source]
Return type

Any

class qupulse.hardware.feature_awg.features.RepetitionMode(value)[source]

Bases: enum.Enum

Some devices support playing a program indefinitely or only once.

AUTO_REARM = 'auto_rearm'
INFINITE = 'infinite'
ONCE = 'once'
class qupulse.hardware.feature_awg.features.SCPI(visa)[source]

Bases: qupulse.hardware.feature_awg.base.AWGDeviceFeature, abc.ABC

Represents the ability to communicate via SCPI.

https://en.wikipedia.org/wiki/Standard_Commands_for_Programmable_Instruments

close()[source]
send_cmd(cmd_str)[source]
send_query(query_str)[source]
class qupulse.hardware.feature_awg.features.StatusTable[source]

Bases: qupulse.hardware.feature_awg.base.AWGDeviceFeature, abc.ABC

abstract get_status_table()[source]

Send a lot of queries to the AWG about its settings. A good way to visualize is using pandas.DataFrame

Return type

Dict[str, Union[str, float, int]]

Returns

An ordered dictionary with the results

class qupulse.hardware.feature_awg.features.VolatileParameters(channel_tuple)[source]

Bases: qupulse.hardware.feature_awg.base.AWGChannelTupleFeature, abc.ABC

Ability to set the values of parameters which were marked as volatile on program creation.

abstract set_volatile_parameters(program_name, parameters)[source]

Set the values of parameters which were marked as volatile on program creation.

Return type

None

class qupulse.hardware.feature_awg.features.VoltageRange[source]

Bases: qupulse.hardware.feature_awg.base.AWGChannelFeature

abstract property amplitude: float

Get amplitude of AWG channel

Return type

float

abstract property amplitude_offset_handling: qupulse.hardware.feature_awg.features.AmplitudeOffsetHandling

Gets the amplitude and offset handling of this channel. The amplitude-offset controls if the amplitude and offset settings are constant or if these should be optimized by the driver

Return type

AmplitudeOffsetHandling

abstract property offset: float

Get offset of AWG channel

Return type

float