- integrated Stirrer into GUI

This commit is contained in:
jens
2020-12-17 19:30:59 +01:00
parent 7650acd808
commit f18dd11e9a
3 changed files with 207 additions and 64 deletions
+35 -4
View File
@@ -33,25 +33,37 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
self.actionStop.triggered.connect(self.disconnect)
self.Slider_pwr_soll.valueChanged.connect(self.on_slider_pwr_soll_changed)
self.Slider_temp_soll.valueChanged.connect(self.on_slider_temp_soll_changed)
self.Slider_speed_soll.valueChanged.connect(self.on_slider_stirrer_speed_soll_changed)
self.doubleSpinBox_heatrate_soll.valueChanged.connect(self.on_heatrate_soll_changed)
self.checkbox_heater_activate.stateChanged.connect(self.on_checkbox_changed)
self.checkbox_stirrer_activate.stateChanged.connect(self.on_checkbox_stirrer_activate_changed)
self.send_data = Queue()
self.slider_pwr_initial_update = True
self.slider_temp_soll_initial_update = True
self.slider_speed_initial_update = True
self.checkbox_heater_activate_initial_update = True
self.checkbox_stirrer_activate_initial_update = True
self.heatrate_soll_initial_update = True
def connect(self):
self.slider_pwr_initial_update = True
self.slider_temp_soll_initial_update = True
self.slider_speed_initial_update = True
self.checkbox_heater_activate_initial_update = True
self.checkbox_stirrer_activate_initial_update = True
self.heatrate_soll_initial_update = True
self.ws_client.connect(uri=self.plainTextUri.toPlainText())
def disconnect(self):
self.ws_client.disconnect()
def on_slider_temp_soll_changed(self, value):
print("on_slider_temp_soll_changed {}".format(value))
self.msg_tempctrl.send({'Soll': {'Temp': value}})
def on_heatrate_soll_changed(self, value):
value = round(value, 1)
print("on_textbox_heatrate_soll_changed {}".format(value))
@@ -61,12 +73,16 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
print("on_slider_pwr_soll_changed {}".format(value))
self.msg_heater.send({'Power': value})
def on_slider_temp_soll_changed(self, value):
print("on_slider_temp_soll_changed {}".format(value))
self.msg_tempctrl.send({'Soll': {'Temp': value}})
def on_checkbox_changed(self, value):
print("on_checkbox_changed {}".format(value))
self.msg_heater.send({'Activate': int(value == 2)})
def on_slider_stirrer_speed_soll_changed(self, value):
print("on_slider_stirrer_speed_soll_changed {}".format(value))
self.msg_stirrer.send({'Speed': value})
def on_checkbox_stirrer_activate_changed(self, value):
print("on_checkbox_stirrer_activate_changed {}".format(value))
self.msg_stirrer.send({'Activate': int(value == 2)})
def on_pot_changed(self, msg):
@@ -127,6 +143,21 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
def on_stirrer_changed(self, msg):
print("on_stirrer_changed {}".format(msg))
for key in msg:
if "Activate" in key:
if self.checkbox_stirrer_activate_initial_update:
self.checkbox_stirrer_activate.setCheckState(2 if msg['Activate'] == 1 else 0)
self.checkbox_stirrer_activate_initial_update = False
elif "Speed" in key:
if self.slider_speed_initial_update:
self.Slider_speed_soll.setValue(msg['Speed'])
self.slider_speed_initial_update = False
elif "Capabilities" in key:
submsg = msg['Capabilities']
if "Power" in submsg:
submsg = submsg['Power']
self.Slider_speed_soll.setLowerBound(submsg['Min'])
self.Slider_speed_soll.setUpperBound(submsg['Max'])
def closeEvent(self, event):
print("Exitting gracefully!")