Types and definitions#

Instrument type enums and classes.

class InstrumentClass(value)[source]#

Bases: TypeEnum

Instrument class enum.

CLUSTER = 'Cluster'#
class InstrumentType(value)[source]#

Bases: TypeEnum

Instrument/module type enum.

LINQ = 'LINQ'#
MM = 'MM'#
QCM = 'QCM'#
QDM = 'QDM'#
QRC = 'QRC'#
QRM = 'QRM'#
QSM = 'QSM'#
QTM = 'QTM'#
class ClusterType(value)[source]#

Bases: TypeEnum

Cluster module type enum.

CLUSTER_LINQ = 'Cluster LINQ'#
CLUSTER_QCM = 'Cluster QCM'#
CLUSTER_QCM_RF = 'Cluster QCM-RF'#
CLUSTER_QDM = 'Cluster QDM'#
CLUSTER_QRC = 'Cluster QRC'#
CLUSTER_QRM = 'Cluster QRM'#
CLUSTER_QRM_RF = 'Cluster QRM-RF'#
CLUSTER_QSM = 'Cluster QSM'#
CLUSTER_QTM = 'Cluster QTM'#
CLUSTER_QTM_EOM = 'Cluster QTM-Pulse'#
class TypeHandle(instrument)[source]#

Bases: object

Instrument type handler class.

__init__(instrument)[source]#

Create instrument type handler object.

Parameters:

instrument (Union[ClusterType, str]) – Instrument/module type specification.

property instrument_class: InstrumentClass#

Get instrument class (e.g. Cluster).

Returns:

InstrumentClass Instrument class

property instrument_type: InstrumentType#

Get instrument type (e.g. MM, QRM, QCM, QTM).

Returns:

InstrumentType Instrument type

property is_eom_type: bool#

Return if module is of type EOM.

Returns:

bool True if module is of type EOM.

property is_linq_type: bool#

Return if module is of type LINQ.

Returns:

bool True if module is of type LINQ.

property is_mm_type: bool#

Return if module is of type MM.

Returns:

bool True if module is of type MM.

property is_qcm_type: bool#

Return if module is of type QCM.

Returns:

bool True if module is of type QCM.

property is_qdm_type: bool#

Return if module is of type QDM.

Returns:

bool True if module is of type QDM.

property is_qrc_type: bool#

Return if module is of type QRC.

Returns:

bool True if module is of type QRC.

property is_qrm_type: bool#

Return if module is of type QRM.

Returns:

bool True if module is of type QRM.

property is_qsm_type: bool#

Return if module is of type QSM.

Returns:

bool True if module is of type QSM.

property is_qtm_type: bool#

Return if module is of type QTM.

Returns:

bool True if module is of type QTM.

property is_rf_type: bool#

Return if has RF functionality.

Returns:

bool True if module has RF functionality.

class Acquisition[source]#

Bases: TypedDict

index: int#
num_bins: int#
class DebugLevel(value)[source]#

Bases: IntEnum

Debug level for communication with the instrument.

ERROR_CHECK = 1#

Do not check for a version mismatch. Perform an error check on every SCPI call.

MINIMAL_CHECK = 0#

Check for version mismatch between qblox-instruments and the firmware. Perform a system error check only when starting or stopping sequencers.

NO_CHECK = 2#

Do not check for a version mismatch or system errors.

VERSION_AND_ERROR_CHECK = 3#

Check for version mismatch between qblox-instruments and the firmware. Perform an error check on every SCPI call.

class FilterMode(value)[source]#

Bases: IntEnum

Enum for possible filter mode frequencies for QSM IO Channel.

FREQ_10_HZ = 10#
FREQ_10_KHZ = 10000#
FREQ_250_KHZ = 250000#
class FrequencyParameter(*args, calibration_function, **kwargs)[source]#

Bases: DelegateParameter

__init__(*args, calibration_function, **kwargs)[source]#
set_raw(val, cal_type=None)[source]#

set_raw is called to perform the actual setting of a parameter on the instrument. This method should either be overwritten to perform the desired operation or alternatively for Parameter a suitable method is automatically generated if set_cmd is supplied to the parameter constructor. The method is automatically wrapped to provide a set method on the parameter instance.

Return type:

None

class Sequence[source]#

Bases: TypedDict

acquisitions: dict[str, Acquisition]#
program: str#
waveforms: dict[str, WaveformWeight]#
weights: dict[str, WaveformWeight]#
class TypeEnum(value)[source]#

Bases: Enum

Type base class that arranges child enum string representations.

class WaveformWeight[source]#

Bases: TypedDict

data: str#
index: int#
class ChannelType(value)[source]#

Bases: Enum

An enumeration.

