|
1 | 1 | import enum |
2 | 2 | from functools import partial |
3 | 3 |
|
4 | | - |
| 4 | +import logging |
5 | 5 | from lib.printer import Printer |
6 | 6 | from lib.filament import Filament |
7 | 7 | from lib.ui.filamentStackedWidget_ui import Ui_filamentStackedWidget |
8 | | - |
| 8 | +from configfile import get_configparser |
9 | 9 | from lib.panels.widgets.popupDialogWidget import Popup |
10 | 10 | from PyQt6 import QtCore, QtGui, QtWidgets |
11 | 11 |
|
| 12 | +logger = logging.getLogger(__name__) |
| 13 | + |
12 | 14 |
|
13 | 15 | class FilamentTypes(enum.Enum): |
14 | 16 | PLA = Filament(name="PLA", temperature=220) |
@@ -51,8 +53,14 @@ def __init__(self, parent: QtWidgets.QWidget, printer: Printer, ws, /) -> None: |
51 | 53 | self.popup = Popup(self) |
52 | 54 | self.has_load_unload_objects = None |
53 | 55 | self._filament_state = self.FilamentStates.UNKNOWN |
54 | | - self._sensor_states = {} |
55 | 56 | self.filament_type = FilamentTypes.UNKNOWN |
| 57 | + |
| 58 | + cfg = get_configparser() |
| 59 | + if cfg.has_section("filament_presence"): |
| 60 | + i = cfg.get_section("filament_presence", None) |
| 61 | + self.filament_sensor = i.get("name", str, None) |
| 62 | + else: |
| 63 | + self.filament_sensor = None |
56 | 64 | self.panel.filament_page_load_btn.clicked.connect( |
57 | 65 | partial(self.change_page, self.indexOf(self.panel.load_page)) |
58 | 66 | ) |
@@ -144,16 +152,13 @@ def on_filament_sensor_update(self, sensor_name: str, parameter: str, value: boo |
144 | 152 | self._filament_state = self.FilamentStates.UNKNOWN |
145 | 153 | self.handle_filament_state() |
146 | 154 | return |
147 | | - self._sensor_states[sensor_name] = value |
148 | | - if not self._sensor_states: |
149 | | - new_state = self.FilamentStates.UNKNOWN |
150 | | - elif all(self._sensor_states.values()): |
151 | | - new_state = self.FilamentStates.LOADED |
152 | | - else: |
153 | | - new_state = self.FilamentStates.UNLOADED |
154 | | - if self._filament_state != new_state: |
155 | | - self._filament_state = new_state |
156 | | - self.handle_filament_state() |
| 155 | + if sensor_name == self.filament_sensor: |
| 156 | + if value: |
| 157 | + self._filament_state = self.FilamentStates.LOADED |
| 158 | + else: |
| 159 | + self._filament_state = self.FilamentStates.UNLOADED |
| 160 | + return |
| 161 | + self.handle_filament_state() |
157 | 162 |
|
158 | 163 | @QtCore.pyqtSlot(str, str, float, name="on_extruder_update") |
159 | 164 | def on_extruder_update( |
|
0 commit comments