From c3f96418ea7e65adcfe8020b66c84705281b4d0b Mon Sep 17 00:00:00 2001 From: Jordan Ruthe Date: Wed, 16 Dec 2020 23:02:33 -0500 Subject: [PATCH] screen: allow custom moonraker url/port --- docs/Configuration.md | 4 ++++ docs/changelog.md | 1 + ks_includes/KlipperScreen.conf | 2 ++ ks_includes/KlippyWebsocket.py | 4 ++-- screen.py | 18 ++++++++++++------ 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/docs/Configuration.md b/docs/Configuration.md index aaa6a969..56c4fd06 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -12,6 +12,10 @@ config is included here: [ks_includes/KlipperScreen.conf](../ks_includes/Klipper ## Main Options ``` [main] +# Define the moonraker host/port if different from 127.0.0.1 and 7125 +moonraker_host: 127.0.0.1 +moonraker_port: 7125 + # Invert axis in move panel. Default is False. Change to true to invert invert_x: False invert_y: False diff --git a/docs/changelog.md b/docs/changelog.md index a6c00faa..04834d0e 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,6 +2,7 @@ #### 2020 12 16 * Config file can now be specified when running from the command line +* Moonraker host/port can be specified in the configuration file #### 2020 12 09 * Z value in job status now reflects the gcode Z value. This allows people with ABL to have a better understanding of Z diff --git a/ks_includes/KlipperScreen.conf b/ks_includes/KlipperScreen.conf index a0dc7179..414016dc 100644 --- a/ks_includes/KlipperScreen.conf +++ b/ks_includes/KlipperScreen.conf @@ -1,4 +1,6 @@ [main] +moonraker_host: 127.0.0.1 +moonraker_port: 7125 [preheat PLA] bed = 40 diff --git a/ks_includes/KlippyWebsocket.py b/ks_includes/KlippyWebsocket.py index e0b5cf97..bdd7e3fa 100644 --- a/ks_includes/KlippyWebsocket.py +++ b/ks_includes/KlippyWebsocket.py @@ -38,13 +38,13 @@ class KlippyWebsocket(threading.Thread): callback_table = {} timeout = None - def __init__(self, screen, callback): + def __init__(self, screen, callback, host, port): threading.Thread.__init__(self) self._screen = screen self._callback = callback self.klippy = MoonrakerApi(self) - self._url = "127.0.0.1:7125" + self._url = "%s:%s" % (host, port) def connect (self): #r = requests.get( diff --git a/screen.py b/screen.py index 9bf3bdc1..bb19ef8a 100644 --- a/screen.py +++ b/screen.py @@ -93,7 +93,9 @@ class KlipperScreen(Gtk.Window): self.lang = gettext.translation('KlipperScreen', localedir='ks_includes/locales') _ = self.lang.gettext - self.apiclient = KlippyRest("127.0.0.1",7125) + self.apiclient = KlippyRest(self._config.get_main_config_option("moonraker_host"), + self._config.get_main_config_option("moonraker_port")) + Gtk.Window.__init__(self) self.width = self._config.get_main_config().getint("width", Gdk.Screen.get_width(Gdk.Screen.get_default())) self.height = self._config.get_main_config().getint("height", Gdk.Screen.get_height(Gdk.Screen.get_default())) @@ -108,11 +110,15 @@ class KlipperScreen(Gtk.Window): self.printer_initializing(_("Initializing")) - self._ws = KlippyWebsocket(self, { - "on_connect": self.init_printer, - "on_message": self._websocket_callback, - "on_close": self.printer_initializing - }) + self._ws = KlippyWebsocket(self, + { + "on_connect": self.init_printer, + "on_message": self._websocket_callback, + "on_close": self.printer_initializing + }, + self._config.get_main_config_option("moonraker_host"), + self._config.get_main_config_option("moonraker_port") + ) self._ws.connect() # Disable DPMS