From f1f7b0b6c6c5865cd6604db1f6dfe8c0accd9575 Mon Sep 17 00:00:00 2001 From: Alessandro Candido Date: Fri, 30 Aug 2024 19:04:26 +0200 Subject: [PATCH] fix: Register and play probe pulses within readouts in qm --- src/qibolab/instruments/qm/controller.py | 2 ++ src/qibolab/instruments/qm/program/instructions.py | 1 + 2 files changed, 3 insertions(+) diff --git a/src/qibolab/instruments/qm/controller.py b/src/qibolab/instruments/qm/controller.py index 798d17cfa..a2691f190 100644 --- a/src/qibolab/instruments/qm/controller.py +++ b/src/qibolab/instruments/qm/controller.py @@ -312,6 +312,8 @@ def register_pulses(self, configs: dict[str, Config], sequence: PulseSequence): if isinstance(pulse, Pulse): self.register_pulse(id, pulse) + elif isinstance(pulse, Readout): + self.register_pulse(id, pulse.probe) def register_duration_sweeper_pulses( self, args: ExecutionArguments, sweeper: Sweeper diff --git a/src/qibolab/instruments/qm/program/instructions.py b/src/qibolab/instruments/qm/program/instructions.py index fc4eafbca..3818be824 100644 --- a/src/qibolab/instruments/qm/program/instructions.py +++ b/src/qibolab/instruments/qm/program/instructions.py @@ -50,6 +50,7 @@ def _play_single_waveform( if parameters.amplitude is not None: op = parameters.amplitude_op * parameters.amplitude if acquisition is not None: + qua.play(op, element) acquisition.measure(op) else: qua.play(op, element, duration=parameters.duration)