From 7c6f774ceda915b14569409c6476080fadd356db Mon Sep 17 00:00:00 2001
From: sldesnoo-Delft <s.l.desnoo@tudelft.nl>
Date: Sat, 2 Sep 2023 16:32:15 +0200
Subject: [PATCH] Fixed M4i acquisition data shape

---
 pulse_lib/tektronix/tektronix5014_uploader.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/pulse_lib/tektronix/tektronix5014_uploader.py b/pulse_lib/tektronix/tektronix5014_uploader.py
index 974760a4..d3e2ac31 100644
--- a/pulse_lib/tektronix/tektronix5014_uploader.py
+++ b/pulse_lib/tektronix/tektronix5014_uploader.py
@@ -292,7 +292,9 @@ class Tektronix5014_Uploader:
                 demodulate=demodulate)
 
         self.acq_description = AcqDescription(job.seq_id, job.index,
-                                              job.digitizer_triggers)
+                                              job.digitizer_triggers,
+                                              job.n_rep,
+                                              acq_conf.average_repetitions)
 
     def actual_acquisition_points(self, channel_name, duration, sample_rate):
         return self.m4i_control.actual_acquisition_points(duration, sample_rate)
@@ -331,6 +333,10 @@ class Tektronix5014_Uploader:
 
             result[channel_name] = raw_ch
 
+        if not acq_desc.average_repetitions and acq_desc.n_rep:
+            for key,value in result.items():
+                result[key] = value.reshape((acq_desc.n_rep, -1))
+
         return result
 
 @dataclass
@@ -493,6 +499,8 @@ class AcqDescription:
     seq_id: UUID
     index: List[int]
     digitizer_triggers: DigitizerTriggers
+    n_rep: int
+    average_repetitions: bool = False
 
 
 class UploadAggregator:
-- 
GitLab