Kommunication mit Rherodyne läuft nun
This commit is contained in:
parent
c2e2f302a4
commit
b018c0ccf2
153
jfs_main01.py
153
jfs_main01.py
@ -70,7 +70,51 @@ class MainWindow2( MainWindow):
|
||||
self.ui.checkBox_3.setEnabled(False)
|
||||
self.ui.pushButton_3.setEnabled(False)
|
||||
self.ui.pushButton_4.setEnabled(False)
|
||||
### ESP32
|
||||
|
||||
|
||||
################### ESP32
|
||||
def connectESP32(self):
|
||||
self.esp32_port = self.ui.rheo_port_comboBox.currentText()
|
||||
self.statusBar().showMessage("You clicked CONNECT TO Esp32")
|
||||
try:
|
||||
port_declared = self.port in vars()
|
||||
try:
|
||||
print(self.esp32_port)
|
||||
self.esp32_serial = serial.Serial()
|
||||
self.esp32_serial.port = self.esp32_port
|
||||
self.esp32_serial.baudrate = 115200
|
||||
self.esp32_serial.parity = serial.PARITY_NONE
|
||||
self.esp32_serial.stopbits = serial.STOPBITS_ONE
|
||||
self.esp32_serial.bytesize = serial.EIGHTBITS
|
||||
self.esp32_serial.timeout = 1
|
||||
self.esp32_serial.open()
|
||||
self.ui.closeRheo_btn.setEnabled(True)
|
||||
self.ui.openRheo_btn.setEnabled(False)
|
||||
self.ui.start_btn.setEnabled(True)
|
||||
self.ui.stop_btn.setEnabled(False)
|
||||
self.ui.checkBox.setEnabled(True)
|
||||
self.ui.lineEdit.setEnabled(True)
|
||||
time.sleep(1)
|
||||
self.statusBar().showMessage("Successfully connected to esp32 board.")
|
||||
except:
|
||||
self.statusBar().showMessage("Cannot connect to board. Try again..")
|
||||
#raise CannotConnectException
|
||||
except AttributeError:
|
||||
self.statusBar().showMessage("Please plug in the board and select a proper port, then press connect.")
|
||||
|
||||
def disconnectESP32(self):
|
||||
self.statusBar().showMessage("You clicked DISCONNECT FROM ESP32")
|
||||
print("Disconnecting from board..")
|
||||
time.sleep(0.1)
|
||||
self.esp32_serial.close()
|
||||
print("Board has been disconnected")
|
||||
self.ui.openRheo_btn.setEnabled(True)
|
||||
self.ui.closeRheo_btn.setEnabled(False)
|
||||
self.ui.start_btn.setEnabled(False)
|
||||
self.ui.stop_btn.setEnabled(False)
|
||||
self.ui.checkBox.setEnabled(False)
|
||||
self.ui.lineEdit.setEnabled(False)
|
||||
|
||||
def setFrequency(self):
|
||||
s = self.ui.lineEdit.text()
|
||||
cmd='o'+str(s)+'\n'
|
||||
@ -85,29 +129,21 @@ class MainWindow2( MainWindow):
|
||||
|
||||
def clickedBox(self,state):
|
||||
if state == QtCore.Qt.Checked:
|
||||
print('checkes')
|
||||
#self.threadx[2] =ThC_2(parent=None,port = self.esp32_serial)
|
||||
#self.threadx[2].start()
|
||||
self.threadx[2] = ThC_2(port = self.esp32_serial)
|
||||
self.threadpool.start(self.threadx[2])
|
||||
else:
|
||||
print('no')
|
||||
self.threadx[2].stop()
|
||||
|
||||
def flowBox(self,state):
|
||||
if state == QtCore.Qt.Checked:
|
||||
print('checkes')
|
||||
self.wait2Stopflow=True
|
||||
self.stopFlowLimit = float(self.ui.lineEdit_2.text())
|
||||
else:
|
||||
print('no')
|
||||
self.wait2Stopflow=False
|
||||
|
||||
self.wait2Stopflow=False
|
||||
|
||||
def startesp32(self):
|
||||
self.clearPlot()
|
||||
self.threadx[1] = ThC(index=1,port = self.esp32_serial,base=self.timeBase)
|
||||
#self.threadx[1].start()
|
||||
self.threadpool.start(self.threadx[1])
|
||||
self.threadx[1].signals.datasignal.connect(self.updateData)
|
||||
self.ui.start_btn.setEnabled(False)
|
||||
@ -124,11 +160,7 @@ class MainWindow2( MainWindow):
|
||||
def setTimeBase(self):
|
||||
self.timeBase=int(self.ui.comboBox_tb.currentText())
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
########### REODyneVentil
|
||||
def connectRheo(self):
|
||||
self.rheo_port = self.ui.comboBox.currentText()
|
||||
self.statusBar().showMessage("You clicked CONNECT TO Rheo Ventil")
|
||||
@ -182,10 +214,24 @@ class MainWindow2( MainWindow):
|
||||
|
||||
def sendRheoInject(self):
|
||||
xx = int(self.ui.lineEdit_3.text())
|
||||
s = self.ui.label_26.text()[5:-2]
|
||||
x1 = int(s)
|
||||
left = x1 - xx
|
||||
|
||||
if ( left < 10):
|
||||
self.statusBar().showMessage(f"Inject {xx} left {left} is to small !!")
|
||||
return
|
||||
if (xx > 7) or (xx<0):
|
||||
self.ui.checkBox_3.setChecked(False)
|
||||
time.sleep(1)
|
||||
self.ui.pushButton_4.setEnabled(False)
|
||||
cmd=str(xx)+'\r\n'
|
||||
self.sendToRheo(cmd)
|
||||
self.getFromRheo()
|
||||
self.statusBar().showMessage(f"Inject {xx} left {left}")
|
||||
else:
|
||||
self.statusBar().showMessage("Amount should be > 7")
|
||||
|
||||
|
||||
def sendRheoHome(self):
|
||||
cmd=str(3)+'\r\n'
|
||||
@ -206,20 +252,12 @@ class MainWindow2( MainWindow):
|
||||
self.threadpool.start(thread)
|
||||
|
||||
def setwhatsleft(self,xx):
|
||||
#print (f'that left {xx} ')
|
||||
self.ui.label_26.setText(f'left {xx}')
|
||||
self.ui.pushButton_4.setEnabled(True)
|
||||
|
||||
def sendRheo(self, sendStr):
|
||||
self.rheo_serial.flushInput()
|
||||
self.rheo_serial.write(sendStr.encode('utf-8'))
|
||||
|
||||
#cmd=str(5)+'\r\n'
|
||||
#time.sleep(1)
|
||||
#self.rheo_serial.write(cmd.encode('utf-8'))
|
||||
#time.sleep(1)
|
||||
#inp = self.rheo_serial.readline().decode('utf-8')
|
||||
#print(inp)
|
||||
#self.leftsignal.emit(float(inp))
|
||||
|
||||
def getFromRheo(self):
|
||||
cmd = ""
|
||||
@ -235,67 +273,29 @@ class MainWindow2( MainWindow):
|
||||
cmd = str(5)+'\r\n'
|
||||
self.rheo_serial.write(cmd.encode('utf-8'))
|
||||
time.sleep(1)
|
||||
inp = self.rheo_serial.readline().decode('utf-8')
|
||||
inp = inp.rstrip()
|
||||
print(f" >{inp}<")
|
||||
#inp = 200
|
||||
return inp
|
||||
cnt=0
|
||||
while True:
|
||||
cnt+=1
|
||||
inp = self.rheo_serial.readline()
|
||||
try:
|
||||
if inp[0] == 60 and inp[-3] == 62 :
|
||||
inp = inp[1:-3]
|
||||
y = float(inp.decode('utf-8'))
|
||||
return y
|
||||
except IndexError:
|
||||
pass
|
||||
if cnt > 100: #warten bis der Motor steht und der Arduino antwortet
|
||||
return 0
|
||||
|
||||
|
||||
|
||||
|
||||
def connectESP32(self):
|
||||
self.esp32_port = self.ui.rheo_port_comboBox.currentText()
|
||||
self.statusBar().showMessage("You clicked CONNECT TO Esp32")
|
||||
try:
|
||||
port_declared = self.port in vars()
|
||||
try:
|
||||
print(self.esp32_port)
|
||||
self.esp32_serial = serial.Serial()
|
||||
self.esp32_serial.port = self.esp32_port
|
||||
self.esp32_serial.baudrate = 115200
|
||||
self.esp32_serial.parity = serial.PARITY_NONE
|
||||
self.esp32_serial.stopbits = serial.STOPBITS_ONE
|
||||
self.esp32_serial.bytesize = serial.EIGHTBITS
|
||||
self.esp32_serial.timeout = 1
|
||||
self.esp32_serial.open()
|
||||
self.ui.closeRheo_btn.setEnabled(True)
|
||||
self.ui.openRheo_btn.setEnabled(False)
|
||||
self.ui.start_btn.setEnabled(True)
|
||||
self.ui.stop_btn.setEnabled(False)
|
||||
self.ui.checkBox.setEnabled(True)
|
||||
self.ui.lineEdit.setEnabled(True)
|
||||
# self.ui.connect_BTN.setEnabled(False)
|
||||
time.sleep(1)
|
||||
self.statusBar().showMessage("Successfully connected to esp32 board.")
|
||||
|
||||
except:
|
||||
self.statusBar().showMessage("Cannot connect to board. Try again..")
|
||||
#raise CannotConnectException
|
||||
except AttributeError:
|
||||
self.statusBar().showMessage("Please plug in the board and select a proper port, then press connect.")
|
||||
|
||||
|
||||
def disconnectESP32(self):
|
||||
self.statusBar().showMessage("You clicked DISCONNECT FROM ESP32")
|
||||
print("Disconnecting from board..")
|
||||
time.sleep(0.1)
|
||||
self.esp32_serial.close()
|
||||
print("Board has been disconnected")
|
||||
|
||||
self.ui.openRheo_btn.setEnabled(True)
|
||||
self.ui.closeRheo_btn.setEnabled(False)
|
||||
self.ui.start_btn.setEnabled(False)
|
||||
self.ui.stop_btn.setEnabled(False)
|
||||
self.ui.checkBox.setEnabled(False)
|
||||
self.ui.lineEdit.setEnabled(False)
|
||||
|
||||
def checkForStopFlow(self):
|
||||
if self.checkForStopFlow :
|
||||
if self.y[-1] > self.stopFlowLimit :
|
||||
self.ui.pause_BTN.clicked.emit()
|
||||
|
||||
|
||||
|
||||
def updateData(self,x,y):
|
||||
self.x.append(x)
|
||||
@ -307,12 +307,10 @@ class MainWindow2( MainWindow):
|
||||
self.wait2Stopflow = False
|
||||
self.ui.checkBox_2.setChecked(False)
|
||||
|
||||
|
||||
def clearPlot(self):
|
||||
self.x.clear()
|
||||
self.y.clear()
|
||||
self.data_line.setData(self.x,self.y)
|
||||
|
||||
|
||||
def sendToEsp32(self, sendStr):
|
||||
self.esp32_serial.write(sendStr.encode())
|
||||
@ -324,6 +322,7 @@ class WorkerKilledException(Exception):
|
||||
|
||||
class ThC_Signals(QtCore.QObject):
|
||||
datasignal = QtCore.pyqtSignal(int,float)
|
||||
|
||||
class ThC(QtCore.QRunnable):
|
||||
#datasignal = QtCore.pyqtSignal(int,float)
|
||||
def __init__(self,port=None,index=0,base=100):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user