basic support for extruder_stepper
This commit is contained in:
parent
c6df1b667c
commit
5a02ac75ae
@ -291,6 +291,11 @@ class KlippyGtk:
|
||||
return text
|
||||
|
||||
def formatTemperatureString(self, temp, target):
|
||||
if temp is None:
|
||||
logging.debug("Temp is none")
|
||||
return
|
||||
if target is None:
|
||||
target = 0
|
||||
if (temp - 2 < target < temp + 2) or round(target, 0) == 0:
|
||||
return str(round(temp, 1)) + "°C" # °C →"
|
||||
return str(round(temp)) + " °C\n(" + str(round(target)) + ")"
|
||||
|
@ -19,7 +19,6 @@ class Printer:
|
||||
"shutdown": None
|
||||
}
|
||||
tools = []
|
||||
toolcount = 0
|
||||
extrudercount = 0
|
||||
tempdevcount = 0
|
||||
fancount = 0
|
||||
@ -38,7 +37,6 @@ class Printer:
|
||||
self.power_devices = None
|
||||
self.state_callbacks = None
|
||||
self.tools = None
|
||||
self.toolcount = None
|
||||
self.extrudercount = None
|
||||
self.tempdevcount = None
|
||||
self.fancount = None
|
||||
@ -51,7 +49,6 @@ class Printer:
|
||||
def reinit(self, printer_info, data):
|
||||
logging.debug("Moonraker object status: %s" % data)
|
||||
self.config = data['configfile']['config']
|
||||
self.toolcount = 0
|
||||
self.extrudercount = 0
|
||||
self.tempdevcount = 0
|
||||
self.fancount = 0
|
||||
@ -69,19 +66,15 @@ class Printer:
|
||||
|
||||
for x in self.config.keys():
|
||||
if x[0:8] == "extruder":
|
||||
self.tools.append(x)
|
||||
self.tools = sorted(self.tools)
|
||||
self.extrudercount += 1
|
||||
if x.startswith('extruder_stepper'):
|
||||
continue
|
||||
|
||||
self.devices[x] = {
|
||||
"temperature": 0,
|
||||
"target": 0
|
||||
}
|
||||
self.tools.append(x)
|
||||
self.tools = sorted(self.tools)
|
||||
self.toolcount += 1
|
||||
if "shared_heater" in self.config[x]:
|
||||
continue
|
||||
self.extrudercount += 1
|
||||
if x == 'heater_bed' or x.startswith('heater_generic ') or x.startswith('temperature_sensor ') \
|
||||
or x.startswith('temperature_fan '):
|
||||
self.devices[x] = {
|
||||
@ -104,7 +97,6 @@ class Printer:
|
||||
self.process_update(data)
|
||||
|
||||
logging.info("Klipper version: %s", self.klipper['version'])
|
||||
logging.info("# Toolcount: %s", str(self.toolcount))
|
||||
logging.info("# Extruders: %s", str(self.extrudercount))
|
||||
logging.info("# Temperature devices: %s", str(self.tempdevcount))
|
||||
logging.info("# Fans: %s", str(self.fancount))
|
||||
|
@ -116,7 +116,7 @@ class ScreenPanel:
|
||||
self.labels[label]['l'].set_text(text)
|
||||
|
||||
def update_temp(self, dev, temp, target, name=None):
|
||||
if dev in self.labels:
|
||||
if dev in self.labels and temp is not None:
|
||||
if name is None:
|
||||
self.labels[dev].set_label(self._gtk.formatTemperatureString(temp, target))
|
||||
else:
|
||||
|
@ -49,9 +49,9 @@ class ExtrudePanel(ScreenPanel):
|
||||
limit = 5
|
||||
for i, extruder in enumerate(self._printer.get_tools()):
|
||||
if self._printer.extrudercount > 1:
|
||||
self.labels[extruder] = self._gtk.ButtonImage("extruder-%s" % i, _("Tool") + " %s" % str(i))
|
||||
self.labels[extruder] = self._gtk.ButtonImage("extruder-%s" % i, "")
|
||||
else:
|
||||
self.labels[extruder] = self._gtk.ButtonImage("extruder", _("Tool"))
|
||||
self.labels[extruder] = self._gtk.ButtonImage("extruder", "")
|
||||
self.labels[extruder].connect("clicked", self.change_extruder, extruder)
|
||||
if extruder == self.current_extruder:
|
||||
self.labels[extruder].get_style_context().add_class("button_active")
|
||||
@ -218,8 +218,10 @@ class ExtrudePanel(ScreenPanel):
|
||||
self.labels["dist" + str(i)].set_active(False)
|
||||
|
||||
def change_extruder(self, widget, extruder):
|
||||
if extruder == self.current_extruder:
|
||||
return
|
||||
logging.info("Changing extruder to %s", extruder)
|
||||
for tool in self._printer.get_tools():
|
||||
self.labels[tool].get_style_context().remove_class("button_active")
|
||||
self.labels[extruder].get_style_context().add_class("button_active")
|
||||
|
||||
self._screen._ws.klippy.gcode_script("T%s" % self._printer.get_tool_number(extruder))
|
||||
|
||||
|
@ -27,12 +27,14 @@ class TemperaturePanel(ScreenPanel):
|
||||
# When printing start in temp_delta mode and only select tools
|
||||
state = self._printer.get_state()
|
||||
logging.info(state)
|
||||
selection = []
|
||||
if "extruder" in self._printer.get_tools():
|
||||
selection.append("extruder")
|
||||
if state not in ["printing", "paused"]:
|
||||
self.show_preheat = True
|
||||
selection = self._printer.get_tools() + self._printer.get_heaters()
|
||||
selection.extend(self._printer.get_heaters())
|
||||
else:
|
||||
self.show_preheat = False
|
||||
selection = self._printer.get_tools()
|
||||
|
||||
# Select heaters
|
||||
for h in selection:
|
||||
|
Loading…
x
Reference in New Issue
Block a user