From bdb7407917c73408db28b36c23d1107017f970ad Mon Sep 17 00:00:00 2001 From: i-am-mounce Date: Wed, 18 Dec 2024 13:45:38 -0700 Subject: [PATCH 1/4] fix(rabi): fixed rabi sequence, dropped 'length' syntax --- src/qickdawg/nvpulsing/rabisweep.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/qickdawg/nvpulsing/rabisweep.py b/src/qickdawg/nvpulsing/rabisweep.py index 6581d1d..59b962d 100644 --- a/src/qickdawg/nvpulsing/rabisweep.py +++ b/src/qickdawg/nvpulsing/rabisweep.py @@ -125,16 +125,16 @@ def initialize(self): length=self.cfg.mw_start_treg) # configure the sweep - self.mw_length_register = self.new_gen_reg(self.cfg.mw_channel, - name='mw_length', + self.mw_length_register = self.new_gen_reg(self.cfg.mw_channel, + name='mw_length', init_val=self.cfg.mw_start_treg) - self.add_sweep(NVQickSweep(self, - reg=self.mw_length_register, - start=self.cfg.mw_start_treg, - stop=self.cfg.mw_end_treg, + self.add_sweep(NVQickSweep(self, + reg=self.mw_length_register, + start=self.cfg.mw_start_treg, + stop=self.cfg.mw_end_treg, expts=self.cfg.nsweep_points, - label='mw_length', + label='length', mw_channel=self.cfg.mw_channel)) self.synci(400) # give processor some time to configure pulses From 68eb37bbc09b0becce2c9c51757ab560665bcc9a Mon Sep 17 00:00:00 2001 From: i-am-mounce Date: Wed, 18 Dec 2024 13:46:36 -0700 Subject: [PATCH 2/4] fix(pulse_readout): pulse readout end was slightly off --- src/qickdawg/nvpulsing/nvaverageprogram.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/qickdawg/nvpulsing/nvaverageprogram.py b/src/qickdawg/nvpulsing/nvaverageprogram.py index 6d13c2f..fc74918 100644 --- a/src/qickdawg/nvpulsing/nvaverageprogram.py +++ b/src/qickdawg/nvpulsing/nvaverageprogram.py @@ -431,8 +431,7 @@ def ttl_readout(self): remaining_time = ( self.cfg.laser_on_treg - 2 * self.cfg.readout_integration_treg - - self.cfg.readout_reference_start_treg - - self.cfg.laser_readout_offset_treg) + - self.cfg.readout_reference_start_treg) self.trigger( pins=[self.cfg.laser_gate_pmod], From 776b868bfb9627e1aa34a844367d525faa04f5c3 Mon Sep 17 00:00:00 2001 From: i-am-mounce Date: Wed, 18 Dec 2024 13:47:18 -0700 Subject: [PATCH 3/4] test(readout): ensures that readout does not extend past laser_on time --- src/qickdawg/nvpulsing/getreadoutwindow.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/qickdawg/nvpulsing/getreadoutwindow.py b/src/qickdawg/nvpulsing/getreadoutwindow.py index 4605ff1..29b0004 100644 --- a/src/qickdawg/nvpulsing/getreadoutwindow.py +++ b/src/qickdawg/nvpulsing/getreadoutwindow.py @@ -40,6 +40,8 @@ def get_readout_window(config, n_time_bins): laser_readout_offset_treg = config.laser_readout_offset_treg config.mw_pi2_tus = 0 + assert (n_time_bins * config.readout_length_treg) <= config.laser_initialize_treg, "More time bins than laser on time" + for i in range(n_time_bins): prog = ReadoutWindow(config) if i == 0: From b1bdc86db1e95ef05f6c863b5a5d07347a42a6c7 Mon Sep 17 00:00:00 2001 From: i-am-mounce Date: Wed, 18 Dec 2024 13:47:44 -0700 Subject: [PATCH 4/4] fix(readoutwindow): modified readoutwindow so that it doesn't use sycnall --- src/qickdawg/nvpulsing/readoutwindow.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/qickdawg/nvpulsing/readoutwindow.py b/src/qickdawg/nvpulsing/readoutwindow.py index 5d2fb94..97328a3 100644 --- a/src/qickdawg/nvpulsing/readoutwindow.py +++ b/src/qickdawg/nvpulsing/readoutwindow.py @@ -136,13 +136,16 @@ def body(self): t += self.cfg.laser_initialize_treg t += self.cfg.relax_delay_treg + self.synci(t) - if self.cfg.mw_pi2_treg > 0: + t = 0 + if self.cfg.mw_pi2_treg > 4: self.pulse(ch=self.cfg.mw_channel, t=t) t += self.cfg.mw_pi2_treg - self.sync_all(self.cfg.mw_readout_delay_treg) - + t += self.cfg.mw_readout_delay_treg + self.synci(t) + t = 0 if self.cfg.laser_readout_offset_treg > 3: self.trigger_no_off( pins=[self.cfg.laser_gate_pmod],