Logging updates, includes version number.
Fix gcode_moves not being queried on opening
This commit is contained in:
parent
18a55fab2e
commit
8df55012d7
45
screen.py
45
screen.py
@ -9,7 +9,8 @@ import requests
|
|||||||
import websocket
|
import websocket
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import asyncio
|
import re
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
gi.require_version("Gtk", "3.0")
|
gi.require_version("Gtk", "3.0")
|
||||||
@ -95,6 +96,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self.height = Gdk.Screen.get_height(Gdk.Screen.get_default())
|
self.height = Gdk.Screen.get_height(Gdk.Screen.get_default())
|
||||||
self.set_default_size(self.width, self.height)
|
self.set_default_size(self.width, self.height)
|
||||||
self.set_resizable(False)
|
self.set_resizable(False)
|
||||||
|
logger.info("KlipperScreen version: %s" % get_software_version())
|
||||||
logger.info("Screen resolution: %sx%s" % (self.width, self.height))
|
logger.info("Screen resolution: %sx%s" % (self.width, self.height))
|
||||||
|
|
||||||
self.printer_initializing("Connecting to Moonraker")
|
self.printer_initializing("Connecting to Moonraker")
|
||||||
@ -189,6 +191,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self._remove_current_panel(pop)
|
self._remove_current_panel(pop)
|
||||||
|
|
||||||
if panel_name not in self.panels:
|
if panel_name not in self.panels:
|
||||||
|
try:
|
||||||
if type == "SplashScreenPanel":
|
if type == "SplashScreenPanel":
|
||||||
self.panels[panel_name] = SplashScreenPanel(self)
|
self.panels[panel_name] = SplashScreenPanel(self)
|
||||||
elif type == "MainPanel":
|
elif type == "MainPanel":
|
||||||
@ -222,11 +225,16 @@ class KlipperScreen(Gtk.Window):
|
|||||||
#Temporary for development
|
#Temporary for development
|
||||||
else:
|
else:
|
||||||
self.panels[panel_name] = MovePanel(self)
|
self.panels[panel_name] = MovePanel(self)
|
||||||
|
except:
|
||||||
|
logger.exception("Unable to load panel %s" % panel_name)
|
||||||
|
|
||||||
|
try:
|
||||||
if kwargs != {}:
|
if kwargs != {}:
|
||||||
self.panels[panel_name].initialize(panel_name, **kwargs)
|
self.panels[panel_name].initialize(panel_name, **kwargs)
|
||||||
else:
|
else:
|
||||||
self.panels[panel_name].initialize(panel_name)
|
self.panels[panel_name].initialize(panel_name)
|
||||||
|
except:
|
||||||
|
logger.exception("Error initializing panel %s" % panel_name)
|
||||||
|
|
||||||
if hasattr(self.panels[panel_name],"process_update"):
|
if hasattr(self.panels[panel_name],"process_update"):
|
||||||
self.panels[panel_name].process_update(self.printer.get_data())
|
self.panels[panel_name].process_update(self.printer.get_data())
|
||||||
@ -241,8 +249,17 @@ class KlipperScreen(Gtk.Window):
|
|||||||
|
|
||||||
|
|
||||||
def read_config (self):
|
def read_config (self):
|
||||||
|
try:
|
||||||
with open(config) as config_file:
|
with open(config) as config_file:
|
||||||
self._config = json.load(config_file)
|
self._config = json.load(config_file)
|
||||||
|
lines = [
|
||||||
|
"===== Config File =====",
|
||||||
|
json.dumps(self._config, indent=2),
|
||||||
|
"=======================",
|
||||||
|
]
|
||||||
|
logger.info("\n".join(lines))
|
||||||
|
except:
|
||||||
|
logger.exception("Error reading configuration file")
|
||||||
|
|
||||||
|
|
||||||
def init_style(self):
|
def init_style(self):
|
||||||
@ -366,7 +383,8 @@ class KlipperScreen(Gtk.Window):
|
|||||||
#self.files.add_file()
|
#self.files.add_file()
|
||||||
elif action == "notify_metadata_update":
|
elif action == "notify_metadata_update":
|
||||||
self.files.update_metadata(data['filename'])
|
self.files.update_metadata(data['filename'])
|
||||||
else:
|
elif not (action == "notify_gcode_response" and data.startswith("B:")
|
||||||
|
and re.search(r'B:[0-9\.]+\s/[0-9\.]+\sT[0-9]+:[0-9\.]+', data)):
|
||||||
logger.debug(json.dumps([action, data], indent=2))
|
logger.debug(json.dumps([action, data], indent=2))
|
||||||
|
|
||||||
for sub in self.subscriptions:
|
for sub in self.subscriptions:
|
||||||
@ -389,6 +407,7 @@ class KlipperScreen(Gtk.Window):
|
|||||||
status_objects = [
|
status_objects = [
|
||||||
'idle_timeout',
|
'idle_timeout',
|
||||||
'configfile',
|
'configfile',
|
||||||
|
'gcode_move',
|
||||||
'toolhead',
|
'toolhead',
|
||||||
'virtual_sdcard',
|
'virtual_sdcard',
|
||||||
'print_stats',
|
'print_stats',
|
||||||
@ -416,6 +435,25 @@ class KlipperScreen(Gtk.Window):
|
|||||||
self.ws_subscribe()
|
self.ws_subscribe()
|
||||||
self.show_panel('job_status',"JobStatusPanel", 2)
|
self.show_panel('job_status',"JobStatusPanel", 2)
|
||||||
|
|
||||||
|
def get_software_version():
|
||||||
|
prog = ('git', '-C', os.path.dirname(__file__), 'describe', '--always',
|
||||||
|
'--tags', '--long', '--dirty')
|
||||||
|
try:
|
||||||
|
process = subprocess.Popen(prog, stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.PIPE)
|
||||||
|
ver, err = process.communicate()
|
||||||
|
retcode = process.wait()
|
||||||
|
if retcode == 0:
|
||||||
|
version = ver.strip()
|
||||||
|
if isinstance(version, bytes):
|
||||||
|
version = version.decode()
|
||||||
|
return version
|
||||||
|
else:
|
||||||
|
logger.debug(f"Error getting git version: {err}")
|
||||||
|
except OSError:
|
||||||
|
logger.exception("Error runing git describe")
|
||||||
|
return "?"
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
win = KlipperScreen()
|
win = KlipperScreen()
|
||||||
@ -425,4 +463,7 @@ def main():
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
try:
|
||||||
main()
|
main()
|
||||||
|
except:
|
||||||
|
logger.exception("Fatal error in main loop")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user