Remove manual tab override/enable checkboxes from browser and PyQt clients
Drops the tc-enable, heater-activate and stirrer-activate checkboxes and all associated state, signal connections, initial-sync flags, and channel-handler logic. Regenerates main_window.py from the updated .ui. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DF16nV2ispNw1C9SbvqbRQ
This commit is contained in:
@@ -517,22 +517,6 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Controller</string>
|
<string>Controller</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QCheckBox" name="checkbox_tc_enable">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>25</y>
|
|
||||||
<width>141</width>
|
|
||||||
<height>25</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>While disabled, the controller tries not to drive the heater (output forced to 0) and the setpoints below are inactive</string>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Enabled</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QSlider" name="Slider_temp_soll">
|
<widget class="QSlider" name="Slider_temp_soll">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
@@ -629,19 +613,6 @@
|
|||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QCheckBox" name="checkbox_heater_activate">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>30</x>
|
|
||||||
<y>370</y>
|
|
||||||
<width>81</width>
|
|
||||||
<height>31</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Activate</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QLabel" name="label_10">
|
<widget class="QLabel" name="label_10">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
@@ -665,19 +636,6 @@
|
|||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Stirrer</string>
|
<string>Stirrer</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QCheckBox" name="checkbox_stirrer_activate">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>40</x>
|
|
||||||
<y>370</y>
|
|
||||||
<width>81</width>
|
|
||||||
<height>23</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Activate</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
<widget class="QSlider" name="Slider_speed_soll">
|
<widget class="QSlider" name="Slider_speed_soll">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
|
|||||||
+2
-52
@@ -423,9 +423,6 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
self.sud_state = None
|
self.sud_state = None
|
||||||
self.sud_user_message = None
|
self.sud_user_message = None
|
||||||
self._confirm_box = None
|
self._confirm_box = None
|
||||||
# Mirrors the server's TempController.enabled - gates the
|
|
||||||
# temp/heatrate setpoint controls (see on_tempctrl_changed()).
|
|
||||||
self.tc_enabled = False
|
|
||||||
# Global, not Sud-specific - from the 'System' channel's one-time
|
# Global, not Sud-specific - from the 'System' channel's one-time
|
||||||
# startup message. warp_factor defaults to 1.0 (no scaling) until
|
# startup message. warp_factor defaults to 1.0 (no scaling) until
|
||||||
# that arrives, or for a server that doesn't send it at all.
|
# that arrives, or for a server that doesn't send it at all.
|
||||||
@@ -523,9 +520,6 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
self.msg_system.set_recv_handler(lambda msg: self.recv_signal.emit(self.on_system_changed, msg))
|
self.msg_system.set_recv_handler(lambda msg: self.recv_signal.emit(self.on_system_changed, msg))
|
||||||
|
|
||||||
self.setupUi(self)
|
self.setupUi(self)
|
||||||
# Matches tc_enabled's default (False) until the server says otherwise.
|
|
||||||
self.Slider_temp_soll.setEnabled(False)
|
|
||||||
self.doubleSpinBox_heatrate_soll.setEnabled(False)
|
|
||||||
# Permanent (right-aligned, not cleared by showMessage()/clearMessage())
|
# Permanent (right-aligned, not cleared by showMessage()/clearMessage())
|
||||||
# label for static environment info - distinct from the status bar's
|
# label for static environment info - distinct from the status bar's
|
||||||
# transient step/schedule messages.
|
# transient step/schedule messages.
|
||||||
@@ -559,9 +553,6 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
self.doubleSpinBox_heatrate_soll.valueChanged.connect(self.on_heatrate_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.checkbox_tc_enable.stateChanged.connect(self.on_checkbox_tc_enable_changed)
|
|
||||||
# Show the last value we had before the GUI last closed (see
|
# Show the last value we had before the GUI last closed (see
|
||||||
# closeEvent()) right away, rather than the spinbox's bare design-time
|
# closeEvent()) right away, rather than the spinbox's bare design-time
|
||||||
# default - blockSignals so this doesn't queue a spurious 'AmbientTemp'
|
# default - blockSignals so this doesn't queue a spurious 'AmbientTemp'
|
||||||
@@ -590,8 +581,6 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
self.slider_pwr_initial_update = True
|
self.slider_pwr_initial_update = True
|
||||||
self.slider_temp_soll_initial_update = True
|
self.slider_temp_soll_initial_update = True
|
||||||
self.slider_speed_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.heatrate_soll_initial_update = True
|
||||||
self.sud_save_path = None
|
self.sud_save_path = None
|
||||||
|
|
||||||
@@ -660,8 +649,6 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
self.slider_pwr_initial_update = True
|
self.slider_pwr_initial_update = True
|
||||||
self.slider_temp_soll_initial_update = True
|
self.slider_temp_soll_initial_update = True
|
||||||
self.slider_speed_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.heatrate_soll_initial_update = True
|
||||||
self.plot.reset()
|
self.plot.reset()
|
||||||
self.ws_client.connect(uri=self.plainTextUri.toPlainText())
|
self.ws_client.connect(uri=self.plainTextUri.toPlainText())
|
||||||
@@ -735,12 +722,6 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
self.sud_state = None
|
self.sud_state = None
|
||||||
self.sud_user_message = None
|
self.sud_user_message = None
|
||||||
self._close_confirm_dialog()
|
self._close_confirm_dialog()
|
||||||
self.tc_enabled = False
|
|
||||||
self.checkbox_tc_enable.blockSignals(True)
|
|
||||||
self.checkbox_tc_enable.setChecked(False)
|
|
||||||
self.checkbox_tc_enable.blockSignals(False)
|
|
||||||
self.Slider_temp_soll.setEnabled(False)
|
|
||||||
self.doubleSpinBox_heatrate_soll.setEnabled(False)
|
|
||||||
# ambient_temp (the server's last echoed reading, shown in the
|
# ambient_temp (the server's last echoed reading, shown in the
|
||||||
# status bar) is no longer trustworthy, but the spinbox itself is
|
# status bar) is no longer trustworthy, but the spinbox itself is
|
||||||
# a client-owned setting (see closeEvent()/connect()) - leave it
|
# a client-owned setting (see closeEvent()/connect()) - leave it
|
||||||
@@ -852,22 +833,10 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
print("on_slider_pwr_soll_changed {}".format(value))
|
print("on_slider_pwr_soll_changed {}".format(value))
|
||||||
self.msg_heater.send({'Power': value})
|
self.msg_heater.send({'Power': 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):
|
def on_slider_stirrer_speed_soll_changed(self, value):
|
||||||
print("on_slider_stirrer_speed_soll_changed {}".format(value))
|
print("on_slider_stirrer_speed_soll_changed {}".format(value))
|
||||||
self.msg_stirrer.send({'Speed': 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_checkbox_tc_enable_changed(self, value):
|
|
||||||
print("on_checkbox_tc_enable_changed {}".format(value))
|
|
||||||
self.msg_tempctrl.send({'Enable': value == 2})
|
|
||||||
|
|
||||||
def on_action_sud_start(self):
|
def on_action_sud_start(self):
|
||||||
self.msg_sud.send({'Start': True})
|
self.msg_sud.send({'Start': True})
|
||||||
|
|
||||||
@@ -965,13 +934,6 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
self.doubleSpinBox_heatrate_soll.blockSignals(True)
|
self.doubleSpinBox_heatrate_soll.blockSignals(True)
|
||||||
self.doubleSpinBox_heatrate_soll.setValue(subsubmsg['Set'])
|
self.doubleSpinBox_heatrate_soll.setValue(subsubmsg['Set'])
|
||||||
self.doubleSpinBox_heatrate_soll.blockSignals(False)
|
self.doubleSpinBox_heatrate_soll.blockSignals(False)
|
||||||
elif "Enabled" in key:
|
|
||||||
self.tc_enabled = msg['Enabled']
|
|
||||||
self.checkbox_tc_enable.blockSignals(True)
|
|
||||||
self.checkbox_tc_enable.setChecked(self.tc_enabled)
|
|
||||||
self.checkbox_tc_enable.blockSignals(False)
|
|
||||||
self.Slider_temp_soll.setEnabled(self.tc_enabled)
|
|
||||||
self.doubleSpinBox_heatrate_soll.setEnabled(self.tc_enabled)
|
|
||||||
if "Ist" in key:
|
if "Ist" in key:
|
||||||
submsg = msg['Ist']
|
submsg = msg['Ist']
|
||||||
if 'Temp' in submsg:
|
if 'Temp' in submsg:
|
||||||
@@ -984,13 +946,7 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
|
|
||||||
def on_heater_changed(self, msg):
|
def on_heater_changed(self, msg):
|
||||||
for key in msg:
|
for key in msg:
|
||||||
if "Activate" in key:
|
if "PowerSet" in key:
|
||||||
if self.checkbox_heater_activate_initial_update:
|
|
||||||
self.checkbox_heater_activate.blockSignals(True)
|
|
||||||
self.checkbox_heater_activate.setCheckState(2 if msg['Activate'] == 1 else 0)
|
|
||||||
self.checkbox_heater_activate.blockSignals(False)
|
|
||||||
self.checkbox_heater_activate_initial_update = False
|
|
||||||
elif "PowerSet" in key:
|
|
||||||
self.plot_power_set = msg['PowerSet']
|
self.plot_power_set = msg['PowerSet']
|
||||||
self.lcdNumber_power_heater.display(msg['PowerSet'])
|
self.lcdNumber_power_heater.display(msg['PowerSet'])
|
||||||
elif "Power" in key:
|
elif "Power" in key:
|
||||||
@@ -1018,13 +974,7 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
|
|||||||
def on_stirrer_changed(self, msg):
|
def on_stirrer_changed(self, msg):
|
||||||
print("on_stirrer_changed {}".format(msg))
|
print("on_stirrer_changed {}".format(msg))
|
||||||
for key in msg:
|
for key in msg:
|
||||||
if "Activate" in key:
|
if "Speed" in key:
|
||||||
if self.checkbox_stirrer_activate_initial_update:
|
|
||||||
self.checkbox_stirrer_activate.blockSignals(True)
|
|
||||||
self.checkbox_stirrer_activate.setCheckState(2 if msg['Activate'] == 1 else 0)
|
|
||||||
self.checkbox_stirrer_activate.blockSignals(False)
|
|
||||||
self.checkbox_stirrer_activate_initial_update = False
|
|
||||||
elif "Speed" in key:
|
|
||||||
self.stirrer_speed_ist = msg['Speed']
|
self.stirrer_speed_ist = msg['Speed']
|
||||||
self._update_step_plates()
|
self._update_step_plates()
|
||||||
if self.slider_speed_initial_update:
|
if self.slider_speed_initial_update:
|
||||||
|
|||||||
+1
-14
@@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
# Form implementation generated from reading ui file 'brewpi.ui'
|
# Form implementation generated from reading ui file 'client/brewpi.ui'
|
||||||
#
|
#
|
||||||
# Created by: PyQt5 UI code generator 5.15.11
|
# Created by: PyQt5 UI code generator 5.15.11
|
||||||
#
|
#
|
||||||
@@ -190,9 +190,6 @@ class Ui_MainWindow(object):
|
|||||||
self.groupBox_2.setSizePolicy(sizePolicy)
|
self.groupBox_2.setSizePolicy(sizePolicy)
|
||||||
self.groupBox_2.setMinimumSize(QtCore.QSize(0, 0))
|
self.groupBox_2.setMinimumSize(QtCore.QSize(0, 0))
|
||||||
self.groupBox_2.setObjectName("groupBox_2")
|
self.groupBox_2.setObjectName("groupBox_2")
|
||||||
self.checkbox_tc_enable = QtWidgets.QCheckBox(self.groupBox_2)
|
|
||||||
self.checkbox_tc_enable.setGeometry(QtCore.QRect(0, 25, 141, 25))
|
|
||||||
self.checkbox_tc_enable.setObjectName("checkbox_tc_enable")
|
|
||||||
self.Slider_temp_soll = QtWidgets.QSlider(self.groupBox_2)
|
self.Slider_temp_soll = QtWidgets.QSlider(self.groupBox_2)
|
||||||
self.Slider_temp_soll.setGeometry(QtCore.QRect(20, 100, 63, 281))
|
self.Slider_temp_soll.setGeometry(QtCore.QRect(20, 100, 63, 281))
|
||||||
self.Slider_temp_soll.setMinimum(0)
|
self.Slider_temp_soll.setMinimum(0)
|
||||||
@@ -222,9 +219,6 @@ class Ui_MainWindow(object):
|
|||||||
self.Slider_pwr_soll.setMaximum(100)
|
self.Slider_pwr_soll.setMaximum(100)
|
||||||
self.Slider_pwr_soll.setOrientation(QtCore.Qt.Vertical)
|
self.Slider_pwr_soll.setOrientation(QtCore.Qt.Vertical)
|
||||||
self.Slider_pwr_soll.setObjectName("Slider_pwr_soll")
|
self.Slider_pwr_soll.setObjectName("Slider_pwr_soll")
|
||||||
self.checkbox_heater_activate = QtWidgets.QCheckBox(self.groupBox)
|
|
||||||
self.checkbox_heater_activate.setGeometry(QtCore.QRect(30, 370, 81, 31))
|
|
||||||
self.checkbox_heater_activate.setObjectName("checkbox_heater_activate")
|
|
||||||
self.label_10 = QtWidgets.QLabel(self.groupBox)
|
self.label_10 = QtWidgets.QLabel(self.groupBox)
|
||||||
self.label_10.setGeometry(QtCore.QRect(0, 30, 141, 31))
|
self.label_10.setGeometry(QtCore.QRect(0, 30, 141, 31))
|
||||||
self.label_10.setAlignment(QtCore.Qt.AlignCenter)
|
self.label_10.setAlignment(QtCore.Qt.AlignCenter)
|
||||||
@@ -232,9 +226,6 @@ class Ui_MainWindow(object):
|
|||||||
self.horizontalLayout.addWidget(self.groupBox)
|
self.horizontalLayout.addWidget(self.groupBox)
|
||||||
self.groupBox_3 = QtWidgets.QGroupBox(self.horizontalTabWidgetPage1)
|
self.groupBox_3 = QtWidgets.QGroupBox(self.horizontalTabWidgetPage1)
|
||||||
self.groupBox_3.setObjectName("groupBox_3")
|
self.groupBox_3.setObjectName("groupBox_3")
|
||||||
self.checkbox_stirrer_activate = QtWidgets.QCheckBox(self.groupBox_3)
|
|
||||||
self.checkbox_stirrer_activate.setGeometry(QtCore.QRect(40, 370, 81, 23))
|
|
||||||
self.checkbox_stirrer_activate.setObjectName("checkbox_stirrer_activate")
|
|
||||||
self.Slider_speed_soll = QtWidgets.QSlider(self.groupBox_3)
|
self.Slider_speed_soll = QtWidgets.QSlider(self.groupBox_3)
|
||||||
self.Slider_speed_soll.setGeometry(QtCore.QRect(40, 70, 63, 281))
|
self.Slider_speed_soll.setGeometry(QtCore.QRect(40, 70, 63, 281))
|
||||||
self.Slider_speed_soll.setMinimum(0)
|
self.Slider_speed_soll.setMinimum(0)
|
||||||
@@ -1306,15 +1297,11 @@ class Ui_MainWindow(object):
|
|||||||
_translate = QtCore.QCoreApplication.translate
|
_translate = QtCore.QCoreApplication.translate
|
||||||
MainWindow.setWindowTitle(_translate("MainWindow", "BrewPi"))
|
MainWindow.setWindowTitle(_translate("MainWindow", "BrewPi"))
|
||||||
self.groupBox_2.setTitle(_translate("MainWindow", "Controller"))
|
self.groupBox_2.setTitle(_translate("MainWindow", "Controller"))
|
||||||
self.checkbox_tc_enable.setToolTip(_translate("MainWindow", "While disabled, the controller tries not to drive the heater (output forced to 0) and the setpoints below are inactive"))
|
|
||||||
self.checkbox_tc_enable.setText(_translate("MainWindow", "Enabled"))
|
|
||||||
self.label_6.setText(_translate("MainWindow", "Heat rate"))
|
self.label_6.setText(_translate("MainWindow", "Heat rate"))
|
||||||
self.label_9.setText(_translate("MainWindow", "Temperature [°C]"))
|
self.label_9.setText(_translate("MainWindow", "Temperature [°C]"))
|
||||||
self.groupBox.setTitle(_translate("MainWindow", "Heater"))
|
self.groupBox.setTitle(_translate("MainWindow", "Heater"))
|
||||||
self.checkbox_heater_activate.setText(_translate("MainWindow", "Activate"))
|
|
||||||
self.label_10.setText(_translate("MainWindow", "Power [W]"))
|
self.label_10.setText(_translate("MainWindow", "Power [W]"))
|
||||||
self.groupBox_3.setTitle(_translate("MainWindow", "Stirrer"))
|
self.groupBox_3.setTitle(_translate("MainWindow", "Stirrer"))
|
||||||
self.checkbox_stirrer_activate.setText(_translate("MainWindow", "Activate"))
|
|
||||||
self.label_11.setText(_translate("MainWindow", "Speed [%]"))
|
self.label_11.setText(_translate("MainWindow", "Speed [%]"))
|
||||||
self.horizontalTabWidget.setTabText(self.horizontalTabWidget.indexOf(self.horizontalTabWidgetPage1), _translate("MainWindow", "Manual"))
|
self.horizontalTabWidget.setTabText(self.horizontalTabWidget.indexOf(self.horizontalTabWidgetPage1), _translate("MainWindow", "Manual"))
|
||||||
self.horizontalTabWidget.setTabText(self.horizontalTabWidget.indexOf(self.tab), _translate("MainWindow", "Automatic"))
|
self.horizontalTabWidget.setTabText(self.horizontalTabWidget.indexOf(self.tab), _translate("MainWindow", "Automatic"))
|
||||||
|
|||||||
+2
-29
@@ -32,8 +32,6 @@ let initialPowerSync = true;
|
|||||||
let initialSpeedSync = true;
|
let initialSpeedSync = true;
|
||||||
let initialHeatrateSync = true;
|
let initialHeatrateSync = true;
|
||||||
let initialTempSollSync = true;
|
let initialTempSollSync = true;
|
||||||
let initialHeaterActivateSync = true;
|
|
||||||
let initialStirrerActivateSync = true;
|
|
||||||
|
|
||||||
let ambientTemp = null;
|
let ambientTemp = null;
|
||||||
let warpFactor = 1.0;
|
let warpFactor = 1.0;
|
||||||
@@ -524,12 +522,7 @@ function updateSudForecast(doc) {
|
|||||||
|
|
||||||
function onHeaterChanged(msg) {
|
function onHeaterChanged(msg) {
|
||||||
for (const key of Object.keys(msg)) {
|
for (const key of Object.keys(msg)) {
|
||||||
if (key === 'Activate') {
|
if (key === 'PowerSet') {
|
||||||
if (initialHeaterActivateSync) {
|
|
||||||
document.getElementById('heater-activate').checked = !!msg.Activate;
|
|
||||||
initialHeaterActivateSync = false;
|
|
||||||
}
|
|
||||||
} else if (key === 'PowerSet') {
|
|
||||||
heaterPowerSoll = msg.PowerSet;
|
heaterPowerSoll = msg.PowerSet;
|
||||||
document.getElementById('lcd-power-soll').textContent = msg.PowerSet;
|
document.getElementById('lcd-power-soll').textContent = msg.PowerSet;
|
||||||
updateFireVisualization();
|
updateFireVisualization();
|
||||||
@@ -553,12 +546,7 @@ function onHeaterChanged(msg) {
|
|||||||
|
|
||||||
function onStirrerChanged(msg) {
|
function onStirrerChanged(msg) {
|
||||||
for (const key of Object.keys(msg)) {
|
for (const key of Object.keys(msg)) {
|
||||||
if (key === 'Activate') {
|
if (key === 'Speed') {
|
||||||
if (initialStirrerActivateSync) {
|
|
||||||
document.getElementById('stirrer-activate').checked = !!msg.Activate;
|
|
||||||
initialStirrerActivateSync = false;
|
|
||||||
}
|
|
||||||
} else if (key === 'Speed') {
|
|
||||||
stirrerSpeedIst = msg.Speed;
|
stirrerSpeedIst = msg.Speed;
|
||||||
if (initialSpeedSync) {
|
if (initialSpeedSync) {
|
||||||
document.getElementById('stirrer-speed').value = msg.Speed;
|
document.getElementById('stirrer-speed').value = msg.Speed;
|
||||||
@@ -600,12 +588,6 @@ function onTempCtrlChanged(msg) {
|
|||||||
initialHeatrateSync = false;
|
initialHeatrateSync = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (key === 'Enabled') {
|
|
||||||
const enabled = msg.Enabled;
|
|
||||||
document.getElementById('tc-enabled').checked = enabled;
|
|
||||||
document.getElementById('temp-soll').disabled = !enabled;
|
|
||||||
document.getElementById('heatrate-soll').disabled = !enabled;
|
|
||||||
}
|
|
||||||
if (key === 'Ist') {
|
if (key === 'Ist') {
|
||||||
const ist = msg.Ist;
|
const ist = msg.Ist;
|
||||||
if ('Temp' in ist) {
|
if ('Temp' in ist) {
|
||||||
@@ -791,16 +773,10 @@ document.getElementById('heater-power').addEventListener('input', (e) => {
|
|||||||
document.getElementById('heater-power-readout').textContent = e.target.value;
|
document.getElementById('heater-power-readout').textContent = e.target.value;
|
||||||
sendMsg('Heater', {Power: Number(e.target.value)});
|
sendMsg('Heater', {Power: Number(e.target.value)});
|
||||||
});
|
});
|
||||||
document.getElementById('heater-activate').addEventListener('change', (e) => {
|
|
||||||
sendMsg('Heater', {Activate: e.target.checked ? 1 : 0});
|
|
||||||
});
|
|
||||||
document.getElementById('stirrer-speed').addEventListener('input', (e) => {
|
document.getElementById('stirrer-speed').addEventListener('input', (e) => {
|
||||||
document.getElementById('stirrer-speed-readout').textContent = e.target.value;
|
document.getElementById('stirrer-speed-readout').textContent = e.target.value;
|
||||||
sendMsg('Stirrer', {Speed: Number(e.target.value)});
|
sendMsg('Stirrer', {Speed: Number(e.target.value)});
|
||||||
});
|
});
|
||||||
document.getElementById('stirrer-activate').addEventListener('change', (e) => {
|
|
||||||
sendMsg('Stirrer', {Activate: e.target.checked ? 1 : 0});
|
|
||||||
});
|
|
||||||
document.getElementById('temp-soll').addEventListener('input', (e) => {
|
document.getElementById('temp-soll').addEventListener('input', (e) => {
|
||||||
document.getElementById('temp-soll-readout').textContent = e.target.value;
|
document.getElementById('temp-soll-readout').textContent = e.target.value;
|
||||||
sendMsg('TempCtrl', {Soll: {Temp: Number(e.target.value)}});
|
sendMsg('TempCtrl', {Soll: {Temp: Number(e.target.value)}});
|
||||||
@@ -808,9 +784,6 @@ document.getElementById('temp-soll').addEventListener('input', (e) => {
|
|||||||
document.getElementById('heatrate-soll').addEventListener('change', (e) => {
|
document.getElementById('heatrate-soll').addEventListener('change', (e) => {
|
||||||
sendMsg('TempCtrl', {Soll: {Rate: Number(e.target.value)}});
|
sendMsg('TempCtrl', {Soll: {Rate: Number(e.target.value)}});
|
||||||
});
|
});
|
||||||
document.getElementById('tc-enabled').addEventListener('change', (e) => {
|
|
||||||
sendMsg('TempCtrl', {Enable: e.target.checked});
|
|
||||||
});
|
|
||||||
document.getElementById('ambient-temp').addEventListener('change', (e) => {
|
document.getElementById('ambient-temp').addEventListener('change', (e) => {
|
||||||
sendMsg('System', {AmbientTemp: Number(e.target.value)});
|
sendMsg('System', {AmbientTemp: Number(e.target.value)});
|
||||||
});
|
});
|
||||||
|
|||||||
+2
-5
@@ -211,18 +211,16 @@
|
|||||||
<section id="tab-manual" class="tab-content active">
|
<section id="tab-manual" class="tab-content active">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h3>Controller</h3>
|
<h3>Controller</h3>
|
||||||
<label><input type="checkbox" id="tc-enabled"> Enabled</label>
|
|
||||||
<label>Temperature [°C]
|
<label>Temperature [°C]
|
||||||
<input type="range" id="temp-soll" min="0" max="100" step="1" disabled>
|
<input type="range" id="temp-soll" min="0" max="100" step="1">
|
||||||
<span id="temp-soll-readout">--</span>
|
<span id="temp-soll-readout">--</span>
|
||||||
</label>
|
</label>
|
||||||
<label>Heat rate [°C/min]
|
<label>Heat rate [°C/min]
|
||||||
<input type="number" id="heatrate-soll" min="0" max="3" step="0.1" disabled>
|
<input type="number" id="heatrate-soll" min="0" max="3" step="0.1">
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h3>Heater</h3>
|
<h3>Heater</h3>
|
||||||
<label><input type="checkbox" id="heater-activate"> Activate</label>
|
|
||||||
<label>Power [W]
|
<label>Power [W]
|
||||||
<input type="range" id="heater-power" min="0" max="100" step="1">
|
<input type="range" id="heater-power" min="0" max="100" step="1">
|
||||||
<span id="heater-power-readout">--</span>
|
<span id="heater-power-readout">--</span>
|
||||||
@@ -230,7 +228,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h3>Stirrer</h3>
|
<h3>Stirrer</h3>
|
||||||
<label><input type="checkbox" id="stirrer-activate"> Activate</label>
|
|
||||||
<label>Speed [%]
|
<label>Speed [%]
|
||||||
<input type="range" id="stirrer-speed" min="0" max="100" step="1">
|
<input type="range" id="stirrer-speed" min="0" max="100" step="1">
|
||||||
<span id="stirrer-speed-readout">--</span>
|
<span id="stirrer-speed-readout">--</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user