Added possibility of never sending checksums
Within the settings/features there is now a block of radio buttons where the user can select whether to send checksums only when printing, always or never. In order to maintain backward compatibility in the settings, this is stored in two variables, alwaysSendChecksum and neverSendChecksum. If both are False, it is assumed that checksums are sent only when printing, being this the default value.
This commit is contained in:
parent
c7fd4809fd
commit
6d3b1b7f13
5 changed files with 26 additions and 11 deletions
|
|
@ -63,6 +63,7 @@ def getSettings():
|
|||
"temperatureGraph": s.getBoolean(["feature", "temperatureGraph"]),
|
||||
"waitForStart": s.getBoolean(["feature", "waitForStartOnConnect"]),
|
||||
"alwaysSendChecksum": s.getBoolean(["feature", "alwaysSendChecksum"]),
|
||||
"neverSendChecksum": s.getBoolean(["feature", "neverSendChecksum"]),
|
||||
"sdSupport": s.getBoolean(["feature", "sdSupport"]),
|
||||
"sdAlwaysAvailable": s.getBoolean(["feature", "sdAlwaysAvailable"]),
|
||||
"swallowOkAfterResend": s.getBoolean(["feature", "swallowOkAfterResend"]),
|
||||
|
|
@ -211,6 +212,7 @@ def _saveSettings(data):
|
|||
if "temperatureGraph" in data["feature"].keys(): s.setBoolean(["feature", "temperatureGraph"], data["feature"]["temperatureGraph"])
|
||||
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 "neverSendChecksum" in data["feature"].keys(): s.setBoolean(["feature", "neverSendChecksum"], data["feature"]["neverSendChecksum"])
|
||||
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"])
|
||||
|
|
|
|||
|
|
@ -143,6 +143,7 @@ default_settings = {
|
|||
"temperatureGraph": True,
|
||||
"waitForStartOnConnect": False,
|
||||
"alwaysSendChecksum": False,
|
||||
"neverSendChecksum": False,
|
||||
"sendChecksumWithUnknownCommands": False,
|
||||
"unknownCommandsNeedAck": False,
|
||||
"sdSupport": True,
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ $(function() {
|
|||
self.feature_gcodeViewer = ko.observable(undefined);
|
||||
self.feature_temperatureGraph = ko.observable(undefined);
|
||||
self.feature_waitForStart = ko.observable(undefined);
|
||||
self.feature_alwaysSendChecksum = ko.observable(undefined);
|
||||
self.feature_sendChecksum = ko.observable("print");
|
||||
self.feature_sdSupport = ko.observable(undefined);
|
||||
self.feature_sdAlwaysAvailable = ko.observable(undefined);
|
||||
self.feature_swallowOkAfterResend = ko.observable(undefined);
|
||||
|
|
@ -525,7 +525,9 @@ $(function() {
|
|||
// some special read functions for various observables
|
||||
var specialMappings = {
|
||||
feature: {
|
||||
externalHeatupDetection: function() { return !self.feature_disableExternalHeatupDetection() }
|
||||
externalHeatupDetection: function() { return !self.feature_disableExternalHeatupDetection()},
|
||||
alwaysSendChecksum: function() { return self.feature_sendChecksum() == "always"},
|
||||
neverSendChecksum: function() { return self.feature_sendChecksum() == "never"}
|
||||
},
|
||||
serial: {
|
||||
additionalPorts : function() { return commentableLinesToArray(self.serial_additionalPorts()) },
|
||||
|
|
@ -614,7 +616,9 @@ $(function() {
|
|||
}
|
||||
},
|
||||
feature: {
|
||||
externalHeatupDetection: function(value) { self.feature_disableExternalHeatupDetection(!value) }
|
||||
externalHeatupDetection: function(value) { self.feature_disableExternalHeatupDetection(!value) },
|
||||
alwaysSendChecksum: function(value) { if (value) { self.feature_sendChecksum("always")}},
|
||||
neverSendChecksum: function(value) { if (value) { self.feature_sendChecksum("never")}}
|
||||
},
|
||||
serial: {
|
||||
additionalPorts : function(value) { self.serial_additionalPorts(value.join("\n"))},
|
||||
|
|
|
|||
|
|
@ -41,13 +41,6 @@
|
|||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" data-bind="checked: feature_alwaysSendChecksum" id="settings-featureAlwaysSendChecksum"> {{ _('Send a checksum with <strong>every</strong> command') }} <span class="label">{{ _('Repetier') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls">
|
||||
<label class="checkbox">
|
||||
|
|
@ -69,4 +62,18 @@
|
|||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label">{{ _('Send a checksum with the command')}}</label>
|
||||
<div class="controls">
|
||||
<label class="radio">
|
||||
<input type="radio" name="sendChecksumGroup" value="print" data-bind="checked: feature_sendChecksum" id="settings-featureSendChecksumPrint"> {{ _('When printing') }}
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="sendChecksumGroup" value="always" data-bind="checked: feature_sendChecksum" id="settings-featureSendChecksumAlways"> {{ _('Always') }} <span class="label">{{ _('Repetier') }}</span>
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" name="sendChecksumGroup" value="never" data-bind="checked: feature_sendChecksum" id="settings-featureSendChecksumNever"> {{ _('Never') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -240,6 +240,7 @@ class MachineCom(object):
|
|||
self._hello_command = settings().get(["serial", "helloCommand"])
|
||||
|
||||
self._alwaysSendChecksum = settings().getBoolean(["feature", "alwaysSendChecksum"])
|
||||
self._neverSendChecksum = settings().getBoolean(["feature", "neverSendChecksum"])
|
||||
self._sendChecksumWithUnknownCommands = settings().getBoolean(["feature", "sendChecksumWithUnknownCommands"])
|
||||
self._unknownCommandsNeedAck = settings().getBoolean(["feature", "unknownCommandsNeedAck"])
|
||||
self._currentLine = 1
|
||||
|
|
@ -1617,7 +1618,7 @@ class MachineCom(object):
|
|||
# now comes the part where we increase line numbers and send stuff - no turning back now
|
||||
command_requiring_checksum = gcode is not None and gcode in self._checksum_requiring_commands
|
||||
command_allowing_checksum = gcode is not None or self._sendChecksumWithUnknownCommands
|
||||
checksum_enabled = self.isPrinting() or self._alwaysSendChecksum
|
||||
checksum_enabled = self._alwaysSendChecksum or (self.isPrinting() and not self._neverSendChecksum)
|
||||
|
||||
if command_requiring_checksum or (command_allowing_checksum and checksum_enabled):
|
||||
linenumber = self._currentLine
|
||||
|
|
|
|||
Loading…
Reference in a new issue