diff --git a/src/octoprint/server/api/settings.py b/src/octoprint/server/api/settings.py index e108452c..49d92e98 100644 --- a/src/octoprint/server/api/settings.py +++ b/src/octoprint/server/api/settings.py @@ -86,6 +86,8 @@ def getSettings(): "log": s.getBoolean(["serial", "log"]), "additionalPorts": s.get(["serial", "additionalPorts"]), "longRunningCommands": s.get(["serial", "longRunningCommands"]), + "checksumRequiringCommands": s.get(["serial", "checksumRequiringCommands"]), + "helloCommand": s.get(["serial", "helloCommand"]), "ignoreErrorsFromFirmware": s.getBoolean(["serial", "ignoreErrorsFromFirmware"]), "disconnectOnErrors": s.getBoolean(["serial", "disconnectOnErrors"]), }, @@ -228,6 +230,8 @@ def setSettings(): if "timeoutSdStatus" in data["serial"].keys(): s.setFloat(["serial", "timeout", "sdStatus"], data["serial"]["timeoutSdStatus"]) if "additionalPorts" in data["serial"] and isinstance(data["serial"]["additionalPorts"], (list, tuple)): s.set(["serial", "additionalPorts"], data["serial"]["additionalPorts"]) if "longRunningCommands" in data["serial"] and isinstance(data["serial"]["longRunningCommands"], (list, tuple)): s.set(["serial", "longRunningCommands"], data["serial"]["longRunningCommands"]) + if "checksumRequiringCommands" in data["serial"] and isinstance(data["serial"]["checksumRequiringCommands"], (list, tuple)): s.set(["serial", "checksumRequiringCommands"], data["serial"]["checksumRequiringCommands"]) + if "helloCommand" in data["serial"]: s.set(["serial", "helloCommand"], data["serial"]["helloCommand"]) if "ignoreErrorsFromFirmware" in data["serial"]: s.setBoolean(["serial", "ignoreErrorsFromFirmware"], data["serial"]["ignoreErrorsFromFirmware"]) if "disconnectOnErrors" in data["serial"]: s.setBoolean(["serial", "disconnectOnErrors"], data["serial"]["disconnectOnErrors"]) diff --git a/src/octoprint/static/js/app/viewmodels/settings.js b/src/octoprint/static/js/app/viewmodels/settings.js index 0ed23431..4e7b79dc 100644 --- a/src/octoprint/static/js/app/viewmodels/settings.js +++ b/src/octoprint/static/js/app/viewmodels/settings.js @@ -136,6 +136,8 @@ $(function() { self.serial_log = ko.observable(undefined); self.serial_additionalPorts = ko.observable(undefined); self.serial_longRunningCommands = ko.observable(undefined); + self.serial_checksumRequiringCommands = ko.observable(undefined); + self.serial_helloCommand = ko.observable(undefined); self.serial_ignoreErrorsFromFirmware = ko.observable(undefined); self.serial_disconnectOnErrors = ko.observable(undefined); @@ -452,6 +454,8 @@ $(function() { self.serial_log(response.serial.log); self.serial_additionalPorts(response.serial.additionalPorts.join("\n")); self.serial_longRunningCommands(response.serial.longRunningCommands.join(", ")); + self.serial_checksumRequiringCommands(response.serial.checksumRequiringCommands.join(", ")); + self.serial_helloCommand(response.serial.helloCommand); self.serial_ignoreErrorsFromFirmware(response.serial.ignoreErrorsFromFirmware); self.serial_disconnectOnErrors(response.serial.disconnectOnErrors); @@ -541,6 +545,8 @@ $(function() { "log": self.serial_log(), "additionalPorts": commentableLinesToArray(self.serial_additionalPorts()), "longRunningCommands": splitTextToArray(self.serial_longRunningCommands(), ",", true), + "checksumRequiringCommands": splitTextToArray(self.serial_checksumRequiringCommands(), ",", true), + "helloCommand": self.serial_helloCommand(), "ignoreErrorsFromFirmware": self.serial_ignoreErrorsFromFirmware(), "disconnectOnErrors": self.serial_disconnectOnErrors() }, diff --git a/src/octoprint/templates/dialogs/settings/serialconnection.jinja2 b/src/octoprint/templates/dialogs/settings/serialconnection.jinja2 index afa14445..e871184f 100644 --- a/src/octoprint/templates/dialogs/settings/serialconnection.jinja2 +++ b/src/octoprint/templates/dialogs/settings/serialconnection.jinja2 @@ -70,13 +70,6 @@ -
M110 to send to the printer on initial connection to trigger a communication handshake.') }}
+