Merge branch 'develop'
This commit is contained in:
commit
482d926ce1
@ -263,14 +263,14 @@ class KlipperScreenConfig:
|
||||
{"screen_blanking": {
|
||||
"section": "main", "name": _("Screen Power Off Time"), "type": "dropdown",
|
||||
"tooltip": _("Timeout for screen black-out or power-off"),
|
||||
"value": "3600", "callback": screen.set_screenblanking_timeout, "options": [
|
||||
"value": "off", "callback": screen.set_screenblanking_timeout, "options": [
|
||||
{"name": _("Never"), "value": "off"}]
|
||||
}},
|
||||
{"screen_blanking_printing": {
|
||||
"section": "main", "name": _("Screen Power Off Time") + " (" + _("Printing") + ")",
|
||||
"type": "dropdown",
|
||||
"tooltip": _("Timeout for screen black-out or power-off during printing"),
|
||||
"value": "3600", "callback": screen.set_screenblanking_printing_timeout, "options": [
|
||||
"value": "off", "callback": screen.set_screenblanking_printing_timeout, "options": [
|
||||
{"name": _("Never"), "value": "off"}]
|
||||
}},
|
||||
{"24htime": {"section": "main", "name": _("24 Hour Time"), "type": "binary",
|
||||
@ -279,15 +279,15 @@ class KlipperScreenConfig:
|
||||
{"font_size": {
|
||||
"section": "main", "name": _("Font Size"), "type": "dropdown",
|
||||
"tooltip": _("Inversely affects the icon size"),
|
||||
"value": "medium", "callback": screen.restart_ks, "options": [
|
||||
{"name": _("Small"), "value": "small"},
|
||||
{"name": _("Medium") + " " + _("(default)"), "value": "medium"},
|
||||
"value": "small", "callback": screen.restart_ks, "options": [
|
||||
{"name": _("Small") + " " + _("(default)"),"value": "small"},
|
||||
{"name": _("Medium"), "value": "medium"},
|
||||
{"name": _("Large"), "value": "large"},
|
||||
{"name": _("Extra Large"), "value": "extralarge"},
|
||||
{"name": _("Maximum"), "value": "max"}]}},
|
||||
{"confirm_estop": {"section": "main", "name": _("Confirm Emergency Stop"), "type": "binary",
|
||||
"tooltip": _("Asks for confirmation before stopping"),
|
||||
"value": "False"}},
|
||||
"value": "True"}},
|
||||
{"only_heaters": {"section": "main", "name": _("Hide sensors in Temp."), "type": "binary",
|
||||
"tooltip": _("Show only devices that are able to be set"),
|
||||
"value": "False", "callback": screen.reload_panels}},
|
||||
|
@ -129,9 +129,9 @@ class Panel(ScreenPanel):
|
||||
# The minimum is 1, but least 2 values are needed to create a scale
|
||||
max_velocity = max(int(float(printer_cfg["max_velocity"])), 2)
|
||||
if "max_z_velocity" in printer_cfg:
|
||||
max_z_velocity = max(int(float(printer_cfg["max_z_velocity"])), 2)
|
||||
self.max_z_velocity = max(int(float(printer_cfg["max_z_velocity"])), 2)
|
||||
else:
|
||||
max_z_velocity = max_velocity
|
||||
self.max_z_velocity = max_velocity
|
||||
|
||||
configurable_options = [
|
||||
{
|
||||
@ -184,7 +184,7 @@ class Panel(ScreenPanel):
|
||||
"type": "scale",
|
||||
"tooltip": _("Only for the move panel"),
|
||||
"value": "10",
|
||||
"range": [1, max_z_velocity],
|
||||
"range": [1, self.max_z_velocity],
|
||||
"step": 1,
|
||||
}
|
||||
},
|
||||
@ -249,14 +249,22 @@ class Panel(ScreenPanel):
|
||||
direction = "-" if direction == "+" else "+"
|
||||
|
||||
dist = f"{direction}{self.distance}"
|
||||
config_key = "move_speed_z" if axis == "Z" else "move_speed_xy"
|
||||
config_key = "move_speed_z" if axis == "z" else "move_speed_xy"
|
||||
if axis == "z":
|
||||
pos_z_text = self.labels["pos_z"].get_text()
|
||||
pos_z_match = re.search(r"Z:\s*([-+]?\d*\.\d+|\d+)", pos_z_text)
|
||||
if pos_z_match:
|
||||
z_value = float(pos_z_match.group(1))
|
||||
if direction == "-" and z_value < float(self.distance):
|
||||
self._screen.show_popup_message(_("Z axis cannot move to negative values"))
|
||||
return
|
||||
speed = (
|
||||
None
|
||||
if self.ks_printer_cfg is None
|
||||
else self.ks_printer_cfg.getint(config_key, None)
|
||||
)
|
||||
if speed is None:
|
||||
speed = self._config.get_config()["main"].getint(config_key, 20)
|
||||
speed = self._config.get_config()["main"].getint(config_key, self.max_z_velocity)
|
||||
speed = 60 * max(1, speed)
|
||||
script = f"{KlippyGcodes.MOVE_RELATIVE}\nG0 {axis}{dist} F{speed}"
|
||||
self._screen._send_action(widget, "printer.gcode.script", {"script": script})
|
||||
|
@ -12,11 +12,6 @@ class Panel(ScreenPanel):
|
||||
self.printers = self.settings = self.langs = {}
|
||||
self.menu = ['settings_menu']
|
||||
options = self._config.get_configurable_options().copy()
|
||||
options.append({"printers": {
|
||||
"name": _("Printer Connections"),
|
||||
"type": "menu",
|
||||
"menu": "printers"
|
||||
}})
|
||||
options.append({"lang": {
|
||||
"name": _("Language"),
|
||||
"type": "menu",
|
||||
@ -40,18 +35,4 @@ class Panel(ScreenPanel):
|
||||
}
|
||||
self.add_option("lang", self.langs, lang, self.langs[lang])
|
||||
|
||||
self.labels['printers_menu'] = self._gtk.ScrolledWindow()
|
||||
self.labels['printers'] = Gtk.Grid()
|
||||
self.labels['printers_menu'].add(self.labels['printers'])
|
||||
for printer in self._config.get_printers():
|
||||
pname = list(printer)[0]
|
||||
self.printers[pname] = {
|
||||
"name": pname,
|
||||
"section": f"printer {pname}",
|
||||
"type": "printer",
|
||||
"moonraker_host": printer[pname]['moonraker_host'],
|
||||
"moonraker_port": printer[pname]['moonraker_port'],
|
||||
}
|
||||
self.add_option("printers", self.printers, pname, self.printers[pname])
|
||||
|
||||
self.content.add(self.labels['settings_menu'])
|
||||
|
@ -26,10 +26,24 @@ class Panel(ScreenPanel):
|
||||
self.target_clicks = 10
|
||||
self.grid = Gtk.Grid(column_spacing=10, row_spacing=5)
|
||||
|
||||
sysinfo = screen.printer.system_info
|
||||
logging.info(sysinfo)
|
||||
self.sysinfo = screen.printer.system_info
|
||||
if not self.sysinfo:
|
||||
logging.debug("Asking for info")
|
||||
self.sysinfo = screen.apiclient.send_request("machine/system_info")
|
||||
if 'system_info' in self.sysinfo:
|
||||
screen.printer.system_info = self.sysinfo['system_info']
|
||||
self.sysinfo = self.sysinfo['system_info']
|
||||
logging.debug(self.sysinfo)
|
||||
if self.sysinfo:
|
||||
self.content.add(self.create_layout())
|
||||
else:
|
||||
self.content.add(Gtk.Label(label=_("No info available"), vexpand=True))
|
||||
|
||||
self.cpu_count = int(sysinfo["cpu_info"]["cpu_count"])
|
||||
def back(self):
|
||||
if not self.sysinfo:
|
||||
self._screen.panels_reinit.append("system")
|
||||
return False
|
||||
def create_layout(self):
|
||||
self.labels["cpu_usage"] = Gtk.Label(label="", xalign=0)
|
||||
self.grid.attach(self.labels["cpu_usage"], 0, self.current_row, 1, 1)
|
||||
self.scales["cpu_usage"] = Gtk.ProgressBar(
|
||||
@ -49,9 +63,9 @@ class Panel(ScreenPanel):
|
||||
|
||||
self.grid.attach(Gtk.Separator(), 0, self.current_row, 2, 1)
|
||||
self.current_row += 1
|
||||
self.machine_info(sysinfo)
|
||||
self.machine_info()
|
||||
self.current_row += 1
|
||||
self.populate_info(sysinfo)
|
||||
self.populate_info()
|
||||
|
||||
scroll = self._gtk.ScrolledWindow()
|
||||
scroll.add(self.grid)
|
||||
@ -77,6 +91,7 @@ class Panel(ScreenPanel):
|
||||
self.add_option(
|
||||
"model", self.models, model_name, self.models[model_name]
|
||||
)
|
||||
return scroll
|
||||
def change_model(self, widget, event):
|
||||
self.model_config.generate_config(event)
|
||||
def on_model_click(self, widget, event):
|
||||
@ -107,7 +122,7 @@ class Panel(ScreenPanel):
|
||||
label = Gtk.Label(label=text, use_markup=True, xalign=0, wrap=True)
|
||||
self.grid.attach(label, column, self.current_row, 1, 1)
|
||||
self.current_row += 1
|
||||
def machine_info(self, sysinfo):
|
||||
def machine_info(self):
|
||||
self.add_label_to_grid(self.prettify("device"), 0, bold=True)
|
||||
self.current_row -= 1
|
||||
self.add_label_to_grid("Maker: CreatBot", 1)
|
||||
@ -120,8 +135,8 @@ class Panel(ScreenPanel):
|
||||
event_box.add(label)
|
||||
self.add_label_to_grid(f"Name: {self._screen.connecting_to_printer}", 1)
|
||||
|
||||
def populate_info(self, sysinfo):
|
||||
for category, data in sysinfo.items():
|
||||
def populate_info(self):
|
||||
for category, data in self.sysinfo.items():
|
||||
if category == "python":
|
||||
self.add_label_to_grid(self.prettify(category), 0, bold=True)
|
||||
self.current_row -= 1
|
||||
@ -139,7 +154,7 @@ class Panel(ScreenPanel):
|
||||
"service_state",
|
||||
"instance_ids",
|
||||
)
|
||||
or not sysinfo[category]
|
||||
or not self.sysinfo[category]
|
||||
):
|
||||
continue
|
||||
|
||||
@ -175,6 +190,8 @@ class Panel(ScreenPanel):
|
||||
self.add_label_to_grid(f"{self.prettify(key)}: {value}", 1)
|
||||
|
||||
def process_update(self, action, data):
|
||||
if not self.sysinfo:
|
||||
return
|
||||
if action == "notify_proc_stat_update":
|
||||
self.labels["cpu_usage"].set_label(
|
||||
f'CPU: {data["system_cpu_usage"]["cpu"]:.0f}%'
|
||||
|
Loading…
x
Reference in New Issue
Block a user