From 4fa03c2c3ec54262b6090f0a0269d73d4e39248e Mon Sep 17 00:00:00 2001 From: Guenter Quast <guenter.quast@online.de> Date: Sat, 17 Feb 2024 18:49:34 +0100 Subject: [PATCH] mpOsci.py: factorized and simplified code --- rpOsci.py | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/rpOsci.py b/rpOsci.py index 70ccdf3..e1f27a5 100755 --- a/rpOsci.py +++ b/rpOsci.py @@ -91,7 +91,6 @@ class rpControl(QMainWindow, Ui_MCPHA): # initialize variables self.idle = True self.osc_waiting = False - self.reset = 0 self.state = 0 self.status = np.zeros(9, np.uint32) self.timers = self.status[:4].view(np.uint64) @@ -131,7 +130,7 @@ class rpControl(QMainWindow, Ui_MCPHA): # create timers self.startTimer = QTimer(self) # timer for network connectin self.startTimer.timeout.connect(self.start_timeout) - self.readTimer = QTimer(self) # for readout interval + self.readTimer = QTimer(self) # for readout self.readTimer.timeout.connect(self.read_osci) # get command line arguments @@ -211,7 +210,6 @@ class rpControl(QMainWindow, Ui_MCPHA): self.log.print("IO started") self.idle = False self.osc_waiting = False - self.reset = 0 self.state = 0 self.set_rate(self.rateValue.currentIndex()) self.set_negator(0, self.neg1Check.isChecked()) @@ -234,14 +232,8 @@ class rpControl(QMainWindow, Ui_MCPHA): def read_osci(self): """data transfer from RP, triggered by QTimer readTimer """ - # send reset commands - if self.reset & 16: - self.command(2, 0, 0) # reset osc - if self.reset & 32: - self.command(19, 0, 0) # start osc - self.reset = 0 # check status - self.command(11, 0, 0) # read status + self.read_status() if not self.read_data(self.status): print("failed to read status") return @@ -255,18 +247,22 @@ class rpControl(QMainWindow, Ui_MCPHA): print("failed to read oscilloscope data") return - def reset_osc(self): - self.reset |= 16 + def reset_osc(self): + self.command(2, 0, 0) - def start_osc(self): - self.reset |= 32 + def start_osc(self): + self.command(19, 0, 0) self.osc_waiting = True + def read_status(self): + self.command(11, 0, 0) + def stop_osc(self): - self.reset &= ~32 + self.reset_osc() self.osc_waiting = False def set_rate(self, index): + # set RP decimation factor self.command(4, 0, rpControl.rates[index]) def set_negator(self, number, value): -- GitLab