Always send M110 with the new line number (default 0)
Previously it worked since the first command of every print was forced to be an M110 and the line number at the beginning of each print was always forced back to 0 as well. Now it just uses the actual line number (increased on each sent of a checksumed/numbered line) and resets that when an M110 is encountered. What was missing was forcing the line number of the actual M110 command to the desired line number as well. Should be "more correct" than before now, and work.master
parent
695f3f391c
commit
09ae8fcdc2
|
@ -496,7 +496,6 @@ def getSettings():
|
||||||
"gcodeViewer": s.getBoolean(["feature", "gCodeVisualizer"]),
|
"gcodeViewer": s.getBoolean(["feature", "gCodeVisualizer"]),
|
||||||
"waitForStart": s.getBoolean(["feature", "waitForStartOnConnect"]),
|
"waitForStart": s.getBoolean(["feature", "waitForStartOnConnect"]),
|
||||||
"alwaysSendChecksum": s.getBoolean(["feature", "alwaysSendChecksum"]),
|
"alwaysSendChecksum": s.getBoolean(["feature", "alwaysSendChecksum"]),
|
||||||
"resetLineNumbersWithPrefixedN": s.getBoolean(["feature", "resetLineNumbersWithPrefixedN"]),
|
|
||||||
"sdSupport": s.getBoolean(["feature", "sdSupport"])
|
"sdSupport": s.getBoolean(["feature", "sdSupport"])
|
||||||
},
|
},
|
||||||
"folder": {
|
"folder": {
|
||||||
|
@ -549,7 +548,6 @@ def setSettings():
|
||||||
if "gcodeViewer" in data["feature"].keys(): s.setBoolean(["feature", "gCodeVisualizer"], data["feature"]["gcodeViewer"])
|
if "gcodeViewer" in data["feature"].keys(): s.setBoolean(["feature", "gCodeVisualizer"], data["feature"]["gcodeViewer"])
|
||||||
if "waitForStart" in data["feature"].keys(): s.setBoolean(["feature", "waitForStartOnConnect"], data["feature"]["waitForStart"])
|
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 "alwaysSendChecksum" in data["feature"].keys(): s.setBoolean(["feature", "alwaysSendChecksum"], data["feature"]["alwaysSendChecksum"])
|
||||||
if "resetLineNumbersWithPrefixedN" in data["feature"].keys(): s.setBoolean(["feature", "resetLineNumbersWithPrefixedN"], data["feature"]["resetLineNumbersWithPrefixedN"])
|
|
||||||
if "sdSupport" in data["feature"].keys(): s.setBoolean(["feature", "sdSupport"], data["feature"]["sdSupport"])
|
if "sdSupport" in data["feature"].keys(): s.setBoolean(["feature", "sdSupport"], data["feature"]["sdSupport"])
|
||||||
|
|
||||||
if "folder" in data.keys():
|
if "folder" in data.keys():
|
||||||
|
|
|
@ -43,9 +43,7 @@ default_settings = {
|
||||||
"feature": {
|
"feature": {
|
||||||
"gCodeVisualizer": True,
|
"gCodeVisualizer": True,
|
||||||
"waitForStartOnConnect": False,
|
"waitForStartOnConnect": False,
|
||||||
"waitForWaitOnConnect": False,
|
|
||||||
"alwaysSendChecksum": False,
|
"alwaysSendChecksum": False,
|
||||||
"resetLineNumbersWithPrefixedN": False,
|
|
||||||
"sdSupport": True
|
"sdSupport": True
|
||||||
},
|
},
|
||||||
"folder": {
|
"folder": {
|
||||||
|
|
|
@ -1335,7 +1335,6 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
||||||
self.feature_gcodeViewer = ko.observable(undefined);
|
self.feature_gcodeViewer = ko.observable(undefined);
|
||||||
self.feature_waitForStart = ko.observable(undefined);
|
self.feature_waitForStart = ko.observable(undefined);
|
||||||
self.feature_alwaysSendChecksum = ko.observable(undefined);
|
self.feature_alwaysSendChecksum = ko.observable(undefined);
|
||||||
self.feature_resetLineNumbersWithPrefixedN = ko.observable(undefined);
|
|
||||||
self.feature_sdSupport = ko.observable(undefined);
|
self.feature_sdSupport = ko.observable(undefined);
|
||||||
|
|
||||||
self.folder_uploads = ko.observable(undefined);
|
self.folder_uploads = ko.observable(undefined);
|
||||||
|
@ -1387,7 +1386,6 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
||||||
self.feature_gcodeViewer(response.feature.gcodeViewer);
|
self.feature_gcodeViewer(response.feature.gcodeViewer);
|
||||||
self.feature_waitForStart(response.feature.waitForStart);
|
self.feature_waitForStart(response.feature.waitForStart);
|
||||||
self.feature_alwaysSendChecksum(response.feature.alwaysSendChecksum);
|
self.feature_alwaysSendChecksum(response.feature.alwaysSendChecksum);
|
||||||
self.feature_resetLineNumbersWithPrefixedN(response.feature.resetLineNumbersWithPrefixedN);
|
|
||||||
self.feature_sdSupport(response.feature.sdSupport);
|
self.feature_sdSupport(response.feature.sdSupport);
|
||||||
|
|
||||||
self.folder_uploads(response.folder.uploads);
|
self.folder_uploads(response.folder.uploads);
|
||||||
|
@ -1429,7 +1427,6 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
||||||
"gcodeViewer": self.feature_gcodeViewer(),
|
"gcodeViewer": self.feature_gcodeViewer(),
|
||||||
"waitForStart": self.feature_waitForStart(),
|
"waitForStart": self.feature_waitForStart(),
|
||||||
"alwaysSendChecksum": self.feature_alwaysSendChecksum(),
|
"alwaysSendChecksum": self.feature_alwaysSendChecksum(),
|
||||||
"resetLineNumbersWithPrefixedN": self.feature_resetLineNumbersWithPrefixedN(),
|
|
||||||
"sdSupport": self.feature_sdSupport()
|
"sdSupport": self.feature_sdSupport()
|
||||||
},
|
},
|
||||||
"folder": {
|
"folder": {
|
||||||
|
|
|
@ -134,13 +134,6 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="control-group">
|
|
||||||
<div class="controls">
|
|
||||||
<label class="checkbox">
|
|
||||||
<input type="checkbox" data-bind="checked: feature_resetLineNumbersWithPrefixedN" id="settings-resetLineNumbersWithPrefixedN"> Send M110 commands with target line number as N-prefix <span class="label">Repetier</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-pane" id="settings_folder">
|
<div class="tab-pane" id="settings_folder">
|
||||||
|
|
|
@ -110,6 +110,7 @@ class VirtualPrinter():
|
||||||
data = data.strip()
|
data = data.strip()
|
||||||
if "*" in data:
|
if "*" in data:
|
||||||
data = data[:data.rfind("*")]
|
data = data[:data.rfind("*")]
|
||||||
|
self.currentLine += 1
|
||||||
data += "\n"
|
data += "\n"
|
||||||
|
|
||||||
# shortcut for writing to SD
|
# shortcut for writing to SD
|
||||||
|
@ -172,7 +173,8 @@ class VirtualPrinter():
|
||||||
self._deleteSdFile(filename)
|
self._deleteSdFile(filename)
|
||||||
elif "M110" in data:
|
elif "M110" in data:
|
||||||
# reset current line
|
# reset current line
|
||||||
self.currentLine = int(re.search('N([0-9]+)', data).group(1))
|
self.currentLine = int(re.search('^N([0-9]+)', data).group(1))
|
||||||
|
self.readList.append("reset line to %r\n" % self.currentLine)
|
||||||
self.readList.append("ok\n")
|
self.readList.append("ok\n")
|
||||||
elif "M114" in data:
|
elif "M114" in data:
|
||||||
# send dummy position report
|
# send dummy position report
|
||||||
|
@ -187,9 +189,6 @@ class VirtualPrinter():
|
||||||
elif len(data.strip()) > 0:
|
elif len(data.strip()) > 0:
|
||||||
self.readList.append("ok\n")
|
self.readList.append("ok\n")
|
||||||
|
|
||||||
if "*" in data:
|
|
||||||
self.currentLine += 1
|
|
||||||
|
|
||||||
def _listSd(self):
|
def _listSd(self):
|
||||||
self.readList.append("Begin file list")
|
self.readList.append("Begin file list")
|
||||||
for osFile in os.listdir(self._virtualSd):
|
for osFile in os.listdir(self._virtualSd):
|
||||||
|
@ -953,15 +952,9 @@ class MachineCom(object):
|
||||||
else:
|
else:
|
||||||
newLineNumber = 0
|
newLineNumber = 0
|
||||||
|
|
||||||
if settings().getBoolean(["feature", "resetLineNumbersWithPrefixedN"]) and newLineNumber is not None:
|
# send M110 command with new line number
|
||||||
# let's rewrite the M110 command to fit repetier syntax
|
self._doSendWithChecksum(cmd, newLineNumber)
|
||||||
self._addToLastLines(cmd)
|
self._currentLine = newLineNumber + 1
|
||||||
self._doSendWithChecksum("M110", newLineNumber)
|
|
||||||
else:
|
|
||||||
self._doSend(cmd, sendChecksum)
|
|
||||||
|
|
||||||
if newLineNumber is not None:
|
|
||||||
self._currentLine = newLineNumber + 1
|
|
||||||
|
|
||||||
# after a reset of the line number we have no way to determine what line exactly the printer now wants
|
# after a reset of the line number we have no way to determine what line exactly the printer now wants
|
||||||
self._lastLines = []
|
self._lastLines = []
|
||||||
|
|
Loading…
Reference in New Issue