mirror of
https://github.com/Doodle3D/doodle3d-client.git
synced 2024-11-14 06:47:55 +01:00
96 lines
2.9 KiB
JavaScript
96 lines
2.9 KiB
JavaScript
/*
|
|
* This file is part of the Doodle3D project (http://doodle3d.com).
|
|
*
|
|
* Copyright (c) 2013, Doodle3D
|
|
* This software is licensed under the terms of the GNU GPL v2 or later.
|
|
* See file LICENSE.txt or visit http://www.gnu.org/licenses/gpl.html for full license details.
|
|
*/
|
|
|
|
function ConfigAPI() {
|
|
var className = 'ConfigAPI';
|
|
|
|
function init() {
|
|
console.log(className,'init is deprecated');
|
|
}
|
|
|
|
function loadAll(success,fail) {
|
|
API.get('config/all',{},success,fail);
|
|
};
|
|
|
|
function load(dataObject,success,fail) {
|
|
// console.log(className,'load',dataObject);
|
|
API.get('config', dataObject, function(res) {
|
|
console.log(className,'load get config cb',dataObject,res);
|
|
if (success) success(res);
|
|
},fail);
|
|
};
|
|
|
|
function save(newSettings,success,fail) {
|
|
console.log(className,'save',newSettings);
|
|
API.post('config',newSettings,success,fail);
|
|
};
|
|
|
|
function resetAll(success,fail) {
|
|
API.post('config/resetall',{},success,fail)
|
|
};
|
|
|
|
function getSetting(key,success,fail) {
|
|
console.log(className,'getSetting',key);
|
|
API.get('config/?'+key+'=',{},function(response) {
|
|
if (success) success(response[key]);
|
|
},fail);
|
|
}
|
|
|
|
function getStartCode(success,fail) {
|
|
loadAll(function(data) {
|
|
var startcode = subsituteVariables(data['printer.startcode'],data);
|
|
if (success) success(startcode);
|
|
},fail);
|
|
}
|
|
|
|
function getEndCode(success,fail) {
|
|
loadAll(function(data) {
|
|
var endcode = subsituteVariables(data['printer.endcode'],data);
|
|
if (success) success(endcode);
|
|
},fail);
|
|
}
|
|
|
|
function subsituteVariables(gcode,settings) {
|
|
//,temperature,bedTemperature,preheatTemperature,preheatBedTemperature
|
|
var temperature = settings["printer.temperature"];
|
|
var bedTemperature = settings["printer.bed.temperature"];
|
|
var preheatTemperature = settings["printer.heatup.temperature"];
|
|
var preheatBedTemperature = settings["printer.heatup.bed.temperature"];
|
|
var printerType = settings["printer.type"];
|
|
var heatedbed = settings["printer.heatedbed"];
|
|
|
|
switch (printerType) {
|
|
case "makerbot_replicator2": printerType = "r2"; break;
|
|
case "makerbot_replicator2x": printerType = "r2x"; break;
|
|
case "makerbot_thingomatic": printerType = "t6"; break;
|
|
case "makerbot_generic": printerType = "r2"; break;
|
|
case "_3Dison_plus": printerType = "r2"; break;
|
|
}
|
|
var heatedBedReplacement = (heatedbed)? "" : ";";
|
|
|
|
gcode = gcode.replace(/{printingTemp}/gi ,temperature);
|
|
gcode = gcode.replace(/{printingBedTemp}/gi ,bedTemperature);
|
|
gcode = gcode.replace(/{preheatTemp}/gi ,preheatTemperature);
|
|
gcode = gcode.replace(/{preheatBedTemp}/gi ,preheatBedTemperature);
|
|
gcode = gcode.replace(/{printerType}/gi ,printerType);
|
|
gcode = gcode.replace(/{if heatedBed}/gi ,heatedBedReplacement);
|
|
|
|
return gcode;
|
|
}
|
|
|
|
return {
|
|
init: init,
|
|
loadAll: loadAll,
|
|
load: load,
|
|
save: save,
|
|
resetAll: resetAll,
|
|
getSetting: getSetting,
|
|
getStartCode: getStartCode,
|
|
getEndCode: getEndCode,
|
|
}
|
|
} |