Sequencer

class caqtus.device.sequencer.Sequencer(
time_step: TimeStep,
trigger: SoftwareTrigger | ExternalTriggerStart | ExternalClock | ExternalClockOnChange,
)

Bases: Device, ABC

Abstract base class for a sequencer device.

This function defines the methods that a sequencer device must implement to be compatible with the caqtus framework.

time_step

The time step of the sequencer in nanoseconds. This value cannot be changed after the sequencer has been created.

Type:

caqtus.device.sequencer.timing.TimeStep

trigger

Indicates how the sequence is started and how it is clocked. This value cannot be changed after the sequencer has been created.

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 program_sequence(
sequence: TimedInstruction,
) ProgrammedSequence

Program the sequence into the device.

This method just writes the sequence to the device. It does not start the sequence.

Parameters:

sequence – The sequence to be programmed into the sequencer.

Returns:

An object that can be used to start the sequence.