From e64a9bd4b53135e0b88e24995145db542998fdea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Thu, 17 Dec 2015 10:36:39 +0100 Subject: [PATCH] Added feature flag to toggle F command support Defaults to off, set feature.supportFAsCommand to true to enable. --- src/octoprint/plugins/virtual_printer/virtual.py | 8 +++++++- src/octoprint/settings.py | 6 ++++-- src/octoprint/util/comm.py | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/octoprint/plugins/virtual_printer/virtual.py b/src/octoprint/plugins/virtual_printer/virtual.py index 2fafabb0..28ec22f1 100644 --- a/src/octoprint/plugins/virtual_printer/virtual.py +++ b/src/octoprint/plugins/virtual_printer/virtual.py @@ -77,6 +77,7 @@ class VirtualPrinter(object): self._okBeforeCommandOutput = settings().getBoolean(["devel", "virtualPrinter", "okBeforeCommandOutput"]) self._supportM112 = settings().getBoolean(["devel", "virtualPrinter", "supportM112"]) + self._supportF = settings().getBoolean(["devel", "virtualPrinter", "supportF"]) self._sendWait = settings().getBoolean(["devel", "virtualPrinter", "sendWait"]) self._waitInterval = settings().getFloat(["devel", "virtualPrinter", "waitInterval"]) @@ -241,7 +242,12 @@ class VirtualPrinter(object): self._send("Active Extruder: %d" % self.currentExtruder) def _gcode_F(self, code, data): - self._send("echo:changed F value") + if self._supportF: + self._send("echo:changed F value") + return False + else: + self._send("Error: Unknown command F") + return True def _gcode_M104(self, data): self._parseHotendCommand(data) diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index 0903f3ff..98f31016 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -166,7 +166,8 @@ default_settings = { "keyboardControl": True, "pollWatched": False, "ignoreIdenticalResends": False, - "identicalResendsCountdown": 7 + "identicalResendsCountdown": 7, + "supportFAsCommand": False }, "folder": { "uploads": None, @@ -310,7 +311,8 @@ default_settings = { "sendWait": True, "waitInterval": 1.0, "supportM112": True, - "echoOnM117": True + "echoOnM117": True, + "supportF": False } } } diff --git a/src/octoprint/util/comm.py b/src/octoprint/util/comm.py index a410962d..6b7b7a66 100644 --- a/src/octoprint/util/comm.py +++ b/src/octoprint/util/comm.py @@ -2499,7 +2499,7 @@ def gcode_command_for_cmd(cmd): return values["commandGM"] elif "commandT" in values and values["commandT"]: return values["commandT"] - elif "commandF" in values and values["commandF"]: + elif settings().getBoolean(["feature", "supportFAsCommand"]) and "commandF" in values and values["commandF"]: return values["commandF"] else: # this should never happen