New option to set default extrusion length in Control panel
Adds a new config key printerParameters.defaultExtrusionLength which can be configured via the settings dialog in the Printer section and then gets used to set the placeholder value on the extrusion/retraction control and as fallback if the user entered no value when clicking the Extrude/Retract button. Closes #513
This commit is contained in:
parent
7d5c55fc95
commit
6c5b32d92b
6 changed files with 18 additions and 5 deletions
|
|
@ -47,7 +47,8 @@ def getSettings():
|
|||
"invertAxes": s.get(["printerParameters", "invertAxes"]),
|
||||
"numExtruders": s.get(["printerParameters", "numExtruders"]),
|
||||
"extruderOffsets": s.get(["printerParameters", "extruderOffsets"]),
|
||||
"bedDimensions": s.get(["printerParameters", "bedDimensions"])
|
||||
"bedDimensions": s.get(["printerParameters", "bedDimensions"]),
|
||||
"defaultExtrusionLength": s.getInt(["printerParameters", "defaultExtrusionLength"])
|
||||
},
|
||||
"webcam": {
|
||||
"streamUrl": s.get(["webcam", "stream"]),
|
||||
|
|
@ -129,6 +130,7 @@ def setSettings():
|
|||
if "numExtruders" in data["printer"].keys(): s.setInt(["printerParameters", "numExtruders"], data["printer"]["numExtruders"])
|
||||
if "extruderOffsets" in data["printer"].keys(): s.set(["printerParameters", "extruderOffsets"], data["printer"]["extruderOffsets"])
|
||||
if "bedDimensions" in data["printer"].keys(): s.set(["printerParameters", "bedDimensions"], data["printer"]["bedDimensions"])
|
||||
if "defaultExtrusionLength" in data["printer"]: s.setInt(["printerParameters", "defaultExtrusionLength"], data["printer"]["defaultExtrusionLength"])
|
||||
|
||||
if "webcam" in data.keys():
|
||||
if "streamUrl" in data["webcam"].keys(): s.set(["webcam", "stream"], data["webcam"]["streamUrl"])
|
||||
|
|
|
|||
|
|
@ -115,7 +115,8 @@ default_settings = {
|
|||
],
|
||||
"bedDimensions": {
|
||||
"x": 200.0, "y": 200.0, "r": 100
|
||||
}
|
||||
},
|
||||
"defaultExtrusionLength": 5
|
||||
},
|
||||
"appearance": {
|
||||
"name": "",
|
||||
|
|
|
|||
|
|
@ -153,7 +153,7 @@ function ControlViewModel(loginStateViewModel, settingsViewModel) {
|
|||
|
||||
self._sendECommand = function(dir) {
|
||||
var length = self.extrusionAmount();
|
||||
if (!length) length = 5;
|
||||
if (!length) length = self.settings.printer_defaultExtrusionLength();
|
||||
|
||||
var data = {
|
||||
command: "extrude",
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
|||
self.printer_movementSpeedE = ko.observable(undefined);
|
||||
self.printer_invertAxes = ko.observable(undefined);
|
||||
self.printer_numExtruders = ko.observable(undefined);
|
||||
self.printer_defaultExtrusionLength = ko.observable(undefined);
|
||||
|
||||
self._printer_extruderOffsets = ko.observableArray([]);
|
||||
self.printer_extruderOffsets = ko.computed({
|
||||
|
|
@ -122,6 +123,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
|||
self.folder_timelapse = ko.observable(undefined);
|
||||
self.folder_timelapseTmp = ko.observable(undefined);
|
||||
self.folder_logs = ko.observable(undefined);
|
||||
self.folder_watched = ko.observable(undefined);
|
||||
|
||||
self.cura_enabled = ko.observable(undefined);
|
||||
self.cura_path = ko.observable(undefined);
|
||||
|
|
@ -202,6 +204,7 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
|||
self.printer_numExtruders(response.printer.numExtruders);
|
||||
self.printer_extruderOffsets(response.printer.extruderOffsets);
|
||||
self.printer_bedDimensions(response.printer.bedDimensions);
|
||||
self.printer_defaultExtrusionLength(response.printer.defaultExtrusionLength);
|
||||
|
||||
self.webcam_streamUrl(response.webcam.streamUrl);
|
||||
self.webcam_snapshotUrl(response.webcam.snapshotUrl);
|
||||
|
|
@ -267,7 +270,8 @@ function SettingsViewModel(loginStateViewModel, usersViewModel) {
|
|||
"invertAxes": self.printer_invertAxes(),
|
||||
"numExtruders": self.printer_numExtruders(),
|
||||
"extruderOffsets": self.printer_extruderOffsets(),
|
||||
"bedDimensions": self.printer_bedDimensions()
|
||||
"bedDimensions": self.printer_bedDimensions(),
|
||||
"defaultExtrusionLength": self.printer_defaultExtrusionLength()
|
||||
},
|
||||
"webcam": {
|
||||
"streamUrl": self.webcam_streamUrl(),
|
||||
|
|
|
|||
|
|
@ -364,7 +364,7 @@
|
|||
</ul>
|
||||
</div>
|
||||
<div class="input-append control-box">
|
||||
<input type="text" class="input-mini text-right" data-bind="value: extrusionAmount, enable: isOperational() && !isPrinting() && loginState.isUser(), attr: {placeholder: 5}">
|
||||
<input type="text" class="input-mini text-right" data-bind="value: extrusionAmount, enable: isOperational() && !isPrinting() && loginState.isUser(), attr: {placeholder: settings.printer_defaultExtrusionLength}">
|
||||
<span class="add-on">mm</span>
|
||||
</div>
|
||||
<button class="btn btn-block control-box" data-bind="enable: isOperational() && !isPrinting() && loginState.isUser(), click: function() { $root.sendExtrudeCommand() }">Extrude</button>
|
||||
|
|
|
|||
|
|
@ -141,6 +141,12 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="settings-defaultExtrusionLength">Default extrusion length</label>
|
||||
<div class="controls">
|
||||
<input type="number" class="input-mini text-right" min="1" data-bind="value: printer_defaultExtrusionLength" id="settings-defaultExtrusionLength">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="settings-numExtruders">Number of Extruders</label>
|
||||
<div class="controls">
|
||||
|
|
|
|||
Loading…
Reference in a new issue