wip(temperature_controller)
This commit is contained in:
1 parent
cff6b9d695
commit
0f72f290b4
2 files changed
+31
-12
No files matched your search
@@ -209,9 +209,9 @@ class Button(QWidget):
|
||||
self.label.setFixedWidth(LABEL_WIDTH)
|
||||
layout.addWidget(self.label)
|
||||
self.button = QPushButton(label_button)
|
||||
self.color = color
|
||||
self.setEnabled(enabled)
|
||||
layout.addWidget(self.button)
|
||||
self.color = color
|
||||
|
||||
def clicked_connect(self, func):
|
||||
"""Connect a function to the button press."""
|
||||
@@ -252,6 +252,7 @@ class TextIndicator(QWidget):
|
||||
self.text = QLabel("-")
|
||||
self.text.setAlignment(Qt.AlignTop) # type: ignore
|
||||
layout.addWidget(self.text)
|
||||
self.color = "default"
|
||||
|
||||
def setLabel(self, label) -> None:
|
||||
self.label.setText(label)
|
||||
@@ -260,4 +261,10 @@ class TextIndicator(QWidget):
|
||||
self.text.setText(text)
|
||||
|
||||
def setColor(self, color: str):
|
||||
self.color = color
|
||||
self.apply_theme()
|
||||
|
||||
def apply_theme(self):
|
||||
colors = get_accent_colors()
|
||||
color = getattr(colors, self.color).name()
|
||||
self.text.setStyleSheet(f"QLabel {{color:{color}}}")
|
||||
@@ -12,7 +12,7 @@ from bec_lib import bec_logger
|
||||
from bec_lib.endpoints import MessageEndpoints
|
||||
from bec_widgets.utils.bec_dispatcher import BECDispatcher
|
||||
from bec_widgets.utils.bec_widget import BECWidget
|
||||
from bec_widgets.utils.colors import apply_theme, get_accent_colors
|
||||
from bec_widgets.utils.colors import apply_theme
|
||||
from bec_widgets.utils.error_popups import SafeSlot
|
||||
from bec_widgets.widgets.plots.waveform.waveform import Waveform
|
||||
|
||||
@@ -145,6 +145,7 @@ class TemperatureController(BECWidget, QWidget):
|
||||
|
||||
waveform_layout.addWidget(self.waveform, stretch=1)
|
||||
|
||||
waveform_settings_layout = QHBoxLayout()
|
||||
self.user_window_s = InputNumberField(
|
||||
"",
|
||||
"Plot range",
|
||||
@@ -155,13 +156,15 @@ class TemperatureController(BECWidget, QWidget):
|
||||
ll=1,
|
||||
hl=MAX_WINDOW_S,
|
||||
)
|
||||
waveform_settings_layout.addWidget(self.user_window_s)
|
||||
waveform_settings_layout.addStretch()
|
||||
|
||||
waveform_layout.addWidget(self.user_window_s)
|
||||
waveform_layout.addLayout(waveform_settings_layout)
|
||||
|
||||
root_layout.addLayout(waveform_layout, stretch=1)
|
||||
|
||||
self.waveform.set(title="", x_label="Time")
|
||||
self.waveform.enable_toolbar = False
|
||||
self.waveform.enable_toolbar = True
|
||||
self.waveform.enable_side_panel = False
|
||||
self.waveform.plot_item.setAxisItems({"bottom": pg.DateAxisItem(orientation="bottom")})
|
||||
|
||||
@@ -197,6 +200,15 @@ class TemperatureController(BECWidget, QWidget):
|
||||
|
||||
self.plot_init = True
|
||||
|
||||
@SafeSlot()
|
||||
def apply_theme(self, theme):
|
||||
self.sensor_break.apply_theme()
|
||||
self.operating_mode.apply_theme()
|
||||
self.heater_sensor_break.apply_theme()
|
||||
self.autotune_status.apply_theme()
|
||||
self.autotune.apply_theme()
|
||||
return super().apply_theme(theme)
|
||||
|
||||
@SafeSlot()
|
||||
def _on_value_changed(self, *_, **kwargs):
|
||||
if "index" in kwargs.keys():
|
||||
@@ -231,20 +243,20 @@ class TemperatureController(BECWidget, QWidget):
|
||||
match value:
|
||||
case UnivTempContSensorBreak.GOOD:
|
||||
self.sensor_break.setText("OK")
|
||||
self.sensor_break.setColor(get_accent_colors().success.name())
|
||||
self.sensor_break.setColor("success")
|
||||
case UnivTempContSensorBreak.SENSOR_BREAK:
|
||||
self.sensor_break.setText("FAULT")
|
||||
self.sensor_break.setColor(get_accent_colors().emergency.name())
|
||||
self.sensor_break.setColor("emergency")
|
||||
case _:
|
||||
raise TemperatureControllerError(f"Not implemented sensor_break value {value}")
|
||||
value = signals[DEVICE_NAME + "_" + "heater_tc_fault"]["value"]
|
||||
match value:
|
||||
case UnivTempContHeaterTcFault.NO_FAULT:
|
||||
self.heater_sensor_break.setText("OK")
|
||||
self.heater_sensor_break.setColor(get_accent_colors().success.name())
|
||||
self.heater_sensor_break.setColor("success")
|
||||
case UnivTempContHeaterTcFault.TC_OPEN_FAULT:
|
||||
self.heater_sensor_break.setText("OPEN")
|
||||
self.heater_sensor_break.setColor(get_accent_colors().warning.name())
|
||||
self.heater_sensor_break.setColor("warning")
|
||||
case (
|
||||
UnivTempContHeaterTcFault.OVER_UNDERVOLTAGE_FAULT
|
||||
| UnivTempContHeaterTcFault.TC_LOW_FAULT
|
||||
@@ -255,7 +267,7 @@ class TemperatureController(BECWidget, QWidget):
|
||||
| UnivTempContHeaterTcFault.COLD_JUNC_RNG_FAULT
|
||||
):
|
||||
self.heater_sensor_break.setText("FAULT")
|
||||
self.heater_sensor_break.setColor(get_accent_colors().emergency.name())
|
||||
self.heater_sensor_break.setColor("emergency")
|
||||
case _:
|
||||
raise TemperatureControllerError(
|
||||
f"Not implemented heater_sensor_break value {value}"
|
||||
@@ -264,13 +276,13 @@ class TemperatureController(BECWidget, QWidget):
|
||||
match value:
|
||||
case UnivTempContOpMode.AUTO:
|
||||
self.operating_mode.setText("AUTO")
|
||||
self.operating_mode.setColor(get_accent_colors().success.name())
|
||||
self.operating_mode.setColor("success")
|
||||
case UnivTempContOpMode.MANUAL:
|
||||
self.operating_mode.setText("MANUAL")
|
||||
self.operating_mode.setColor(get_accent_colors().warning.name())
|
||||
self.operating_mode.setColor("warning")
|
||||
case UnivTempContOpMode.STANDBY:
|
||||
self.operating_mode.setText("STANDBY")
|
||||
self.operating_mode.setColor(get_accent_colors().default.name())
|
||||
self.operating_mode.setColor("default")
|
||||
case _:
|
||||
raise TemperatureControllerError(f"Not implemented op_mode value {value}")
|
||||
index = signals[DEVICE_NAME + "_" + "power"]["value"]
|
||||
|
||||
Reference in new issue
Block a user