Added features for quick setting of temperatures for PLA and ABS - configured via new settings.
Not perfect, I'd like to show temperature to be set in UI. On clicking it always moves to the top of the page. The overflow and temp layout changes are to allow the drop down to display outside of the tab. Is it worth having more temp boxes e.g. Nylon? - array like similar to move speeds?master
parent
1c9854b6c1
commit
9e351339a4
|
@ -166,14 +166,22 @@ def setTargetTemperature():
|
|||
if not printer.isOperational():
|
||||
return jsonify(SUCCESS)
|
||||
|
||||
if request.values.has_key("temp"):
|
||||
elif request.values.has_key("temp"):
|
||||
# set target temperature
|
||||
temp = request.values["temp"]
|
||||
if "ABS" == temp:
|
||||
temp = settings().get(["temperature","extruderABS"])
|
||||
elif "PLA" == temp:
|
||||
temp = settings().get(["temperature","extruderPLA"])
|
||||
printer.command("M104 S" + temp)
|
||||
|
||||
if request.values.has_key("bedTemp"):
|
||||
elif request.values.has_key("bedTemp"):
|
||||
# set target bed temperature
|
||||
bedTemp = request.values["bedTemp"]
|
||||
if "ABS" == bedTemp:
|
||||
bedTemp = settings().get(["temperature","bedABS"])
|
||||
elif "PLA" == bedTemp:
|
||||
bedTemp = settings().get(["temperature","bedPLA"])
|
||||
printer.command("M140 S" + bedTemp)
|
||||
|
||||
return jsonify(SUCCESS)
|
||||
|
@ -353,7 +361,13 @@ def getSettings():
|
|||
"timelapse": s.getBaseFolder("timelapse"),
|
||||
"timelapseTmp": s.getBaseFolder("timelapse_tmp"),
|
||||
"logs": s.getBaseFolder("logs")
|
||||
}
|
||||
},
|
||||
"temperature": {
|
||||
"extruderABS": s.get(["temperature", "extruderABS"]),
|
||||
"bedABS": s.get(["temperature", "bedABS"]),
|
||||
"extruderPLA": s.get(["temperature", "extruderPLA"]),
|
||||
"bedPLA": s.get(["temperature", "bedPLA"])
|
||||
}
|
||||
})
|
||||
|
||||
@app.route(BASEURL + "settings", methods=["POST"])
|
||||
|
@ -384,6 +398,12 @@ def setSettings():
|
|||
if "timelapseTmp" in data["folder"].keys(): s.setBaseFolder("timelapse_tmp", data["folder"]["timelapseTmp"])
|
||||
if "logs" in data["folder"].keys(): s.setBaseFolder("logs", data["folder"]["logs"])
|
||||
|
||||
if "temperature" in data.keys():
|
||||
if "extruderABS" in data["temperature"].keys(): s.set(["temperature", "extruderABS"], data["temperature"]["extruderABS"])
|
||||
if "bedABS" in data["temperature"].keys(): s.set(["temperature", "bedABS"], data["temperature"]["bedABS"])
|
||||
if "extruderPLA" in data["temperature"].keys(): s.set(["temperature", "extruderPLA"], data["temperature"]["extruderPLA"])
|
||||
if "bedPLA" in data["temperature"].keys(): s.set(["temperature", "bedPLA"], data["temperature"]["bedPLA"])
|
||||
|
||||
s.save()
|
||||
|
||||
return getSettings()
|
||||
|
|
|
@ -56,6 +56,12 @@ default_settings.update({
|
|||
"z": 200,
|
||||
"e": 300
|
||||
}
|
||||
},
|
||||
"temperature": {
|
||||
"extruderABS": 210,
|
||||
"bedABS": 100,
|
||||
"extruderPLA": 180,
|
||||
"bedPLA": 60
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
@ -98,8 +98,12 @@ table th.timelapse_files_action, table td.timelapse_files_action {
|
|||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
#temp {
|
||||
overflow: hidden;
|
||||
.tab-content, .tab-pane {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.tempInput {
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
#temp_newTemp, #temp_newBedTemp, #speed_innerWall, #speed_outerWall, #speed_fill, #speed_support, #webcam_timelapse_interval {
|
||||
|
|
|
@ -1019,6 +1019,11 @@ function SettingsViewModel() {
|
|||
self.folder_timelapseTmp = ko.observable(undefined);
|
||||
self.folder_logs = ko.observable(undefined);
|
||||
|
||||
self.temperature_extruderABS = ko.observable(undefined);
|
||||
self.temperature_bedABS = ko.observable(undefined);
|
||||
self.temperature_extruderPLA = ko.observable(undefined);
|
||||
self.temperature_bedPLA = ko.observable(undefined);
|
||||
|
||||
self.requestData = function() {
|
||||
$.ajax({
|
||||
url: AJAX_BASEURL + "settings",
|
||||
|
@ -1046,6 +1051,11 @@ function SettingsViewModel() {
|
|||
self.folder_timelapse(response.folder.timelapse);
|
||||
self.folder_timelapseTmp(response.folder.timelapseTmp);
|
||||
self.folder_logs(response.folder.logs);
|
||||
|
||||
self.temperature_extruderABS(response.temperature.extruderABS);
|
||||
self.temperature_bedABS(response.temperature.bedABS);
|
||||
self.temperature_extruderPLA(response.temperature.extruderPLA);
|
||||
self.temperature_bedPLA(response.temperature.bedPLA);
|
||||
}
|
||||
|
||||
self.saveData = function() {
|
||||
|
@ -1071,7 +1081,13 @@ function SettingsViewModel() {
|
|||
"timelapse": self.folder_timelapse(),
|
||||
"timelapseTmp": self.folder_timelapseTmp(),
|
||||
"logs": self.folder_logs()
|
||||
}
|
||||
},
|
||||
"temperature": {
|
||||
"extruderABS": self.temperature_extruderABS(),
|
||||
"bedABS": self.temperature_bedABS(),
|
||||
"extruderPLA": self.temperature_extruderPLA(),
|
||||
"bedPLA": self.temperature_bedPLA()
|
||||
},
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
|
@ -1207,8 +1223,10 @@ $(function() {
|
|||
|
||||
//~~ Temperature control
|
||||
|
||||
$("#temp_newTemp_set").click(function() {
|
||||
$("#temp_newTemp_set, .temp_newTemp_set").click(function() {
|
||||
var newTemp = $("#temp_newTemp").val();
|
||||
if ($(this).data('temp') != null)
|
||||
newTemp = $(this).data('temp');
|
||||
$.ajax({
|
||||
url: AJAX_BASEURL + "control/temperature",
|
||||
type: "POST",
|
||||
|
@ -1217,8 +1235,10 @@ $(function() {
|
|||
success: function() {$("#temp_newTemp").val("")}
|
||||
})
|
||||
})
|
||||
$("#temp_newBedTemp_set").click(function() {
|
||||
$("#temp_newBedTemp_set, .temp_newBedTemp_set").click(function() {
|
||||
var newBedTemp = $("#temp_newBedTemp").val();
|
||||
if ($(this).data('temp') != null)
|
||||
newBedTemp = $(this).data('temp');
|
||||
$.ajax({
|
||||
url: AJAX_BASEURL + "control/temperature",
|
||||
type: "POST",
|
||||
|
|
|
@ -156,8 +156,8 @@
|
|||
<div class="row" style="padding-left: 20px">
|
||||
<div id="temperature-graph"></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="form-horizontal" style="width: 49%; float: left; margin-bottom: 20px;">
|
||||
<div class="row-fluid" style="margin-bottom: 20px">
|
||||
<div class="form-horizontal span6">
|
||||
<h1>Temperature</h1>
|
||||
|
||||
<label>Current: <strong data-bind="text: tempString"></strong></label>
|
||||
|
@ -166,12 +166,30 @@
|
|||
|
||||
<label for="temp_newTemp">New Target</label>
|
||||
<div class="input-append">
|
||||
<input class="span1" type="text" id="temp_newTemp" data-bind="attr: {placeholder: targetTemp}">
|
||||
<input type="text" id="temp_newTemp" data-bind="attr: {placeholder: targetTemp}" class="tempInput">
|
||||
<span class="add-on">°C</span>
|
||||
</div>
|
||||
<button type="submit" class="btn" id="temp_newTemp_set">Set</button>
|
||||
<div class="btn-group">
|
||||
<button type="submit" class="btn" id="temp_newTemp_set">Set</button>
|
||||
<button class="btn dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<!-- Tried using data-bind="attr: {'data-temp': temperatureABS}" however I don't have access to the settingsViewModel -->
|
||||
<li>
|
||||
<a href="#" class="temp_newTemp_set" data-temp="ABS">Set ABS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="temp_newTemp_set" data-temp="PLA">Set PLA</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="#" class="temp_newTemp_set" data-temp="0">Off</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-horizontal" style="width: 49%; margin-left: 2%; float: left; margin-bottom: 20px;">
|
||||
<div class="form-horizontal span6">
|
||||
<h1>Bed Temperature</h1>
|
||||
|
||||
<label>Current: <strong data-bind="text: bedTempString"></strong></label>
|
||||
|
@ -180,10 +198,27 @@
|
|||
|
||||
<label for="temp_newBedTemp">New Target</label>
|
||||
<div class="input-append">
|
||||
<input class="span1" type="text" id="temp_newBedTemp" data-bind="attr: {placeholder: bedTargetTemp}">
|
||||
<input type="text" id="temp_newBedTemp" data-bind="attr: {placeholder: bedTargetTemp}" class="tempInput">
|
||||
<span class="add-on">°C</span>
|
||||
</div>
|
||||
<button type="submit" class="btn" id="temp_newBedTemp_set">Set</button>
|
||||
<div class="btn-group">
|
||||
<button type="submit" class="btn" id="temp_newBedTemp_set">Set</button>
|
||||
<button class="btn dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<a href="#" class="temp_newBedTemp_set" data-temp="ABS">Set ABS</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="temp_newBedTemp_set" data-temp="PLA">Set PLA</a>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="#" class="temp_newBedTemp_set" data-temp="0">Off</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -489,6 +524,7 @@
|
|||
<li><a href="#settings_webcam" data-toggle="tab">Webcam</a></li>
|
||||
<li><a href="#settings_features" data-toggle="tab">Features</a></li>
|
||||
<li><a href="#settings_folder" data-toggle="tab">Folder</a></li>
|
||||
<li><a href="#settings_temperature" data-toggle="tab">Temperature</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
|
@ -594,6 +630,34 @@
|
|||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="tab-pane" id="settings_temperature">
|
||||
<form class="form-horizontal">
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="settings-temperatureExtruderABS">Extruder Temperature (ABS)</label>
|
||||
<div class="controls">
|
||||
<input type="number" class="input-mini text-right" data-bind="value: temperature_extruderABS" id="settings-temperatureExtruderABS">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="settings-temperatureBedABS">Bed Temperature (ABS)</label>
|
||||
<div class="controls">
|
||||
<input type="number" class="input-mini text-right" data-bind="value: temperature_bedABS" id="settings-temperatureBedABS">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="settings-temperatureExtruderPLA">Extruder Temperature (PLA)</label>
|
||||
<div class="controls">
|
||||
<input type="number" class="input-mini text-right" data-bind="value: temperature_extruderPLA" id="settings-temperatureExtruderPLA">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="settings-temperatureBedPLA">Bed Temperature (PLA)</label>
|
||||
<div class="controls">
|
||||
<input type="number" class="input-mini text-right" data-bind="value: temperature_bedPLA" id="settings-temperatureBedPLA">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue