Fix paused state

close #607
fix #611
This commit is contained in:
alfrix 2022-05-23 13:50:47 -03:00 committed by Alfredo Monclus
parent 33195f203f
commit 0f4f56bb9f
3 changed files with 15 additions and 7 deletions

View File

@ -201,6 +201,12 @@ icon: fan
panel: fan panel: fan
enable: {{ printer.fans.count > 0 }} enable: {{ printer.fans.count > 0 }}
[menu __print move]
name: {{ gettext('Move') }}
icon: move
panel: move
enable: {{ (printer.pause_resume.is_paused == True) }}
[menu __print extrude] [menu __print extrude]
name: {{ gettext('Extrude') }} name: {{ gettext('Extrude') }}
icon: filament icon: filament

View File

@ -137,7 +137,7 @@ class Printer:
self.data[x] = {} self.data[x] = {}
self.data[x].update(data[x]) self.data[x].update(data[x])
if "webhooks" in data or "idle_timeout" in data or "print_stats" in data: if "webhooks" in data or "idle_timeout" in data or "print_stats" in data or "pause_resume" in data:
self.evaluate_state() self.evaluate_state()
def get_updates(self): def get_updates(self):
@ -150,7 +150,9 @@ class Printer:
if wh_state == "ready": if wh_state == "ready":
new_state = "ready" new_state = "ready"
if self.data['print_stats']: if self.data['pause_resume']['is_paused']:
new_state = "paused"
elif self.data['print_stats']:
print_state = self.data['print_stats']['state'].lower() # complete, error, paused, printing, standby print_state = self.data['print_stats']['state'].lower() # complete, error, paused, printing, standby
if print_state == "paused": if print_state == "paused":
new_state = "paused" new_state = "paused"
@ -262,7 +264,9 @@ class Printer:
"count": len(self.get_gcode_macros()) "count": len(self.get_gcode_macros())
}, },
"idle_timeout": self.get_stat("idle_timeout").copy(), "idle_timeout": self.get_stat("idle_timeout").copy(),
"pause_resume": self.get_stat("pause_resume").copy(), "pause_resume": {
"is_paused": True if self.state == "paused" else False
},
"power_devices": { "power_devices": {
"count": len(self.get_power_devices()) "count": len(self.get_power_devices())
}, },

View File

@ -31,8 +31,7 @@ class MenuPanel(ScreenPanel):
self.content.add(scroll) self.content.add(scroll)
def activate(self): def activate(self):
if not self.j2_data: self.j2_data = self._printer.get_printer_status_data()
self.j2_data = self._printer.get_printer_status_data()
self.j2_data.update({ self.j2_data.update({
'moonraker_connected': self._screen._ws.is_connected() 'moonraker_connected': self._screen._ws.is_connected()
}) })
@ -108,8 +107,7 @@ class MenuPanel(ScreenPanel):
logging.info("moonraker is_connected %s", self._screen._ws.is_connected()) logging.info("moonraker is_connected %s", self._screen._ws.is_connected())
return self._screen._ws.is_connected() return self._screen._ws.is_connected()
if not self.j2_data: self.j2_data = self._printer.get_printer_status_data()
self.j2_data = self._printer.get_printer_status_data()
try: try:
logging.debug("Template: '%s'" % enable) logging.debug("Template: '%s'" % enable)
logging.debug("Data: %s" % self.j2_data) logging.debug("Data: %s" % self.j2_data)