Skip to content
Snippets Groups Projects
Commit 4fa03c2c authored by Guenter Quast's avatar Guenter Quast
Browse files

mpOsci.py: factorized and simplified code

parent 183f2fd8
Branches
No related tags found
No related merge requests found
......@@ -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):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment