Source code for quantify_scheduler.backends.qblox.operations.pulse_library
# Repository: https://gitlab.com/quantify-os/quantify-scheduler
# Licensed according to the LICENCE file on the main branch
"""Standard pulse-level operations for use with the quantify_scheduler."""
from __future__ import annotations
from quantify_scheduler import Operation
[docs]
class LatchReset(Operation):
"""
Operation that resets the feedback trigger addresses from the hardware.
Currently only implemented for Qblox backend, refer to
:class:`~quantify_scheduler.backends.qblox.operation_handling.virtual.ResetFeedbackTriggersStrategy`
for more details.
"""
def __init__(
self,
t0: float = 0,
duration: float = 4e-9,
portclocks: list[tuple[str, str]] | None = None,
) -> None:
super().__init__(name=self.__class__.__name__)
if portclocks is None:
portclocks = []
self.data["pulse_info"] = [
{
"name": self.__class__.__name__,
"wf_func": None,
"t0": t0,
"port": portclock[0],
"clock": portclock[1],
"duration": duration,
}
for portclock in portclocks
]
self._update()
def __str__(self) -> str:
pulse_info = self.data["pulse_info"][0]
return (
f"{self.__class__.__name__}("
f"name='{self.name}', "
f"t0='{pulse_info['t0']}', "
f"port='{pulse_info['port']}'"
f"clock='{pulse_info['clock']}'"
f"duration='{pulse_info['duration']}'"
f")"
)