drop set_dev_stat and get_dev_stat
this creates a parallel set of data that could become desynced
This commit is contained in:
parent
80668faa3e
commit
616574ed3b
@ -116,9 +116,6 @@ class Printer:
|
||||
return
|
||||
|
||||
for x in data:
|
||||
if x in self.get_temp_devices() or x in self.get_filament_sensors():
|
||||
for i in data[x]:
|
||||
self.set_dev_stat(x, i, data[x][i])
|
||||
if x == "configfile" and 'config' in data[x]:
|
||||
self.config.update(data[x]['config'])
|
||||
if x not in self.data:
|
||||
@ -298,13 +295,9 @@ class Printer:
|
||||
if self.data is None or stat not in self.data:
|
||||
return {}
|
||||
if substat is not None:
|
||||
return self.data[stat][substat] if substat in self.data[stat] else {}
|
||||
return self.data[stat]
|
||||
|
||||
def get_dev_stat(self, dev, stat):
|
||||
if dev in self.devices and stat in self.devices[dev]:
|
||||
return self.devices[dev][stat]
|
||||
return None
|
||||
return self.data.get(stat, {}).get(substat, {})
|
||||
else:
|
||||
return self.data.get(stat, {})
|
||||
|
||||
def get_fan_speed(self, fan="fan"):
|
||||
speed = 0
|
||||
@ -396,19 +389,13 @@ class Printer:
|
||||
def config_section_exists(self, section):
|
||||
return section in self.get_config_section_list()
|
||||
|
||||
def set_dev_stat(self, dev, stat, value):
|
||||
if dev not in self.devices:
|
||||
return
|
||||
|
||||
self.devices[dev][stat] = value
|
||||
|
||||
def _update_temp_store(self):
|
||||
if self.tempstore is None:
|
||||
return False
|
||||
for device in self.tempstore:
|
||||
for x in self.tempstore[device]:
|
||||
self.tempstore[device][x].pop(0)
|
||||
temp = self.get_dev_stat(device, x[:-1])
|
||||
temp = self.get_stat(device, x[:-1])
|
||||
if temp is None:
|
||||
temp = 0
|
||||
self.tempstore[device][x].append(temp)
|
||||
|
@ -255,7 +255,7 @@ class BasePanel(ScreenPanel):
|
||||
if action != "notify_status_update" or self._screen.printer is None:
|
||||
return
|
||||
for device in self._printer.get_temp_devices():
|
||||
temp = self._printer.get_dev_stat(device, "temperature")
|
||||
temp = self._printer.get_stat(device, "temperature")
|
||||
if temp is not None and device in self.labels:
|
||||
name = ""
|
||||
if not (device.startswith("extruder") or device.startswith("heater_bed")):
|
||||
|
@ -190,9 +190,9 @@ class Panel(ScreenPanel):
|
||||
if x in data:
|
||||
self.update_temp(
|
||||
x,
|
||||
self._printer.get_dev_stat(x, "temperature"),
|
||||
self._printer.get_dev_stat(x, "target"),
|
||||
self._printer.get_dev_stat(x, "power"),
|
||||
self._printer.get_stat(x, "temperature"),
|
||||
self._printer.get_stat(x, "target"),
|
||||
self._printer.get_stat(x, "power"),
|
||||
lines=2,
|
||||
)
|
||||
if "current_extruder" in self.labels:
|
||||
@ -211,10 +211,8 @@ class Panel(ScreenPanel):
|
||||
for x in self._printer.get_filament_sensors():
|
||||
if x in data:
|
||||
if 'enabled' in data[x]:
|
||||
self._printer.set_dev_stat(x, "enabled", data[x]['enabled'])
|
||||
self.labels[x]['switch'].set_active(data[x]['enabled'])
|
||||
if 'filament_detected' in data[x]:
|
||||
self._printer.set_dev_stat(x, "filament_detected", data[x]['filament_detected'])
|
||||
if self._printer.get_stat(x, "enabled"):
|
||||
if data[x]['filament_detected']:
|
||||
self.labels[x]['box'].get_style_context().remove_class("filament_sensor_empty")
|
||||
@ -265,14 +263,12 @@ class Panel(ScreenPanel):
|
||||
|
||||
def enable_disable_fs(self, switch, gparams, name, x):
|
||||
if switch.get_active():
|
||||
self._printer.set_dev_stat(x, "enabled", True)
|
||||
self._screen._ws.klippy.gcode_script(f"SET_FILAMENT_SENSOR SENSOR={name} ENABLE=1")
|
||||
if self._printer.get_stat(x, "filament_detected"):
|
||||
self.labels[x]['box'].get_style_context().add_class("filament_sensor_detected")
|
||||
else:
|
||||
self.labels[x]['box'].get_style_context().add_class("filament_sensor_empty")
|
||||
else:
|
||||
self._printer.set_dev_stat(x, "enabled", False)
|
||||
self._screen._ws.klippy.gcode_script(f"SET_FILAMENT_SENSOR SENSOR={name} ENABLE=0")
|
||||
self.labels[x]['box'].get_style_context().remove_class("filament_sensor_empty")
|
||||
self.labels[x]['box'].get_style_context().remove_class("filament_sensor_detected")
|
||||
|
@ -478,9 +478,9 @@ class Panel(ScreenPanel):
|
||||
if x in data:
|
||||
self.update_temp(
|
||||
x,
|
||||
self._printer.get_dev_stat(x, "temperature"),
|
||||
self._printer.get_dev_stat(x, "target"),
|
||||
self._printer.get_dev_stat(x, "power"),
|
||||
self._printer.get_stat(x, "temperature"),
|
||||
self._printer.get_stat(x, "target"),
|
||||
self._printer.get_stat(x, "power"),
|
||||
)
|
||||
if x in self.buttons['extruder']:
|
||||
self.buttons['extruder'][x].set_label(self.labels[x].get_text())
|
||||
|
@ -82,7 +82,7 @@ class Panel(MenuPanel):
|
||||
|
||||
logging.info(f"Adding device: {device}")
|
||||
|
||||
temperature = self._printer.get_dev_stat(device, "temperature")
|
||||
temperature = self._printer.get_stat(device, "temperature")
|
||||
if temperature is None:
|
||||
return False
|
||||
|
||||
@ -189,7 +189,6 @@ class Panel(MenuPanel):
|
||||
else:
|
||||
logging.info(f"Unknown heater: {self.active_heater}")
|
||||
self._screen.show_popup_message(_("Unknown Heater") + " " + self.active_heater)
|
||||
self._printer.set_dev_stat(self.active_heater, "target", temp)
|
||||
|
||||
def verify_max_temp(self, temp):
|
||||
temp = int(temp)
|
||||
@ -259,9 +258,9 @@ class Panel(MenuPanel):
|
||||
if x in data:
|
||||
self.update_temp(
|
||||
x,
|
||||
self._printer.get_dev_stat(x, "temperature"),
|
||||
self._printer.get_dev_stat(x, "target"),
|
||||
self._printer.get_dev_stat(x, "power"),
|
||||
self._printer.get_stat(x, "temperature"),
|
||||
self._printer.get_stat(x, "target"),
|
||||
self._printer.get_stat(x, "power"),
|
||||
)
|
||||
|
||||
def show_numpad(self, widget, device):
|
||||
|
@ -130,7 +130,7 @@ class Panel(ScreenPanel):
|
||||
self._screen.show_popup_message(_("Nothing selected"))
|
||||
else:
|
||||
for heater in self.active_heaters:
|
||||
target = self._printer.get_dev_stat(heater, "target")
|
||||
target = self._printer.get_stat(heater, "target")
|
||||
name = heater.split()[1] if len(heater.split()) > 1 else heater
|
||||
if direction == "+":
|
||||
target += int(self.tempdelta)
|
||||
@ -153,7 +153,6 @@ class Panel(ScreenPanel):
|
||||
else:
|
||||
logging.info(f"Unknown heater: {heater}")
|
||||
self._screen.show_popup_message(_("Unknown Heater") + " " + heater)
|
||||
self._printer.set_dev_stat(heater, "target", int(target))
|
||||
logging.info(f"Setting {heater} to {target}")
|
||||
|
||||
def update_graph_visibility(self):
|
||||
@ -256,7 +255,6 @@ class Panel(ScreenPanel):
|
||||
def validate(self, heater, target=None, max_temp=None):
|
||||
if target is not None and max_temp is not None:
|
||||
if 0 <= target <= max_temp:
|
||||
self._printer.set_dev_stat(heater, "target", target)
|
||||
return True
|
||||
elif target > max_temp:
|
||||
self._screen.show_popup_message(_("Can't set above the maximum:") + f' {max_temp}')
|
||||
@ -274,7 +272,7 @@ class Panel(ScreenPanel):
|
||||
|
||||
logging.info(f"Adding device: {device}")
|
||||
|
||||
temperature = self._printer.get_dev_stat(device, "temperature")
|
||||
temperature = self._printer.get_stat(device, "temperature")
|
||||
if temperature is None:
|
||||
return False
|
||||
|
||||
@ -403,7 +401,6 @@ class Panel(ScreenPanel):
|
||||
else:
|
||||
logging.info(f"Unknown heater: {self.active_heater}")
|
||||
self._screen.show_popup_message(_("Unknown Heater") + " " + self.active_heater)
|
||||
self._printer.set_dev_stat(self.active_heater, "target", temp)
|
||||
|
||||
def verify_max_temp(self, temp):
|
||||
temp = int(temp)
|
||||
@ -511,9 +508,9 @@ class Panel(ScreenPanel):
|
||||
if x in data:
|
||||
self.update_temp(
|
||||
x,
|
||||
self._printer.get_dev_stat(x, "temperature"),
|
||||
self._printer.get_dev_stat(x, "target"),
|
||||
self._printer.get_dev_stat(x, "power"),
|
||||
self._printer.get_stat(x, "temperature"),
|
||||
self._printer.get_stat(x, "target"),
|
||||
self._printer.get_stat(x, "power"),
|
||||
)
|
||||
|
||||
def show_numpad(self, widget, device=None):
|
||||
|
Loading…
x
Reference in New Issue
Block a user