diff --git a/src/octoprint/server/ajax/settings.py b/src/octoprint/server/ajax/settings.py index a9001898..aa12a068 100644 --- a/src/octoprint/server/ajax/settings.py +++ b/src/octoprint/server/ajax/settings.py @@ -56,6 +56,7 @@ def getSettings(): "waitForStart": s.getBoolean(["feature", "waitForStartOnConnect"]), "alwaysSendChecksum": s.getBoolean(["feature", "alwaysSendChecksum"]), "sdSupport": s.getBoolean(["feature", "sdSupport"]), + "sdAlwaysAvailable": s.getBoolean(["feature", "sdAlwaysAvailable"]), "swallowOkAfterResend": s.getBoolean(["feature", "swallowOkAfterResend"]) }, "serial": { @@ -129,6 +130,7 @@ def setSettings(): if "waitForStart" in data["feature"].keys(): s.setBoolean(["feature", "waitForStartOnConnect"], data["feature"]["waitForStart"]) if "alwaysSendChecksum" in data["feature"].keys(): s.setBoolean(["feature", "alwaysSendChecksum"], data["feature"]["alwaysSendChecksum"]) if "sdSupport" in data["feature"].keys(): s.setBoolean(["feature", "sdSupport"], data["feature"]["sdSupport"]) + if "sdAlwaysAvailable" in data["feature"].keys(): s.setBoolean(["feature", "sdAlwaysAvailable"], data["feature"]["sdAlwaysAvailable"]) if "swallowOkAfterResend" in data["feature"].keys(): s.setBoolean(["feature", "swallowOkAfterResend"], data["feature"]["swallowOkAfterResend"]) if "serial" in data.keys(): diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index 9ef1e956..e15740cb 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -61,6 +61,7 @@ default_settings = { "waitForStartOnConnect": False, "alwaysSendChecksum": False, "sdSupport": True, + "sdAlwaysAvailable": False, "swallowOkAfterResend": True }, "folder": { diff --git a/src/octoprint/static/js/app/viewmodels/settings.js b/src/octoprint/static/js/app/viewmodels/settings.js index d0ffd224..3d4e779d 100644 --- a/src/octoprint/static/js/app/viewmodels/settings.js +++ b/src/octoprint/static/js/app/viewmodels/settings.js @@ -32,6 +32,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) { self.feature_waitForStart = ko.observable(undefined); self.feature_alwaysSendChecksum = ko.observable(undefined); self.feature_sdSupport = ko.observable(undefined); + self.feature_sdAlwaysAvailable = ko.observable(undefined); self.feature_swallowOkAfterResend = ko.observable(undefined); self.serial_port = ko.observable(); @@ -135,6 +136,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) { self.feature_waitForStart(response.feature.waitForStart); self.feature_alwaysSendChecksum(response.feature.alwaysSendChecksum); self.feature_sdSupport(response.feature.sdSupport); + self.feature_sdAlwaysAvailable(response.feature.sdAlwaysAvailable); self.feature_swallowOkAfterResend(response.feature.swallowOkAfterResend); self.serial_port(response.serial.port); @@ -195,6 +197,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) { "waitForStart": self.feature_waitForStart(), "alwaysSendChecksum": self.feature_alwaysSendChecksum(), "sdSupport": self.feature_sdSupport(), + "sdAlwaysAvailable": self.feature_sdAlwaysAvailable(), "swallowOkAfterResend": self.feature_swallowOkAfterResend() }, "serial": { diff --git a/src/octoprint/templates/settings.jinja2 b/src/octoprint/templates/settings.jinja2 index ff882bdc..1c71a6ae 100644 --- a/src/octoprint/templates/settings.jinja2 +++ b/src/octoprint/templates/settings.jinja2 @@ -204,6 +204,13 @@ +