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