ACQ = 1#
AWG = 0#
class DeprecatedStateEnum(_warning_message)[source]#

Bases: StateEnum

State enum class that throws deprecation warning.

__init__(_warning_message)[source]#
class SequencerStates(value)[source]#

Bases: StateEnum

Sequencer state enum.

ARMED = 'Sequencer is armed and ready to start.'#
IDLE = 'Sequencer waiting to be armed and started.'#
Q1_STOPPED = 'Classical part of the sequencer has stopped; waiting for real-time part to stop.'#
RUNNING = 'Sequencer is running.'#
STOPPED = 'Sequencer has completely stopped.'#
class SequencerStatus(status, state, info_flags, warn_flags, err_flags, log)[source]#

Bases: SequencerStatus, StatusTuple

Sequencer status tuple returned by get_sequencer_status(). The tuple contains a sequencer status, state, flags and log. The tuple contains: a sequencer status enum of type SequencerStatuses, a sequencer state enum of type SequencerStates, a list of associated info flags enums of type SequencerStatusFlags, a list of associated warning flags enums of type SequencerStatusFlags, a list of associated error flags enums of type SequencerStatusFlags, a list of informative log message of type str.

class SequencerStatusFlags(value)[source]#

Bases: StateEnum

Sequencer status flags enum.

ACQ_BINNING_COMM_ERROR = 'Acquisition binning encountered internal communication error.'#
ACQ_BINNING_DONE = 'Acquisition binning completed.'#
ACQ_BINNING_FIFO_ERROR = 'Acquisition binning encountered internal FIFO error.'#
ACQ_BINNING_OUT_OF_RANGE = 'Acquisition binning data out-of-range.'#
ACQ_BIN_INDEX_INVALID = 'Acquisition tried to process an invalid bin.'#
ACQ_INDEX_INVALID = 'Acquisition tried to process an invalid acquisition.'#
ACQ_INTEGRATOR_OUT_OF_RANGE_PATH_0 = 'Acquisition integration input data for path 0 was out-of-range.'#
ACQ_INTEGRATOR_OUT_OF_RANGE_PATH_1 = 'Acquisition integration input data for path 1 was out-of-range.'#
ACQ_SCOPE_DONE_PATH_0 = 'Scope acquisition for path 0 has finished.'#
ACQ_SCOPE_DONE_PATH_1 = 'Scope acquisition for path 1 has finished.'#
ACQ_SCOPE_DONE_PATH_2 = 'Scope acquisition for path 2 has finished.'#
ACQ_SCOPE_DONE_PATH_3 = 'Scope acquisition for path 3 has finished.'#
ACQ_SCOPE_OUT_OF_RANGE_PATH_0 = 'Scope acquisition data for path 0 was out-of-range.'#
ACQ_SCOPE_OUT_OF_RANGE_PATH_1 = 'Scope acquisition data for path 1 was out-of-range.'#
ACQ_SCOPE_OUT_OF_RANGE_PATH_2 = 'Scope acquisition data for path 2 was out-of-range.'#
ACQ_SCOPE_OUT_OF_RANGE_PATH_3 = 'Scope acquisition data for path 3 was out-of-range.'#
ACQ_SCOPE_OVERWRITTEN_PATH_0 = 'Scope acquisition data for path 0 was overwritten.'#
ACQ_SCOPE_OVERWRITTEN_PATH_1 = 'Scope acquisition data for path 1 was overwritten.'#
ACQ_SCOPE_OVERWRITTEN_PATH_2 = 'Scope acquisition data for path 2 was overwritten.'#
ACQ_SCOPE_OVERWRITTEN_PATH_3 = 'Scope acquisition data for path 3 was overwritten.'#
ACQ_WEIGHT_PLAYBACK_INDEX_INVALID_PATH_0 = 'Acquisition path 0 tried to play an unknown weight.'#
ACQ_WEIGHT_PLAYBACK_INDEX_INVALID_PATH_1 = 'Acquisition path 1 tried to play an unknown weight.'#
AWG_WAVE_PLAYBACK_INDEX_INVALID_PATH_0 = 'AWG path 0 tried to play an unknown waveform.'#
AWG_WAVE_PLAYBACK_INDEX_INVALID_PATH_1 = 'AWG path 1 tried to play an unknown waveform.'#
CLOCK_INSTABILITY = 'Clock source instability occurred.'#
DIO_COMMAND_OVERFLOW = 'DIO_COMMAND_OVERFLOW'#
DIO_COUNT_INVALID = 'DIO_COUNT_INVALID'#
DIO_DELAY_OUT_OF_ORDER = 'DIO_DELAY_OUT_OF_ORDER'#
DIO_INTERNAL_ERROR = 'DIO_INTERNAL_ERROR'#
DIO_THRESHOLD_INVALID = 'DIO_THRESHOLD_INVALID'#
DIO_TIMETAG_DEADLINE_MISSED = 'DIO_TIMETAG_DEADLINE_MISSED'#
DIO_TIME_DELTA_INVALID = 'DIO_TIME_DELTA_INVALID'#
DIO_UNSUPPORTED_PULSE_WIDTH = 'DIO_UNSUPPORTED_PULSE_WIDTH'#
DISARMED = 'Sequencer was disarmed.'#
FORCED_STOP = 'Sequencer was stopped while still running.'#
OUTPUT_OVERFLOW = 'Output overflow.'#
SEQUENCE_PROCESSOR_Q1_ILLEGAL_INSTRUCTION = 'Classical sequencer part executed an unknown instruction.'#
SEQUENCE_PROCESSOR_RT_EXEC_COMMAND_UNDERFLOW = 'Real-time sequencer part command queue underflow.'#
SEQUENCE_PROCESSOR_RT_EXEC_ILLEGAL_INSTRUCTION = 'Real-time sequencer part executed an unknown instruction.'#
TRIGGER_NETWORK_CONFLICT = 'Trigger network has encountered a conflict.'#
TRIGGER_NETWORK_MISSED_INTERNAL_TRIGGER = 'Trigger network missed an internal trigger.'#
UNKNOWN = 'UNKNOWN'#
class SequencerStatuses(value)[source]#

