From 4606a03e73648af398bffe2127be0d2ba4bbff47 Mon Sep 17 00:00:00 2001
From: Sander de Snoo <59472150+sldesnoo-Delft@users.noreply.github.com>
Date: Thu, 24 Nov 2022 18:30:31 +0100
Subject: [PATCH] Updated test

---
 pulse_lib/tests/baseband/test_hres.py | 93 ++++++++++++++++++++-------
 1 file changed, 70 insertions(+), 23 deletions(-)

diff --git a/pulse_lib/tests/baseband/test_hres.py b/pulse_lib/tests/baseband/test_hres.py
index 0d492dd3..694e999e 100644
--- a/pulse_lib/tests/baseband/test_hres.py
+++ b/pulse_lib/tests/baseband/test_hres.py
@@ -7,6 +7,7 @@ def test1():
     pulse = context.init_pulselib(n_gates=2)
 
     dt = lp.linspace(0.25, 0.75, 3, name='dt', axis=0)
+#    dt = lp.linspace(-1.0, 1.0, 5, name='dt', axis=0)
 
     s = pulse.mk_segment(hres=True)
 
@@ -19,9 +20,10 @@ def test1():
         s.P2.add_block(8-t, 10+t, 80)
         s.P2.add_ramp_ss(10+t, 14+t, 80, 0)
         s.reset_time()
+    s.wait(100000)
 
     sequence = pulse.mk_sequence([s])
-    sequence.n_rep = None
+    sequence.n_rep = 10000
     context.add_hw_schedule(sequence)
 
     context.plot_awgs(sequence, ylim=(-0.0,0.100), xlim=(0, 50))
@@ -29,35 +31,46 @@ def test1():
 #    return context.run('hres1', sequence)
 
 def test2():
-    pulse = context.init_pulselib(n_gates=2)
+    pulse = context.init_pulselib(n_gates=3)
 
-    dt = lp.linspace(0.25, 0.75, 3, name='dt', axis=0)
+#    dt = lp.linspace(0, 0.8, 5, name='dt', axis=0)
+    dt = lp.linspace(0, 0.75, 4, name='dt', axis=0)
 
     s = pulse.mk_segment(hres=True)
-    t_ramp = 3
+    t_ramp = 2
+    t_pulse = 4
 
     for t in dt:
-        s.P1.wait(4)
+        s.P1.wait(t_pulse/2)
         s.P1.reset_time()
         s.P1.add_ramp_ss(0, t_ramp, 0, 80)
         s.P1.reset_time()
-        s.P1.add_block(0, 8, 80)
+        s.P1.add_block(0, t_pulse, 80)
         s.P1.reset_time()
         s.P1.add_ramp_ss(0, t_ramp, 80, 0)
-        s.P1.wait(4)
+        s.P1.wait(t_pulse/2)
 
-        s.P2.wait(4+t)
+        s.P2.wait(t_pulse/2+t)
         s.P2.reset_time()
         s.P2.add_ramp_ss(0, t_ramp, 0, 80)
         s.P2.reset_time()
-        s.P2.add_block(0, 8, 80)
+        s.P2.add_block(0, t_pulse, 80)
         s.P2.reset_time()
         s.P2.add_ramp_ss(0, t_ramp, 80, 0)
 
+        s.P3.wait(t_pulse/2 + 1)
+        s.P3.reset_time()
+        s.P3.add_ramp_ss(0, t_ramp, 0, 80)
+        s.P3.reset_time()
+        s.P3.add_block(0, t_pulse, 80)
+        s.P3.reset_time()
+        s.P3.add_ramp_ss(0, t_ramp, 80, 0)
+
         s.reset_time()
+    s.wait(100000)
 
     sequence = pulse.mk_sequence([s])
-    sequence.n_rep = None
+    sequence.n_rep = 10000
     context.add_hw_schedule(sequence)
 
     context.plot_awgs(sequence, ylim=(-0.0,0.100), xlim=(0, 70))
@@ -67,32 +80,66 @@ def test2():
 def test3():
     pulse = context.init_pulselib(n_gates=3)
 
-    dt = lp.linspace(0, 1.0, 6, name='dt', axis=0)
+    dt = lp.linspace(0, 1.0, 11, name='dt', axis=0)
+    t_ramp = 2
+    t_pulse = 4
 
     s = pulse.mk_segment(hres=True)
 
     s.wait(10)
     s.P1.add_block(4, 8, 80)
     s.P2.add_block(4+dt, 8+dt, 80)
-    s.P3.add_block(4-dt, 8-dt, 80)
+    s.P3.add_block(5, 9, 80)
     s.reset_time()
-    s.wait(15)
-    s.P1.add_ramp_ss(4, 8, 0, 80)
-    s.P1.add_block(8, 10, 80)
-    s.P1.add_ramp_ss(10, 14, 80, 0)
-    s.P2.add_ramp_ss(4-dt, 8-dt, 0, 80)
-    s.P2.add_block(8-dt, 10+dt, 80)
-    s.P2.add_ramp_ss(10+dt, 14+dt, 80, 0)
+    s.wait(2, reset_time=True)
+
+    s.P1.wait(2)
+    s.P1.reset_time()
+    s.P1.add_ramp_ss(0, t_ramp, 0, 80)
+    s.P1.reset_time()
+    s.P1.add_block(0, t_pulse, 80)
+    s.P1.reset_time()
+    s.P1.add_ramp_ss(0, t_ramp, 80, 0)
+    s.P1.wait(10)
+
+    s.P2.wait(2-dt)
+    s.P2.reset_time()
+    s.P2.add_ramp_ss(0, t_ramp, 0, 80)
+    s.P2.reset_time()
+    s.P2.add_block(0, t_pulse+2*dt, 80)
+    s.P2.reset_time()
+    s.P2.add_ramp_ss(0, t_ramp, 80, 0)
+
+    s.P3.wait(2 - 1)
+    s.P3.reset_time()
+    s.P3.add_ramp_ss(0, t_ramp, 0, 80)
+    s.P3.reset_time()
+    s.P3.add_block(0, t_pulse+2, 80)
+    s.P3.reset_time()
+    s.P3.add_ramp_ss(0, t_ramp, 80, 0)
+
+#    s.P1.add_ramp_ss(4, 8, 0, 80)
+#    s.P1.add_block(8, 10, 80)
+#    s.P1.add_ramp_ss(10, 10+t_ramp, 80, 0)
+#
+#    s.P2.add_ramp_ss(4-dt, 8-dt, 0, 80)
+#    s.P2.add_block(8-dt, 10+dt, 80)
+#    s.P2.add_ramp_ss(10+dt, 14+dt, 80, 0)
+#    s.P3.add_ramp_ss(3, 7, 0, 80)
+#    s.P3.add_block(7, 11, 80)
+#    s.P3.add_ramp_ss(11, 15, 80, 0)
+    s.wait(100000)
 
     sequence = pulse.mk_sequence([s])
-    sequence.n_rep = None
+    sequence.n_rep = 15000
     context.add_hw_schedule(sequence)
 
 #    sequence.dt(0.2)
 #    context.plot_awgs(sequence, ylim=(-0.100,0.100), xlim=(0, 26))
-    for t in sequence.dt.values:
-        sequence.dt(t)
-        context.plot_awgs(sequence, ylim=(-0.100,0.100))
+    for _ in range(20):
+        for t in sequence.dt.values:
+            sequence.dt(t)
+            context.plot_awgs(sequence, ylim=(-0.100,0.100))
 
 #    return context.run('hres2', sequence)
 
-- 
GitLab