From 42f2398ac1a576022ecabd1ad7837e325d69700f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Sat, 29 Jun 2013 20:28:37 +0200 Subject: [PATCH] Only auto-connect if configured port is available at server startup. Also bugfixes. --- octoprint/server.py | 7 +++++-- octoprint/static/js/ui.js | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/octoprint/server.py b/octoprint/server.py index 49ad367..88e43f7 100644 --- a/octoprint/server.py +++ b/octoprint/server.py @@ -573,7 +573,7 @@ def setSettings(): if "serial" in data.keys(): if "autoconnect" in data["serial"].keys(): s.setBoolean(["serial", "autoconnect"], data["serial"]["autoconnect"]) - if "port" in data["serial"].keys(): s.set(["serial", "port"], data["serial", "port"]) + if "port" in data["serial"].keys(): s.set(["serial", "port"], data["serial"]["port"]) if "baudrate" in data["serial"].keys(): s.setInt(["serial", "baudrate"], data["serial"]["baudrate"]) if "folder" in data.keys(): @@ -851,7 +851,10 @@ class Server(): eventManager.fire("Startup") if settings().getBoolean(["serial", "autoconnect"]): - printer.connect(settings().get(["serial", "port"]), settings().getInt(["serial", "baudrate"])) + (port, baudrate) = settings().get(["serial", "port"]), settings().getInt(["serial", "baudrate"]) + connectionOptions = getConnectionOptions() + if port in connectionOptions["ports"]: + printer.connect(port, baudrate) IOLoop.instance().start() def _createSocketConnection(self, session, endpoint=None): diff --git a/octoprint/static/js/ui.js b/octoprint/static/js/ui.js index eb78006..4058529 100644 --- a/octoprint/static/js/ui.js +++ b/octoprint/static/js/ui.js @@ -190,6 +190,8 @@ function ConnectionViewModel(loginStateViewModel, settingsViewModel) { data: data }) + self.settings.serial_port(self.selectedPort()) + self.settings.serial_baudrate(self.selectedBaudrate()) self.settings.saveData(); } else { self.requestData();