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