From e12c86c6538061ced60c7a38a0d2beda3f0d7fa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Rist=C3=A8?= Date: Tue, 27 Mar 2018 14:38:49 -0400 Subject: [PATCH] Deal with composite pulses --- QGL/PulseSequencer.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/QGL/PulseSequencer.py b/QGL/PulseSequencer.py index 99dc471e..5951bedb 100644 --- a/QGL/PulseSequencer.py +++ b/QGL/PulseSequencer.py @@ -260,12 +260,8 @@ def align_p(mode="center", *pulses): # Align any number of Pulses # TODO: First, make everything look like a sequence of pulses def flatten_to_pulses(obj): - import pdb; pdb.set_trace() - if isinstance(obj, Pulse): + if isinstance(obj, Pulse) or isinstance(obj, CompositePulse): yield obj - elif isinstance(obj, CompositePulse): - for pulse in obj.pulses: - yield from flatten_to_pulses(pulse) else: for pulse in obj.pulses.values(): yield from flatten_to_pulses(pulse) @@ -275,7 +271,7 @@ def flatten_to_pulses(obj): pulse_list = [] for k,pulse in enumerate(pulses): if isinstance(pulse, PulseBlock): - pulse_list.append(list(flatten_to_pulses(pulse))) #TODO: flatten the list + pulse_list += list(flatten_to_pulses(pulse)) else: pulse_list.append(pulse) if max(pad_lengths) == 0: