SequencerConfiguration

class caqtus.device.sequencer.SequencerConfiguration(
remote_server: DeviceServerName | None,
time_step: TimeStep,
channels,
trigger: SoftwareTrigger | ExternalTriggerStart | ExternalClock | ExternalClockOnChange,
)

Bases: DeviceConfiguration[SequencerType], ABC, Generic[SequencerType]

Abstract class for the configuration of a sequencer.

This class defines the attributes that a configuration of a sequencer must have.

time_step

The quantization time step used, in nanoseconds. The device can only update its output at times that are integer multiples of this time step. This is a decimal number to allow sub-nanosecond precision without floating point errors.

Type:

caqtus.device.sequencer.timing.TimeStep

channels

The configuration of the channels of the device. The length of this list must match the number of channels of the device.

Type:

tuple[caqtus.device.sequencer.configuration.configuration.ChannelConfiguration, …]

trigger

The trigger.

Type:

caqtus.device.sequencer.trigger._trigger.SoftwareTrigger | caqtus.device.sequencer.trigger._trigger.ExternalTriggerStart | caqtus.device.sequencer.trigger._trigger.ExternalClock | caqtus.device.sequencer.trigger._trigger.ExternalClockOnChange

abstractmethod channel_types() tuple[Type[ChannelConfiguration], ...]

Returns the types of the channels of the device.