Bases: StateEnum

Sequencer status enum.

ERROR = 'ERROR'#
OKAY = 'OKAY'#
WARNING = 'WARNING'#
class StateEnum(value)[source]#

Bases: Enum

State enum base class that arranges child enum string representations.

class StateTuple(_warning_message)[source]#

Bases: object

State tuple base class that arranges child tuple string representations.

__init__(_warning_message)[source]#
class StatusTuple[source]#

Bases: object

Status tuple base class that arranges child tuple string representations.

class SystemStatus(status, flags, slot_flags)[source]#

Bases: SystemStatus, SystemStatusTuple

System status tuple returned by get_system_status(). The tuple contains a system status enum of type SystemStatuses, a list of associated system status flag enums of type SystemStatusFlags and a tuple of type SystemStatusSlotFlags containing Cluster slot status flags.

class SystemStatusFlags(value)[source]#

Bases: StateEnum

System status flags enum.

CRIT_TEMPERATURE_OUT_OF_RANGE = 'Temperature is critically out of range.'#
FEEDBACK_NETWORK_CALIBRATION_FAILED = 'The feedback network calibration failed.'#
HARDWARE_COMPONENT_FAILED = 'Hardware component failed.'#
MODULE_FIRM_OR_HARDWARE_INCOMPATIBLE = 'Module firmware is incompatible.'#
MODULE_NOT_CONNECTED = 'Module is not connected.'#
PLL_UNLOCKED = 'PLL is unlocked.'#
TEMPERATURE_OUT_OF_RANGE = 'Temperature is out of range.'#
TRIGGER_NETWORK_MISSED_EXT_TRIGGER = 'Trigger Network Missed External Trigger.'#
UNKNOWN = 'An unknown flag was reported by the instrument.'#
class SystemStatusSlotFlags(slot_flags: dict | None = None)[source]#

Bases: SystemStatusSlotFlags

Tuple containing lists of Cluster slot status flag enums of type SystemStatusFlags. Each Cluster slot has its own status flag list attribute named slot<X>.

class SystemStatusTuple[source]#

Bases: object

System Status tuple base class that arranges child tuple string representations.

class SystemStatuses(value)[source]#

Bases: StateEnum

System status enum.

BOOTING = 'System is booting.'#
CRIT_ERROR = 'A critical error indicated by the flags is occurring'#
ERROR = 'An error indicated by the flags is occurring.'#
INITIALIZING = 'System is initializing modules.'#
OKAY = 'System is okay.'#
RESOLVED = 'An error indicated by the flags occurred, but has been resolved.'#
get_allowed_channels(is_qrc, direction, sequencer_id)[source]#

Returns the set of allowed channels. If returns True, all channels are allowed.

Return type:

Union[set[int], Literal[True]]

BINNED_ACQUISITION_BIT_WIDTH_QRM = 12#

Raw binned data retrieved through SCPI is a signed integer with this bit width on QRM and QRM-rf.

SCOPE_ACQUISITION_BIT_WIDTH_QRC = 15#

Raw scope data retrieved through SCPI is a signed integer with this bit width on QRC.

SCOPE_ACQUISITION_BIT_WIDTH_QRM = 12#

Raw scope data retrieved through SCPI is a signed integer with this bit width on QRM and QRM-RF.