mirror of
https://github.com/Doodle3D/doodle3d-client.git
synced 2025-06-11 17:23:17 +02:00
added a settings popup -> the gearbox icon botomright is now clickable -> a settings popup will appear, showing various 3d printer settings. These settings are partially loaded from and saved back to the wifibox
This commit is contained in:
136
js/settings.js
136
js/settings.js
@ -1,3 +1,139 @@
|
||||
var wifiboxURL = "http://192.168.5.1/cgi-bin/d3dapi";
|
||||
|
||||
var settings = {
|
||||
layerHeight: 0.2,
|
||||
wallThickness: 0.6,
|
||||
filamentThickness: 2.89,
|
||||
speed: 50,
|
||||
travelSpeed: 200,
|
||||
autoWarmup: true,
|
||||
firstLayerSlow: true,
|
||||
useSubLayers: true,
|
||||
useRetraction: true,
|
||||
retractionAmount: 2,
|
||||
retractionMinDistance: 1,
|
||||
retractionSpeed: 250,
|
||||
networkIP: "192.168.10.1",
|
||||
networkNetmask: "255.255.255.0",
|
||||
networkSsid: "d3d-ap-%%MAC_ADDR_TAIL%%"
|
||||
}
|
||||
|
||||
var settingsForm = $("#settingsForm");
|
||||
settingsForm.submit(function(e) {
|
||||
e.preventDefault();
|
||||
saveSettings();
|
||||
return false;
|
||||
})
|
||||
|
||||
function initSettingsPopup() {
|
||||
console.log("f:initSettingsPopup()");
|
||||
|
||||
$("#contentOverlay").hide();
|
||||
|
||||
$("div.content .btnOK").click(function(e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
// TODO something like a callback or feedback that saving went well / or failed
|
||||
saveSettings();
|
||||
|
||||
$("#contentOverlay").fadeOut(375, function() {
|
||||
document.body.addEventListener('touchmove',prevent,false);
|
||||
});
|
||||
|
||||
console.log("button OK in settings popup pressed");
|
||||
});
|
||||
}
|
||||
|
||||
function showSettings() {
|
||||
console.log("f:showSettings()");
|
||||
$("#contentOverlay").fadeIn(375, function() {
|
||||
console.log("#contentOverlay faded in...");
|
||||
loadSettings();
|
||||
document.body.removeEventListener('touchmove',prevent,false);
|
||||
});
|
||||
}
|
||||
|
||||
function loadSettings() {
|
||||
console.log("f:loadSettings() >> getting new data...");
|
||||
$.get(wifiboxURL + "/config/all", {}, function(data) {
|
||||
// console.log("f:loadSettings()");
|
||||
var settings = JSON.parse(data).data;
|
||||
// var printer_layerHeight = settings["printer.layerHeight"];
|
||||
// var printer_autoWarmup = settings["printer.autoWarmUp"];
|
||||
console.log("print_layerHeight = " + settings["printer.layerHeight"]);
|
||||
console.log("printer_autoWarmup = " + settings["printer.autoWarmUp"] + ", type: " + (typeof settings["printer.autoWarmUp"]));
|
||||
console.log("printer_useSubLayers = " + settings["printer.useSubLayers"] + " type: " + (typeof settings["printer.useSubLayers"]));
|
||||
$("#formpje input[name='printer.layerHeight']").attr('value', settings["printer.layerHeight"]);
|
||||
|
||||
// printer settings
|
||||
$('#autoWarmUp').prop('checked', settings["printer.autoWarmUp"]);
|
||||
$('#firstLayerSlow').prop('checked', settings["printer.firstLayerSlow"]);
|
||||
$('#useSubLayers').prop('checked', settings["printer.useSubLayers"]);
|
||||
$("#layerHeight").attr('value', settings["printer.layerHeight"]);
|
||||
$("#wallThickness").attr('value', settings["printer.wallThickness"]);
|
||||
$("#filamentThickness").attr('value', settings["printer.filamentThickness"]);
|
||||
$("#speed").attr('value', settings["printer.speed"]);
|
||||
$("#travelSpeed").attr('value', settings["printer.travelSpeed"]);
|
||||
$("#retractionAmount").attr('value', settings["printer.retraction.amount"]);
|
||||
$("#retractionMinDistance").attr('value', settings["printer.retraction.minDistance"]);
|
||||
$("#retractionSpeed").attr('value', settings["printer.retraction.speed"]);
|
||||
|
||||
// wifi settings
|
||||
$("#ipaddress").attr('value', settings["network.ap.address"]);
|
||||
$("#netmask").attr('value', settings["network.ap.netmask"]);
|
||||
$("#ssid").attr('value', settings["network.ap.ssid"]);
|
||||
// network.ap.address: "192.168.10.1"
|
||||
// network.ap.netmask: "255.255.255.0"
|
||||
// network.ap.ssid: "d3d-ap-%%MAC_ADDR_TAIL%%"
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function saveSettings(callback) {
|
||||
console.log("settings form submitted");
|
||||
console.log(" printer.layerHeight:" + $("#formpje input[name='printer.layerHeight']").attr('value'));
|
||||
console.log(" first layer slow (checkbox):" + $('#firstLayerSlow').prop('checked'));
|
||||
console.log(" use sublayers (checkbox):" + $('#useSubLayers').prop('checked'));
|
||||
$.post(
|
||||
wifiboxURL + "/config",
|
||||
{
|
||||
"printer.autoWarmUp" : ($('#autoWarmUp').prop('checked') == true) ? 1 : 0,
|
||||
"printer.firstLayerSlow": ($('#firstLayerSlow').prop('checked') == true) ? 1 : 0,
|
||||
"printer.useSubLayers": ($('#useSubLayers').prop('checked') == true) ? true : false,
|
||||
// "printer.useSubLayers": $('#useSubLayers').prop('checked'),
|
||||
"printer.layerHeight": $("#layerHeight").attr('value'),
|
||||
"printer.wallThickness": $("#wallThickness").attr('value'),
|
||||
"printer.filamentThickness": $("#filamentThickness").attr('value'),
|
||||
"printer.speed": $("#speed").attr('value'),
|
||||
"printer.travelSpeed": $("#travelSpeed").attr('value'),
|
||||
"printer.retraction.amount": $("#retractionAmount").attr('value'),
|
||||
"printer.retraction.minDistance": $("#retractionMinDistance").attr('value'),
|
||||
"printer.retraction.speed": $("#retractionSpeed").attr('value')
|
||||
},
|
||||
function(data) {
|
||||
var res = JSON.parse(data).data;
|
||||
$.each(res, function(index, val) {
|
||||
if (val != "ok") {
|
||||
console.log("ERROR: value '" + index + "' not successfully set. Message: " + val);
|
||||
}
|
||||
});
|
||||
if (callback != undefined) {
|
||||
callback();
|
||||
}
|
||||
// console.log(JSON.stringify(data));
|
||||
// console.log(JSON.parse(data).data);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*************************
|
||||
*
|
||||
*
|
||||
* FROM DOODLE3D.INI
|
||||
*
|
||||
*/
|
||||
var objectHeight = 20;
|
||||
var layerHeight = .2;
|
||||
var wallThickness = .5;
|
||||
|
Reference in New Issue
Block a user