From 135284f80289d3b20bce39128570d80c821b494b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=BCnter=20Quast?= <guenter.quast@online.de>
Date: Sat, 1 Jun 2024 17:16:21 +0200
Subject: [PATCH] prepared to run under mimiCoRB control

---
 redPoscdaq.py | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/redPoscdaq.py b/redPoscdaq.py
index 03b2a7e..c9db7cc 100755
--- a/redPoscdaq.py
+++ b/redPoscdaq.py
@@ -88,6 +88,7 @@ class rpControl(QMainWindow, Ui_MCPHA):
         self.get_physical_units()
         self.setupUi(self)
         # initialize variables
+        self.osc_ready = False
         self.idle = True
         self.osc_waiting = False
         self.state = 0
@@ -141,11 +142,11 @@ class rpControl(QMainWindow, Ui_MCPHA):
             self.addrValue.setStyleSheet("color: darkorange")
 
     def parse_args(self):
-        parser =argparse.ArgumentParser(description=__doc__)
+        parser = argparse.ArgumentParser(description=__doc__)
         parser.add_argument('-c', '--connect_ip', type=str,
             help='connect IP address of RedPitaya')
         # for oscilloscope display
-        parser.add_argument('-i', '--interval', type=int, default=100,
+        parser.add_argument('-i', '--interval', type=int, default=500,
             help='interval for readout (in ms)')
         # trigger mode
         parser.add_argument('-t', '--trigger_level', type=int, default=500,
@@ -244,7 +245,7 @@ class rpControl(QMainWindow, Ui_MCPHA):
 
        #### start oscilloscope in DAQ mode
         if self.daq_mode:
-            self.osc_daq() # __call__ methood of osc_daq class 
+            self.osc_daq() # __call__ method of osc_daq class 
         
     def command(self, code, number, value):
         self.socket.write(struct.pack("<Q", code << 56 | number << 52 | (int(value) & 0xFFFFFFFFFFFFF)))
@@ -475,6 +476,8 @@ class OscDAQ(QWidget, Ui_OscDisplay):
         self.loadButton.clicked.connect(self.load)
         self.canvas.mpl_connect("motion_notify_event", self.on_motion)
 
+        self.rpControl.osc_ready = True
+        
     def __call__(self):
         # run in data acquisition mode
         self.rpControl.run_oscDaq()
@@ -592,7 +595,7 @@ class OscDAQ(QWidget, Ui_OscDisplay):
                 npa.append( np.array([data]) )
         #        
         # output status and update scope display once per second
-        if self.dT >= 1. :
+        if 1000*self.dT >= self.rpControl.readInterval:
             dN = self.NTrig - self.Nprev
             r = dN/self.dT
             self.Nprev = self.NTrig
@@ -777,8 +780,8 @@ class GenDisplay(QWidget, Ui_GenDisplay):
         except:
             self.log.print("error: %s" % sys.exc_info()[1])
 
-def runQt():
-    # start Qt5 
+def run_rpControl():
+    # start redPidaya GUI under Qt5 
     app = QApplication(sys.argv)
     dpi = app.primaryScreen().logicalDotsPerInch()
     matplotlib.rcParams["figure.dpi"] = dpi
@@ -787,6 +790,4 @@ def runQt():
     sys.exit(app.exec_())
             
 if __name__ == '__main__': # --------------------------------------------
-
-    # run the application with Qt5 interface
-    runQt()
+    run_rpControl()
-- 
GitLab