Source code for qblox_scheduler.backends.qblox.enums

# SPDX-FileCopyrightText: Copyright 2020-2025, Quantify Consortium
# SPDX-FileCopyrightText: © 2023 Qblox <https://qblox.com>
# SPDX-License-Identifier: BSD-3-Clause

"""Enums used by Qblox backend."""

from __future__ import annotations

from enum import Enum


class ChannelMode(str, Enum):
    """Enum for the channel mode of the Sequencer."""

    COMPLEX = "complex"
    REAL = "real"
    DIGITAL = "digital"


class FilterConfig(str, Enum):
    """Configuration of a filter."""

    BYPASSED = "bypassed"
    ENABLED = "enabled"
    DELAY_COMP = "delay_comp"


class FilterMarkerDelay(str, Enum):
    """Marker delay setting of a filter."""

    BYPASSED = "bypassed"
    DELAY_COMP = "delay_comp"


[docs] class DistortionCorrectionLatencyEnum(int, Enum): """Settings related to distortion corrections.""" NO_DELAY_COMP = 0 """Setting for no distortion correction delay compensation""" IHP = 1 """Setting for delay compensation equal to the IHP filter.""" EXP0 = 2 """Setting for delay compensation equal to exponential overshoot or undershoot correction""" EXP1 = 4 """Setting for delay compensation equal to exponential overshoot or undershoot correction""" EXP2 = 8 """Setting for delay compensation equal to exponential overshoot or undershoot correction""" EXP3 = 16 """Setting for delay compensation equal to exponential overshoot or undershoot correction""" FIR = 32 """Setting for delay compensation equal to FIR filter""" def __int__(self) -> int: """Enable direct conversion to int.""" return self.value def __index__(self) -> int: """Support index operations.""" return self.value def __and__(self, other: DistortionCorrectionLatencyEnum | int) -> int: """Support bitwise AND operations.""" if isinstance(other, Enum): return self.value & other.value return self.value & other def __rand__(self, other: DistortionCorrectionLatencyEnum | int) -> int: """Support bitwise AND operations, other order.""" return self.__and__(other) def __or__(self, other: DistortionCorrectionLatencyEnum | int) -> int: """Support bitwise OR operations.""" if isinstance(other, Enum): return self.value | other.value return self.value | other def __ror__(self, other: DistortionCorrectionLatencyEnum | int) -> int: """Support bitwise OR operations, other order.""" return self.__or__(other)
class LoCalEnum(str, Enum): """Settings related to the LO part of automatic mixer corrections.""" OFF = "off" ON_LO_FREQ_CHANGE = "on_lo_freq_change" ON_LO_INTERM_FREQ_CHANGE = "on_lo_interm_freq_change" class SidebandCalEnum(str, Enum): """Settings related to the NCO part of automatic mixer corrections.""" OFF = "off" ON_INTERM_FREQ_CHANGE = "on_interm_freq_change" class TimetagTraceType(str, Enum): """Types trace acquisition possible for a QTM.""" SCOPE = "scope" TIMETAG = "timetag"