mirror of
https://github.com/Doodle3D/doodle3d-client.git
synced 2024-11-22 01:07:56 +01:00
Code formatting.
This commit is contained in:
parent
5c5d45088a
commit
2457ce656e
328
js/Printer.js
328
js/Printer.js
@ -11,51 +11,51 @@ var $printProgressContainer = $("#printProgressContainer");
|
|||||||
var $progressbar = $("#progressbar");
|
var $progressbar = $("#progressbar");
|
||||||
var $progressAmount = $(".progressAmount");
|
var $progressAmount = $(".progressAmount");
|
||||||
function setPrintprogress(val) {
|
function setPrintprogress(val) {
|
||||||
if (isNaN(val)) return;
|
if (isNaN(val)) return;
|
||||||
// console.log("f:setPrintprogress() >> val " + val);
|
// console.log("f:setPrintprogress() >> val " + val);
|
||||||
$progressbar.css("width", val*100 + "%");
|
$progressbar.css("width", val*100 + "%");
|
||||||
$progressAmount.text(Math.floor(val*100) + "%");
|
$progressAmount.text(Math.floor(val*100) + "%");
|
||||||
}
|
}
|
||||||
//*/
|
//*/
|
||||||
|
|
||||||
function Printer() {
|
function Printer() {
|
||||||
|
|
||||||
Printer.WIFIBOX_DISCONNECTED_STATE = "wifibox disconnected";
|
Printer.WIFIBOX_DISCONNECTED_STATE = "wifibox disconnected";
|
||||||
Printer.UNKNOWN_STATE = "unknown"; // happens when a printer is connection but there isn't communication yet
|
Printer.UNKNOWN_STATE = "unknown"; // happens when a printer is connection but there isn't communication yet
|
||||||
Printer.DISCONNECTED_STATE = "disconnected"; // printer disconnected
|
Printer.DISCONNECTED_STATE = "disconnected"; // printer disconnected
|
||||||
Printer.IDLE_STATE = "idle"; // printer found, but idle
|
Printer.IDLE_STATE = "idle"; // printer found, but idle
|
||||||
Printer.BUFFERING_STATE = "buffering"; // printer is buffering (recieving) data, but not yet printing
|
Printer.BUFFERING_STATE = "buffering"; // printer is buffering (recieving) data, but not yet printing
|
||||||
Printer.PRINTING_STATE = "printing";
|
Printer.PRINTING_STATE = "printing";
|
||||||
Printer.STOPPING_STATE = "stopping"; // when you stop (abort) a print it prints the endcode
|
Printer.STOPPING_STATE = "stopping"; // when you stop (abort) a print it prints the endcode
|
||||||
Printer.TOUR_STATE = "tour"; // when in joyride mode
|
Printer.TOUR_STATE = "tour"; // when in joyride mode
|
||||||
|
|
||||||
Printer.ON_BEFORE_UNLOAD_MESSAGE = "You're doodle is still being send to the printer, leaving will result in a incomplete 3D print";
|
Printer.ON_BEFORE_UNLOAD_MESSAGE = "You're doodle is still being send to the printer, leaving will result in a incomplete 3D print";
|
||||||
|
|
||||||
this.temperature = 0;
|
this.temperature = 0;
|
||||||
this.targetTemperature = 0;
|
this.targetTemperature = 0;
|
||||||
this.currentLine = 0;
|
this.currentLine = 0;
|
||||||
this.totalLines = 0;
|
this.totalLines = 0;
|
||||||
this.bufferedLines = 0;
|
this.bufferedLines = 0;
|
||||||
this.state = Printer.UNKNOWN_STATE;
|
this.state = Printer.UNKNOWN_STATE;
|
||||||
this.hasControl = true; // whether this client has control access
|
this.hasControl = true; // whether this client has control access
|
||||||
|
|
||||||
this.wifiboxURL;
|
this.wifiboxURL;
|
||||||
|
|
||||||
this.checkStatusInterval = 3000;
|
this.checkStatusInterval = 3000;
|
||||||
this.checkStatusDelay;
|
this.checkStatusDelay;
|
||||||
this.timeoutTime = 3000;
|
this.timeoutTime = 3000;
|
||||||
this.sendPrintPartTimeoutTime = 5000;
|
this.sendPrintPartTimeoutTime = 5000;
|
||||||
|
|
||||||
this.gcode; // gcode to be printed
|
this.gcode; // gcode to be printed
|
||||||
this.sendLength = 500; // max amount of gcode lines per post (limited because WiFi box can't handle to much)
|
this.sendLength = 500; // max amount of gcode lines per post (limited because WiFi box can't handle to much)
|
||||||
|
|
||||||
this.retryDelay = 2000; // retry setTimout delay
|
this.retryDelay = 2000; // retry setTimout delay
|
||||||
this.retrySendPrintPartDelay; // retry setTimout instance
|
this.retrySendPrintPartDelay; // retry setTimout instance
|
||||||
this.retryCheckStatusDelay; // retry setTimout instance
|
this.retryCheckStatusDelay; // retry setTimout instance
|
||||||
this.retryStopDelay; // retry setTimout instance
|
this.retryStopDelay; // retry setTimout instance
|
||||||
this.retryPreheatDelay; // retry setTimout instance
|
this.retryPreheatDelay; // retry setTimout instance
|
||||||
|
|
||||||
Printer.MAX_GCODE_SIZE = 10; // max size of gcode in MB's (estimation)
|
Printer.MAX_GCODE_SIZE = 10; // max size of gcode in MB's (estimation)
|
||||||
|
|
||||||
this.stateOverruled = false;
|
this.stateOverruled = false;
|
||||||
|
|
||||||
@ -65,40 +65,40 @@ function Printer() {
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.init = function() {
|
this.init = function() {
|
||||||
//console.log("Printer:init");
|
//console.log("Printer:init");
|
||||||
//this.wifiboxURL = "http://" + window.location.host + "/cgi-bin/d3dapi";
|
//this.wifiboxURL = "http://" + window.location.host + "/cgi-bin/d3dapi";
|
||||||
//this.wifiboxURL = "http://192.168.5.1/cgi-bin/d3dapi";
|
//this.wifiboxURL = "http://192.168.5.1/cgi-bin/d3dapi";
|
||||||
this.wifiboxURL = wifiboxURL;
|
this.wifiboxURL = wifiboxURL;
|
||||||
//this.wifiboxURL = "proxy5.php";
|
//this.wifiboxURL = "proxy5.php";
|
||||||
//console.log(" wifiboxURL: ",this.wifiboxURL);
|
//console.log(" wifiboxURL: ",this.wifiboxURL);
|
||||||
|
|
||||||
if(autoUpdate) {
|
if (autoUpdate) {
|
||||||
this.startStatusCheckInterval();
|
this.startStatusCheckInterval();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.preheat = function() {
|
this.preheat = function() {
|
||||||
console.log("Printer:preheat");
|
console.log("Printer:preheat");
|
||||||
|
|
||||||
if( this.state == Printer.BUFFERING_STATE ||
|
if( this.state == Printer.BUFFERING_STATE ||
|
||||||
this.state == Printer.PRINTING_STATE ||
|
this.state == Printer.PRINTING_STATE ||
|
||||||
this.state == Printer.STOPPING_STATE) {
|
this.state == Printer.STOPPING_STATE) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
if (communicateWithWifibox) {
|
if (communicateWithWifibox) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: this.wifiboxURL + "/printer/heatup",
|
url: this.wifiboxURL + "/printer/heatup",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
timeout: this.timeoutTime,
|
timeout: this.timeoutTime,
|
||||||
success: function(data){
|
success: function(data){
|
||||||
console.log("Printer:preheat response: ",data);
|
console.log("Printer:preheat response: ",data);
|
||||||
if(data.status != "success") {
|
if(data.status != "success") {
|
||||||
clearTimeout(self.retryPreheatDelay);
|
clearTimeout(self.retryPreheatDelay);
|
||||||
self.retryPreheatDelay = setTimeout(function() { self.preheat() },self.retryDelay); // retry after delay
|
self.retryPreheatDelay = setTimeout(function() { self.preheat() },self.retryDelay); // retry after delay
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).fail(function() {
|
}).fail(function() {
|
||||||
console.log("Printer:preheat: failed");
|
console.log("Printer:preheat: failed");
|
||||||
@ -106,99 +106,101 @@ function Printer() {
|
|||||||
self.retryPreheatDelay = setTimeout(function() { self.preheat() },self.retryDelay); // retry after delay
|
self.retryPreheatDelay = setTimeout(function() { self.preheat() },self.retryDelay); // retry after delay
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.log ("Printer >> f:preheat() >> communicateWithWifibox is false, so not executing this function");
|
console.log ("Printer >> f:preheat() >> communicateWithWifibox is false, so not executing this function");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.print = function(gcode) {
|
this.print = function(gcode) {
|
||||||
console.log("Printer:print");
|
console.log("Printer:print");
|
||||||
console.log(" gcode total # of lines: " + gcode.length);
|
console.log(" gcode total # of lines: " + gcode.length);
|
||||||
|
|
||||||
message.set("Sending doodle to printer...",Message.NOTICE);
|
message.set("Sending doodle to printer...",Message.NOTICE);
|
||||||
self.addLeaveWarning();
|
self.addLeaveWarning();
|
||||||
|
|
||||||
/*for (i = 0; i < gcode.length; i++) {
|
/*for (i = 0; i < gcode.length; i++) {
|
||||||
gcode[i] += " (" + i + ")";
|
gcode[i] += " (" + i + ")";
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
this.sendIndex = 0;
|
this.sendIndex = 0;
|
||||||
this.gcode = gcode;
|
this.gcode = gcode;
|
||||||
|
|
||||||
//console.log(" gcode[20]: ",gcode[20]);
|
//console.log(" gcode[20]: ",gcode[20]);
|
||||||
var gcodeLineSize = this.byteSize(gcode[20]);
|
var gcodeLineSize = this.byteSize(gcode[20]);
|
||||||
//console.log(" gcodeLineSize: ",gcodeLineSize);
|
//console.log(" gcodeLineSize: ",gcodeLineSize);
|
||||||
var gcodeSize = gcodeLineSize*gcode.length/1024/1024; // estimate gcode size in MB's
|
var gcodeSize = gcodeLineSize*gcode.length/1024/1024; // estimate gcode size in MB's
|
||||||
console.log(" gcodeSize: ",gcodeSize);
|
console.log(" gcodeSize: ",gcodeSize);
|
||||||
|
|
||||||
if(gcodeSize > Printer.MAX_GCODE_SIZE) {
|
if(gcodeSize > Printer.MAX_GCODE_SIZE) {
|
||||||
alert("Error: Printer:print: gcode file is probably too big ("+gcodeSize+"MB) (max: "+Printer.MAX_GCODE_SIZE+"MB)");
|
alert("Error: Printer:print: gcode file is probably too big ("+gcodeSize+"MB) (max: "+Printer.MAX_GCODE_SIZE+"MB)");
|
||||||
console.log("Error: Printer:print: gcode file is probably too big ("+gcodeSize+"MB) (max: "+Printer.MAX_GCODE_SIZE+"MB)");
|
console.log("Error: Printer:print: gcode file is probably too big ("+gcodeSize+"MB) (max: "+Printer.MAX_GCODE_SIZE+"MB)");
|
||||||
|
|
||||||
this.overruleState(Printer.IDLE_STATE);
|
this.overruleState(Printer.IDLE_STATE);
|
||||||
this.startStatusCheckInterval();
|
this.startStatusCheckInterval();
|
||||||
message.hide();
|
message.hide();
|
||||||
self.removeLeaveWarning();
|
self.removeLeaveWarning();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//this.targetTemperature = settings["printer.temperature"]; // slight hack
|
//this.targetTemperature = settings["printer.temperature"]; // slight hack
|
||||||
|
|
||||||
this.sendPrintPart(this.sendIndex, this.sendLength);
|
this.sendPrintPart(this.sendIndex, this.sendLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.byteSize = function(s){
|
this.byteSize = function(s){
|
||||||
return~-encodeURI(s).split(/%..|./).length;
|
return~-encodeURI(s).split(/%..|./).length;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.sendPrintPart = function(sendIndex,sendLength) {
|
this.sendPrintPart = function(sendIndex,sendLength) {
|
||||||
console.log("Printer:sendPrintPart sendIndex: " + sendIndex + "/" + this.gcode.length + ", sendLength: " + sendLength);
|
console.log("Printer:sendPrintPart sendIndex: " + sendIndex + "/" + this.gcode.length + ", sendLength: " + sendLength);
|
||||||
|
|
||||||
|
|
||||||
var sendPercentage = Math.round(sendIndex/this.gcode.length*100);
|
var sendPercentage = Math.round(sendIndex/this.gcode.length*100);
|
||||||
message.set("Sending doodle to printer: "+sendPercentage+"%",Message.NOTICE,false,true);
|
message.set("Sending doodle to printer: "+sendPercentage+"%",Message.NOTICE,false,true);
|
||||||
|
|
||||||
var firstOne = (sendIndex == 0)? true : false;
|
|
||||||
var start = firstOne; // start printing right away
|
|
||||||
|
|
||||||
var completed = false;
|
|
||||||
if (this.gcode.length < (sendIndex + sendLength)) {
|
|
||||||
console.log(" sending less than max sendLength (and last)");
|
|
||||||
sendLength = this.gcode.length - sendIndex;
|
|
||||||
//lastOne = true;
|
|
||||||
completed = true;
|
|
||||||
}
|
|
||||||
var gcodePart = this.gcode.slice(sendIndex, sendIndex+sendLength);
|
|
||||||
|
|
||||||
var postData = { gcode: gcodePart.join("\n"), first: firstOne, start: start};
|
var firstOne = (sendIndex == 0)? true : false;
|
||||||
var self = this;
|
var start = firstOne; // start printing right away
|
||||||
if (communicateWithWifibox) {
|
|
||||||
$.ajax({
|
|
||||||
url: this.wifiboxURL + "/printer/print",
|
|
||||||
type: "POST",
|
|
||||||
data: postData,
|
|
||||||
dataType: 'json',
|
|
||||||
timeout: this.sendPrintPartTimeoutTime,
|
|
||||||
success: function(data){
|
|
||||||
console.log("Printer:sendPrintPart response: ",data);
|
|
||||||
|
|
||||||
if(data.status == "success") {
|
var completed = false;
|
||||||
if (completed) {
|
if (this.gcode.length < (sendIndex + sendLength)) {
|
||||||
console.log("Printer:sendPrintPart:gcode sending completed");
|
console.log(" sending less than max sendLength (and last)");
|
||||||
this.gcode = [];
|
sendLength = this.gcode.length - sendIndex;
|
||||||
btnStop.css("display","block"); // hack
|
//lastOne = true;
|
||||||
self.removeLeaveWarning();
|
completed = true;
|
||||||
message.set("Doodle has been sent to printer...",Message.INFO,true);
|
}
|
||||||
//self.targetTemperature = settings["printer.temperature"]; // slight hack
|
var gcodePart = this.gcode.slice(sendIndex, sendIndex+sendLength);
|
||||||
} else {
|
|
||||||
// only if the state hasn't bin changed (by for example pressing stop) we send more gcode
|
|
||||||
|
|
||||||
//console.log("Printer:sendPrintPart:gcode part received (state: ",self.state,")");
|
var postData = { gcode: gcodePart.join("\n"), first: firstOne, start: start};
|
||||||
if(self.state == Printer.PRINTING_STATE || self.state == Printer.BUFFERING_STATE) {
|
var self = this;
|
||||||
//console.log("Printer:sendPrintPart:sending next part");
|
if (communicateWithWifibox) {
|
||||||
self.sendPrintPart(sendIndex + sendLength, sendLength);
|
$.ajax({
|
||||||
}
|
url: this.wifiboxURL + "/printer/print",
|
||||||
}
|
type: "POST",
|
||||||
}
|
data: postData,
|
||||||
// after we know the first gcode packed has bin received or failed
|
dataType: 'json',
|
||||||
|
timeout: this.sendPrintPartTimeoutTime,
|
||||||
|
success: function(data){
|
||||||
|
console.log("Printer:sendPrintPart response: ",data);
|
||||||
|
|
||||||
|
if(data.status == "success") {
|
||||||
|
if (completed) {
|
||||||
|
console.log("Printer:sendPrintPart:gcode sending completed");
|
||||||
|
this.gcode = [];
|
||||||
|
btnStop.css("display","block"); // hack
|
||||||
|
self.removeLeaveWarning();
|
||||||
|
message.set("Doodle has been sent to printer...",Message.INFO,true);
|
||||||
|
//self.targetTemperature = settings["printer.temperature"]; // slight hack
|
||||||
|
} else {
|
||||||
|
// only if the state hasn't bin changed (by for example pressing stop) we send more gcode
|
||||||
|
|
||||||
|
//console.log("Printer:sendPrintPart:gcode part received (state: ",self.state,")");
|
||||||
|
if(self.state == Printer.PRINTING_STATE || self.state == Printer.BUFFERING_STATE) {
|
||||||
|
//console.log("Printer:sendPrintPart:sending next part");
|
||||||
|
self.sendPrintPart(sendIndex + sendLength, sendLength);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// after we know the first gcode packed has bin received or failed
|
||||||
// (and the driver had time to update the printer.state)
|
// (and the driver had time to update the printer.state)
|
||||||
// we start checking the status again
|
// we start checking the status again
|
||||||
if(sendIndex == 0) {
|
if(sendIndex == 0) {
|
||||||
@ -219,31 +221,31 @@ function Printer() {
|
|||||||
self.startStatusCheckInterval();
|
self.startStatusCheckInterval();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.log ("Printer >> f:sendPrintPart() >> communicateWithWifibox is false, so not executing this function");
|
console.log ("Printer >> f:sendPrintPart() >> communicateWithWifibox is false, so not executing this function");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.stop = function() {
|
this.stop = function() {
|
||||||
console.log("Printer:stop");
|
console.log("Printer:stop");
|
||||||
endCode = generateEndCode();
|
endCode = generateEndCode();
|
||||||
console.log(" endCode: ",endCode);
|
console.log(" endCode: ",endCode);
|
||||||
var postData = { gcode: endCode.join("\n")};
|
var postData = { gcode: endCode.join("\n")};
|
||||||
var self = this;
|
var self = this;
|
||||||
if (communicateWithWifibox) {
|
if (communicateWithWifibox) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: this.wifiboxURL + "/printer/stop",
|
url: this.wifiboxURL + "/printer/stop",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: postData,
|
data: postData,
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
timeout: this.timeoutTime,
|
timeout: this.timeoutTime,
|
||||||
success: function(data){
|
success: function(data){
|
||||||
console.log("Printer:stop response: ", data);
|
console.log("Printer:stop response: ", data);
|
||||||
|
|
||||||
// after we know the stop has bin received or failed
|
// after we know the stop has bin received or failed
|
||||||
// (and the driver had time to update the printer.state)
|
// (and the driver had time to update the printer.state)
|
||||||
// we start checking the status again
|
// we start checking the status again
|
||||||
self.startStatusCheckInterval();
|
self.startStatusCheckInterval();
|
||||||
}
|
}
|
||||||
}).fail(function() {
|
}).fail(function() {
|
||||||
console.log("Printer:stop: failed");
|
console.log("Printer:stop: failed");
|
||||||
clearTimeout(self.retryStopDelay);
|
clearTimeout(self.retryStopDelay);
|
||||||
@ -255,9 +257,10 @@ function Printer() {
|
|||||||
self.startStatusCheckInterval();
|
self.startStatusCheckInterval();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.log ("Printer >> f:communicateWithWifibox() >> communicateWithWifibox is false, so not executing this function");
|
console.log ("Printer >> f:communicateWithWifibox() >> communicateWithWifibox is false, so not executing this function");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.startStatusCheckInterval = function() {
|
this.startStatusCheckInterval = function() {
|
||||||
console.log("Printer:startStatusCheckInterval");
|
console.log("Printer:startStatusCheckInterval");
|
||||||
self.checkStatus();
|
self.checkStatus();
|
||||||
@ -265,42 +268,45 @@ function Printer() {
|
|||||||
clearTimeout(self.retryCheckStatusDelay);
|
clearTimeout(self.retryCheckStatusDelay);
|
||||||
self.checkStatusDelay = setTimeout(function() { self.checkStatus() }, self.checkStatusInterval);
|
self.checkStatusDelay = setTimeout(function() { self.checkStatus() }, self.checkStatusInterval);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.stopStatusCheckInterval = function() {
|
this.stopStatusCheckInterval = function() {
|
||||||
console.log("Printer:stopStatusCheckInterval");
|
console.log("Printer:stopStatusCheckInterval");
|
||||||
clearTimeout(self.checkStatusDelay);
|
clearTimeout(self.checkStatusDelay);
|
||||||
clearTimeout(self.retryCheckStatusDelay);
|
clearTimeout(self.retryCheckStatusDelay);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.checkStatus = function() {
|
this.checkStatus = function() {
|
||||||
//console.log("Printer:checkStatus");
|
//console.log("Printer:checkStatus");
|
||||||
this.stateOverruled = false;
|
this.stateOverruled = false;
|
||||||
//console.log(" stateOverruled: ",this.stateOverruled);
|
//console.log(" stateOverruled: ",this.stateOverruled);
|
||||||
var self = this;
|
var self = this;
|
||||||
if (communicateWithWifibox) {
|
if (communicateWithWifibox) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: this.wifiboxURL + "/info/status",
|
url: this.wifiboxURL + "/info/status",
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
timeout: this.timeoutTime,
|
timeout: this.timeoutTime,
|
||||||
success: function(response){
|
success: function(response){
|
||||||
//console.log(" Printer:status: ",response.data.state); //," response: ",response);
|
//console.log(" Printer:status: ",response.data.state); //," response: ",response);
|
||||||
|
|
||||||
self.handleStatusUpdate(response);
|
self.handleStatusUpdate(response);
|
||||||
|
|
||||||
clearTimeout(self.checkStatusDelay);
|
clearTimeout(self.checkStatusDelay);
|
||||||
clearTimeout(self.retryCheckStatusDelay);
|
clearTimeout(self.retryCheckStatusDelay);
|
||||||
self.checkStatusDelay = setTimeout(function() { self.checkStatus() }, self.checkStatusInterval);
|
self.checkStatusDelay = setTimeout(function() { self.checkStatus() }, self.checkStatusInterval);
|
||||||
}
|
}
|
||||||
}).fail(function() {
|
}).fail(function() {
|
||||||
console.log("Printer:checkStatus: failed");
|
console.log("Printer:checkStatus: failed");
|
||||||
self.state = Printer.WIFIBOX_DISCONNECTED_STATE;
|
self.state = Printer.WIFIBOX_DISCONNECTED_STATE;
|
||||||
clearTimeout(self.checkStatusDelay);
|
clearTimeout(self.checkStatusDelay);
|
||||||
clearTimeout(self.retryCheckStatusDelay);
|
clearTimeout(self.retryCheckStatusDelay);
|
||||||
self.retryCheckStatusDelay = setTimeout(function() { self.checkStatus() },self.retryDelay); // retry after delay
|
self.retryCheckStatusDelay = setTimeout(function() { self.checkStatus() },self.retryDelay); // retry after delay
|
||||||
$(document).trigger(Printer.UPDATE);
|
$(document).trigger(Printer.UPDATE);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
console.log ("Printer >> f:checkStatus() >> communicateWithWifibox is false, so not executing this function");
|
console.log ("Printer >> f:checkStatus() >> communicateWithWifibox is false, so not executing this function");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.handleStatusUpdate = function(response) {
|
this.handleStatusUpdate = function(response) {
|
||||||
//console.log("Printer:handleStatusUpdate response: ",response);
|
//console.log("Printer:handleStatusUpdate response: ",response);
|
||||||
var data = response.data;
|
var data = response.data;
|
||||||
@ -332,6 +338,7 @@ function Printer() {
|
|||||||
}
|
}
|
||||||
$(document).trigger(Printer.UPDATE);
|
$(document).trigger(Printer.UPDATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.overruleState = function(newState) {
|
this.overruleState = function(newState) {
|
||||||
this.stateOverruled = true;
|
this.stateOverruled = true;
|
||||||
console.log(" stateOverruled: ",this.stateOverruled);
|
console.log(" stateOverruled: ",this.stateOverruled);
|
||||||
@ -346,10 +353,11 @@ function Printer() {
|
|||||||
this.removeLeaveWarning = function() {
|
this.removeLeaveWarning = function() {
|
||||||
window.onbeforeunload = null;
|
window.onbeforeunload = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.addLeaveWarning = function() {
|
this.addLeaveWarning = function() {
|
||||||
window.onbeforeunload = function() {
|
window.onbeforeunload = function() {
|
||||||
console.log("WARNING:"+Printer.ON_BEFORE_UNLOAD_MESSAGE);
|
console.log("WARNING:"+Printer.ON_BEFORE_UNLOAD_MESSAGE);
|
||||||
return Printer.ON_BEFORE_UNLOAD_MESSAGE;
|
return Printer.ON_BEFORE_UNLOAD_MESSAGE;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,117 +26,118 @@ var preheatDelay;
|
|||||||
var preheatDelayTime = 15*1000;
|
var preheatDelayTime = 15*1000;
|
||||||
|
|
||||||
function initButtonBehavior() {
|
function initButtonBehavior() {
|
||||||
console.log("f:initButtonBehavior");
|
console.log("f:initButtonBehavior");
|
||||||
|
|
||||||
btnOops = new Button("#btnOops");
|
btnOops = new Button("#btnOops");
|
||||||
btnInfo = new Button("#btnInfo");
|
btnInfo = new Button("#btnInfo");
|
||||||
btnSettings = new Button("#btnSettings");
|
btnSettings = new Button("#btnSettings");
|
||||||
btnNew = new Button("#btnNew");
|
btnNew = new Button("#btnNew");
|
||||||
btnPrint= new Button("#btnPrint");
|
btnPrint= new Button("#btnPrint");
|
||||||
btnStop = new Button("#btnStop");
|
btnStop = new Button("#btnStop");
|
||||||
btnPrevious = new Button("#btnPrevious");
|
btnPrevious = new Button("#btnPrevious");
|
||||||
btnNext = new Button("#btnNext");
|
btnNext = new Button("#btnNext");
|
||||||
btnSave = new Button("#btnSave");
|
btnSave = new Button("#btnSave");
|
||||||
buttonGroupAdd = $("#buttonGroupAdd");
|
buttonGroupAdd = $("#buttonGroupAdd");
|
||||||
btnShape = new Button("#btnShape");
|
btnShape = new Button("#btnShape");
|
||||||
btnWordArt = new Button("#btnWordArt");
|
btnWordArt = new Button("#btnWordArt");
|
||||||
popupWordArt = $("#popupWordArt");
|
popupWordArt = $("#popupWordArt");
|
||||||
popupShape = $("#popupShape");
|
popupShape = $("#popupShape");
|
||||||
popupMask = $("#popupMask");
|
popupMask = $("#popupMask");
|
||||||
logoPanel = $("#logopanel");
|
logoPanel = $("#logopanel");
|
||||||
btnToggleEdit = new Button("#btnToggleEdit");
|
btnToggleEdit = new Button("#btnToggleEdit");
|
||||||
buttonGroupEdit = $("#buttonGroupEdit");
|
buttonGroupEdit = $("#buttonGroupEdit");
|
||||||
btnZoom = new Button("#btnZoom");
|
btnZoom = new Button("#btnZoom");
|
||||||
btnMove = new Button("#btnMove");
|
btnMove = new Button("#btnMove");
|
||||||
btnRotate = new Button("#btnRotate");
|
btnRotate = new Button("#btnRotate");
|
||||||
btnToggleVerticalShapes = new Button("#btnToggleVerticalShapes");
|
btnToggleVerticalShapes = new Button("#btnToggleVerticalShapes");
|
||||||
buttonGroupVerticalShapes = $("#buttonGroupVerticalShapes");
|
buttonGroupVerticalShapes = $("#buttonGroupVerticalShapes");
|
||||||
btnHeight = new Button("#btnHeight");
|
btnHeight = new Button("#btnHeight");
|
||||||
btnTwist = new Button("#btnTwist");
|
btnTwist = new Button("#btnTwist");
|
||||||
btnStraight = new Button("#btnStraight");
|
btnStraight = new Button("#btnStraight");
|
||||||
btnDiv = new Button("#btnDiv");
|
btnDiv = new Button("#btnDiv");
|
||||||
btnConv = new Button("#btnConv");
|
btnConv = new Button("#btnConv");
|
||||||
btnSine = new Button("#btnSine");
|
btnSine = new Button("#btnSine");
|
||||||
btnAdd = new Button("#btnAdd");
|
btnAdd = new Button("#btnAdd");
|
||||||
|
|
||||||
$(".btn").Button(); //initalize other buttons
|
$(".btn").Button(); //initalize other buttons
|
||||||
|
|
||||||
logoPanel.on("onButtonClick", onLogo);
|
logoPanel.on("onButtonClick", onLogo);
|
||||||
btnNew.on("onButtonClick", onBtnNew);
|
btnNew.on("onButtonClick", onBtnNew);
|
||||||
btnAdd.on("onButtonClick", onBtnAdd);
|
btnAdd.on("onButtonClick", onBtnAdd);
|
||||||
btnWordArt.on("onButtonClick", onBtnWordArt);
|
btnWordArt.on("onButtonClick", onBtnWordArt);
|
||||||
btnShape.on("onButtonClick", onBtnShape);
|
btnShape.on("onButtonClick", onBtnShape);
|
||||||
btnPrint.on("onButtonClick", print);
|
btnPrint.on("onButtonClick", print);
|
||||||
btnStop.on("onButtonClick", stopPrint);
|
btnStop.on("onButtonClick", stopPrint);
|
||||||
btnSave.on("onButtonClick", saveSketch);
|
btnSave.on("onButtonClick", saveSketch);
|
||||||
btnPrevious.on("onButtonClick", prevDoodle);
|
btnPrevious.on("onButtonClick", prevDoodle);
|
||||||
btnNext.on("onButtonClick", nextDoodle);
|
btnNext.on("onButtonClick", nextDoodle);
|
||||||
btnOops.on("onButtonHold", onBtnOops);
|
btnOops.on("onButtonHold", onBtnOops);
|
||||||
// vertical shape buttons
|
// vertical shape buttons
|
||||||
btnToggleVerticalShapes.on("onButtonClick", onBtnToggleVerticalShapes);
|
btnToggleVerticalShapes.on("onButtonClick", onBtnToggleVerticalShapes);
|
||||||
btnHeight.on("onButtonHold", onBtnHeight);
|
btnHeight.on("onButtonHold", onBtnHeight);
|
||||||
btnTwist.on("onButtonHold", onBtnTwist);
|
btnTwist.on("onButtonHold", onBtnTwist);
|
||||||
btnStraight.on("onButtonClick", onBtnStraight);
|
btnStraight.on("onButtonClick", onBtnStraight);
|
||||||
btnDiv.on("onButtonClick", onBtnDiv);
|
btnDiv.on("onButtonClick", onBtnDiv);
|
||||||
btnConv.on("onButtonClick", onBtnConv);
|
btnConv.on("onButtonClick", onBtnConv);
|
||||||
btnSine.on("onButtonClick", onBtnSine);
|
btnSine.on("onButtonClick", onBtnSine);
|
||||||
|
|
||||||
btnToggleEdit.on("onButtonClick", onBtnToggleEdit);
|
|
||||||
btnMove.on("onButtonHold", onBtnMove);
|
|
||||||
btnZoom.on("onButtonHold", onBtnZoom);
|
|
||||||
btnRotate.on("onButtonHold", onBtnRotate);
|
|
||||||
|
|
||||||
getSavedSketchStatus();
|
|
||||||
setSketchModified(false);
|
|
||||||
|
|
||||||
function onBtnToggleVerticalShapes() {
|
btnToggleEdit.on("onButtonClick", onBtnToggleEdit);
|
||||||
var btnImg;
|
btnMove.on("onButtonHold", onBtnMove);
|
||||||
if(buttonGroupVerticalShapes.is(":hidden")) {
|
btnZoom.on("onButtonHold", onBtnZoom);
|
||||||
btnImg = "img/buttons/btnArrowClose.png";
|
btnRotate.on("onButtonHold", onBtnRotate);
|
||||||
} else {
|
|
||||||
btnImg = "img/buttons/btnArrowOpen.png";
|
|
||||||
}
|
|
||||||
btnToggleVerticalShapes.attr("src",btnImg);
|
|
||||||
|
|
||||||
buttonGroupVerticalShapes.fadeToggle(BUTTON_GROUP_SHOW_DURATION);
|
|
||||||
}
|
|
||||||
|
|
||||||
function onLogo() {
|
getSavedSketchStatus();
|
||||||
location.reload();
|
setSketchModified(false);
|
||||||
|
|
||||||
|
function onBtnToggleVerticalShapes() {
|
||||||
|
var btnImg;
|
||||||
|
if (buttonGroupVerticalShapes.is(":hidden")) {
|
||||||
|
btnImg = "img/buttons/btnArrowClose.png";
|
||||||
|
} else {
|
||||||
|
btnImg = "img/buttons/btnArrowOpen.png";
|
||||||
|
}
|
||||||
|
btnToggleVerticalShapes.attr("src",btnImg);
|
||||||
|
|
||||||
|
buttonGroupVerticalShapes.fadeToggle(BUTTON_GROUP_SHOW_DURATION);
|
||||||
}
|
}
|
||||||
function onBtnAdd() {
|
|
||||||
buttonGroupAdd.fadeToggle(BUTTON_GROUP_SHOW_DURATION);
|
|
||||||
}
|
|
||||||
|
|
||||||
function onBtnStraight() {
|
function onLogo() {
|
||||||
setVerticalShape(verticalShapes.NONE);
|
location.reload();
|
||||||
}
|
}
|
||||||
function onBtnDiv() {
|
|
||||||
setVerticalShape(verticalShapes.DIVERGING);
|
|
||||||
}
|
|
||||||
function onBtnConv() {
|
|
||||||
setVerticalShape(verticalShapes.CONVERGING);
|
|
||||||
}
|
|
||||||
function onBtnSine() {
|
|
||||||
setVerticalShape(verticalShapes.SINUS);
|
|
||||||
}
|
|
||||||
|
|
||||||
function hitTest(cursor,button,radius) {
|
function onBtnAdd() {
|
||||||
return distance(cursor.x,cursor.y,button.x,button.y)<radius;
|
buttonGroupAdd.fadeToggle(BUTTON_GROUP_SHOW_DURATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onBtnStraight() {
|
||||||
function onBtnToggleEdit() {
|
setVerticalShape(verticalShapes.NONE);
|
||||||
var btnImg;
|
}
|
||||||
|
function onBtnDiv() {
|
||||||
|
setVerticalShape(verticalShapes.DIVERGING);
|
||||||
|
}
|
||||||
|
function onBtnConv() {
|
||||||
|
setVerticalShape(verticalShapes.CONVERGING);
|
||||||
|
}
|
||||||
|
function onBtnSine() {
|
||||||
|
setVerticalShape(verticalShapes.SINUS);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hitTest(cursor,button,radius) {
|
||||||
|
return distance(cursor.x,cursor.y,button.x,button.y)<radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function onBtnToggleEdit() {
|
||||||
|
var btnImg;
|
||||||
if(buttonGroupEdit.is(":hidden")) {
|
if(buttonGroupEdit.is(":hidden")) {
|
||||||
btnImg = "img/buttons/btnArrowClose.png";
|
btnImg = "img/buttons/btnArrowClose.png";
|
||||||
} else {
|
} else {
|
||||||
btnImg = "img/buttons/btnArrowOpen.png";
|
btnImg = "img/buttons/btnArrowOpen.png";
|
||||||
}
|
}
|
||||||
btnToggleEdit.attr("src",btnImg);
|
btnToggleEdit.attr("src",btnImg);
|
||||||
|
|
||||||
buttonGroupEdit.fadeToggle(BUTTON_GROUP_SHOW_DURATION);
|
buttonGroupEdit.fadeToggle(BUTTON_GROUP_SHOW_DURATION);
|
||||||
}
|
}
|
||||||
function onBtnMove(e,cursor) {
|
function onBtnMove(e,cursor) {
|
||||||
var w = btnMove.width();
|
var w = btnMove.width();
|
||||||
var h = btnMove.height();
|
var h = btnMove.height();
|
||||||
@ -153,86 +154,86 @@ function initButtonBehavior() {
|
|||||||
function onBtnRotate(e,cursor) {
|
function onBtnRotate(e,cursor) {
|
||||||
var h = btnZoom.height();
|
var h = btnZoom.height();
|
||||||
var multiplier = (h/2-cursor.y)*0.003;
|
var multiplier = (h/2-cursor.y)*0.003;
|
||||||
rotateShape(-multiplier);
|
rotateShape(-multiplier);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onBtnHeight(e,cursor) {
|
function onBtnHeight(e,cursor) {
|
||||||
var h = btnHeight.height();
|
var h = btnHeight.height();
|
||||||
if(cursor.y < h/2) {
|
if(cursor.y < h/2) {
|
||||||
previewUp(true);
|
previewUp(true);
|
||||||
} else {
|
} else {
|
||||||
previewDown(true);
|
previewDown(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function onBtnTwist(e,cursor) {
|
function onBtnTwist(e,cursor) {
|
||||||
var h = btnTwist.height();
|
var h = btnTwist.height();
|
||||||
var multiplier = (cursor.y-h/2)*0.0005;
|
var multiplier = (cursor.y-h/2)*0.0005;
|
||||||
previewTwist(multiplier,true);
|
previewTwist(multiplier,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onBtnOops(e) {
|
function onBtnOops(e) {
|
||||||
oopsUndo();
|
oopsUndo();
|
||||||
}
|
}
|
||||||
|
|
||||||
function onBtnNew(e) {
|
function onBtnNew(e) {
|
||||||
clearDoodle();
|
clearDoodle();
|
||||||
}
|
}
|
||||||
|
|
||||||
function onBtnWordArt(e) {
|
|
||||||
showWordArtDialog();
|
|
||||||
}
|
|
||||||
|
|
||||||
function onBtnShape(e) {
|
function onBtnWordArt(e) {
|
||||||
showShapeDialog();
|
showWordArtDialog();
|
||||||
buttonGroupAdd.fadeOut();
|
}
|
||||||
}
|
|
||||||
|
|
||||||
btnSettings.on("onButtonClick", openSettingsWindow);
|
function onBtnShape(e) {
|
||||||
|
showShapeDialog();
|
||||||
// 29-okt-2013 - we're not doing help for smartphones at the moment
|
buttonGroupAdd.fadeOut();
|
||||||
if (clientInfo.isSmartphone) {
|
}
|
||||||
btnInfo.disable();
|
|
||||||
} else {
|
btnSettings.on("onButtonClick", openSettingsWindow);
|
||||||
btnInfo.on("onButtonClick", function(e) {
|
|
||||||
helpTours.startTour(helpTours.WELCOMETOUR);
|
// 29-okt-2013 - we're not doing help for smartphones at the moment
|
||||||
});
|
if (clientInfo.isSmartphone) {
|
||||||
}
|
btnInfo.disable();
|
||||||
|
} else {
|
||||||
|
btnInfo.on("onButtonClick", function(e) {
|
||||||
|
helpTours.startTour(helpTours.WELCOMETOUR);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function stopPrint() {
|
function stopPrint() {
|
||||||
console.log("f:stopPrint() >> sendPrintCommands = " + sendPrintCommands);
|
console.log("f:stopPrint() >> sendPrintCommands = " + sendPrintCommands);
|
||||||
//if (!confirm("Weet je zeker dat je huidige print wilt stoppen?")) return;
|
//if (!confirm("Weet je zeker dat je huidige print wilt stoppen?")) return;
|
||||||
if (sendPrintCommands) printer.stop();
|
if (sendPrintCommands) printer.stop();
|
||||||
//setState(Printer.STOPPING_STATE,printer.hasControl);
|
//setState(Printer.STOPPING_STATE,printer.hasControl);
|
||||||
printer.overruleState(Printer.STOPPING_STATE);
|
printer.overruleState(Printer.STOPPING_STATE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function print(e) {
|
function print(e) {
|
||||||
console.log("f:print() >> sendPrintCommands = " + sendPrintCommands);
|
console.log("f:print() >> sendPrintCommands = " + sendPrintCommands);
|
||||||
|
|
||||||
//$(".btnPrint").css("display","none");
|
//$(".btnPrint").css("display","none");
|
||||||
|
|
||||||
if (_points.length > 2) {
|
if (_points.length > 2) {
|
||||||
|
|
||||||
//setState(Printer.BUFFERING_STATE,printer.hasControl);
|
//setState(Printer.BUFFERING_STATE,printer.hasControl);
|
||||||
printer.overruleState(Printer.BUFFERING_STATE);
|
printer.overruleState(Printer.BUFFERING_STATE);
|
||||||
|
|
||||||
btnStop.css("display","none"); // hack
|
btnStop.css("display","none"); // hack
|
||||||
|
|
||||||
// we put the gcode generation in a little delay
|
// we put the gcode generation in a little delay
|
||||||
// so that for example the print button is disabled right away
|
// so that for example the print button is disabled right away
|
||||||
clearTimeout(gcodeGenerateDelayer);
|
clearTimeout(gcodeGenerateDelayer);
|
||||||
gcodeGenerateDelayer = setTimeout(function() {
|
gcodeGenerateDelayer = setTimeout(function() {
|
||||||
|
|
||||||
var gcode = generate_gcode();
|
var gcode = generate_gcode();
|
||||||
if (sendPrintCommands) {
|
if (sendPrintCommands) {
|
||||||
if(gcode.length > 0) {
|
if(gcode.length > 0) {
|
||||||
printer.print(gcode);
|
printer.print(gcode);
|
||||||
} else {
|
} else {
|
||||||
printer.overruleState(Printer.IDLE_STATE);
|
printer.overruleState(Printer.IDLE_STATE);
|
||||||
printer.startStatusCheckInterval();
|
printer.startStatusCheckInterval();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log("sendPrintCommands is false: not sending print command to 3dprinter");
|
console.log("sendPrintCommands is false: not sending print command to 3dprinter");
|
||||||
}
|
}
|
||||||
@ -242,75 +243,75 @@ function print(e) {
|
|||||||
// $("#textdump").text(gcode.join("\n"));
|
// $("#textdump").text(gcode.join("\n"));
|
||||||
// }
|
// }
|
||||||
|
|
||||||
}, gcodeGenerateDelay);
|
}, gcodeGenerateDelay);
|
||||||
} else {
|
} else {
|
||||||
console.log("f:print >> not enough points!");
|
console.log("f:print >> not enough points!");
|
||||||
}
|
}
|
||||||
|
|
||||||
//alert("Je tekening zal nu geprint worden");
|
//alert("Je tekening zal nu geprint worden");
|
||||||
//$(".btnPrint").css("display","block");
|
//$(".btnPrint").css("display","block");
|
||||||
|
|
||||||
|
|
||||||
// $.post("/doodle3d.of", { data:output }, function(data) {
|
// $.post("/doodle3d.of", { data:output }, function(data) {
|
||||||
// btnPrint.disabled = false;
|
// btnPrint.disabled = false;
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function clearMainView() {
|
function clearMainView() {
|
||||||
// console.log("f:clearMainView()");
|
// console.log("f:clearMainView()");
|
||||||
ctx.save();
|
ctx.save();
|
||||||
ctx.clearRect(0,0,canvas.width, canvas.height);
|
ctx.clearRect(0,0,canvas.width, canvas.height);
|
||||||
ctx.restore();
|
ctx.restore();
|
||||||
}
|
}
|
||||||
function resetPreview() {
|
function resetPreview() {
|
||||||
// console.log("f:resetPreview()");
|
// console.log("f:resetPreview()");
|
||||||
|
|
||||||
// clear preview canvas
|
// clear preview canvas
|
||||||
previewCtx.save();
|
previewCtx.save();
|
||||||
previewCtx.clearRect(0,0,canvas.width, canvas.height);
|
previewCtx.clearRect(0,0,canvas.width, canvas.height);
|
||||||
previewCtx.restore();
|
previewCtx.restore();
|
||||||
|
|
||||||
// also make new Image, otherwise the previously cached preview can be redrawn with move up/down or twist left/right
|
// also make new Image, otherwise the previously cached preview can be redrawn with move up/down or twist left/right
|
||||||
doodleImageCapture = new Image();
|
doodleImageCapture = new Image();
|
||||||
|
|
||||||
// reset height and rotation to default values
|
// reset height and rotation to default values
|
||||||
numLayers = previewDefaults.numLayers; // current number of preview layers
|
numLayers = previewDefaults.numLayers; // current number of preview layers
|
||||||
rStep = previewDefaults.rotation; // Math.PI/180; //Math.PI/40; //
|
rStep = previewDefaults.rotation; // Math.PI/180; //Math.PI/40; //
|
||||||
}
|
}
|
||||||
|
|
||||||
function oopsUndo() {
|
function oopsUndo() {
|
||||||
// console.log("f:oopsUndo()");
|
// console.log("f:oopsUndo()");
|
||||||
_points.pop();
|
_points.pop();
|
||||||
|
|
||||||
if (clientInfo.isSmartphone) {
|
if (clientInfo.isSmartphone) {
|
||||||
// do not recalc the whole preview's bounds during undo if client device is a smartphone
|
// do not recalc the whole preview's bounds during undo if client device is a smartphone
|
||||||
redrawDoodle(false);
|
redrawDoodle(false);
|
||||||
} else {
|
} else {
|
||||||
// recalc the whole preview's bounds during if client device is not a smartphone
|
// recalc the whole preview's bounds during if client device is not a smartphone
|
||||||
redrawDoodle(true);
|
redrawDoodle(true);
|
||||||
}
|
}
|
||||||
redrawPreview();
|
redrawPreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
function previewUp(redrawLess) {
|
function previewUp(redrawLess) {
|
||||||
// console.log("f:previewUp()");
|
// console.log("f:previewUp()");
|
||||||
if (numLayers < maxNumLayers) {
|
if (numLayers < maxNumLayers) {
|
||||||
numLayers++;
|
numLayers++;
|
||||||
}
|
}
|
||||||
setSketchModified(true);
|
setSketchModified(true);
|
||||||
|
|
||||||
// redrawPreview(redrawLess);
|
// redrawPreview(redrawLess);
|
||||||
redrawRenderedPreview(redrawLess);
|
redrawRenderedPreview(redrawLess);
|
||||||
}
|
}
|
||||||
function previewDown(redrawLess) {
|
function previewDown(redrawLess) {
|
||||||
// console.log("f:previewDown()");
|
// console.log("f:previewDown()");
|
||||||
if (numLayers > minNumLayers) {
|
if (numLayers > minNumLayers) {
|
||||||
numLayers--;
|
numLayers--;
|
||||||
}
|
}
|
||||||
setSketchModified(true);
|
setSketchModified(true);
|
||||||
// redrawPreview(redrawLess);
|
// redrawPreview(redrawLess);
|
||||||
redrawRenderedPreview(redrawLess);
|
redrawRenderedPreview(redrawLess);
|
||||||
}
|
}
|
||||||
function previewTwistLeft(redrawLess) {
|
function previewTwistLeft(redrawLess) {
|
||||||
previewTwist(-twistIncrement,true)
|
previewTwist(-twistIncrement,true)
|
||||||
@ -320,25 +321,23 @@ function previewTwistRight(redrawLess) {
|
|||||||
}
|
}
|
||||||
function previewTwist(increment,redrawLess) {
|
function previewTwist(increment,redrawLess) {
|
||||||
console.log("previewTwist: ",increment);
|
console.log("previewTwist: ",increment);
|
||||||
if (redrawLess == undefined) redrawLess = false;
|
if (redrawLess == undefined) redrawLess = false;
|
||||||
|
|
||||||
rStep += increment;
|
rStep += increment;
|
||||||
if(rStep < -previewRotationLimit) rStep = -previewRotationLimit;
|
if(rStep < -previewRotationLimit) rStep = -previewRotationLimit;
|
||||||
else if(rStep > previewRotationLimit) rStep = previewRotationLimit;
|
else if(rStep > previewRotationLimit) rStep = previewRotationLimit;
|
||||||
|
|
||||||
redrawRenderedPreview(redrawLess);
|
redrawRenderedPreview(redrawLess);
|
||||||
setSketchModified(true);
|
setSketchModified(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetTwist() {
|
function resetTwist() {
|
||||||
rStep = 0;
|
rStep = 0;
|
||||||
redrawRenderedPreview();
|
redrawRenderedPreview();
|
||||||
setSketchModified(true);
|
setSketchModified(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function update() {
|
function update() {
|
||||||
|
|
||||||
|
|
||||||
setState(printer.state,printer.hasControl);
|
setState(printer.state,printer.hasControl);
|
||||||
|
|
||||||
thermometer.update(printer.temperature, printer.targetTemperature);
|
thermometer.update(printer.temperature, printer.targetTemperature);
|
||||||
@ -371,54 +370,54 @@ function setState(newState,newHasControl) {
|
|||||||
|
|
||||||
// thermometer
|
// thermometer
|
||||||
switch(newState) {
|
switch(newState) {
|
||||||
case Printer.IDLE_STATE: /* fall-through */
|
case Printer.IDLE_STATE: /* fall-through */
|
||||||
case Printer.BUFFERING_STATE: /* fall-through */
|
case Printer.BUFFERING_STATE: /* fall-through */
|
||||||
case Printer.PRINTING_STATE: /* fall-through */
|
case Printer.PRINTING_STATE: /* fall-through */
|
||||||
case Printer.STOPPING_STATE:
|
case Printer.STOPPING_STATE:
|
||||||
thermometer.show();
|
thermometer.show();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
thermometer.hide();
|
thermometer.hide();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// progress indicator
|
// progress indicator
|
||||||
switch(newState) {
|
switch(newState) {
|
||||||
case Printer.PRINTING_STATE:
|
case Printer.PRINTING_STATE:
|
||||||
progressbar.show();
|
progressbar.show();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
progressbar.hide();
|
progressbar.hide();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* settings button */
|
/* settings button */
|
||||||
switch(newState) {
|
switch(newState) {
|
||||||
case Printer.IDLE_STATE:
|
case Printer.IDLE_STATE:
|
||||||
btnSettings.enable();
|
btnSettings.enable();
|
||||||
break;
|
break;
|
||||||
case Printer.WIFIBOX_DISCONNECTED_STATE: /* fall-through */
|
case Printer.WIFIBOX_DISCONNECTED_STATE: /* fall-through */
|
||||||
case Printer.BUFFERING_STATE: /* fall-through */
|
case Printer.BUFFERING_STATE: /* fall-through */
|
||||||
case Printer.PRINTING_STATE: /* fall-through */
|
case Printer.PRINTING_STATE: /* fall-through */
|
||||||
case Printer.STOPPING_STATE:
|
case Printer.STOPPING_STATE:
|
||||||
btnSettings.disable();
|
btnSettings.disable();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
btnSettings.enable();
|
btnSettings.enable();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* save, next and prev buttons */
|
/* save, next and prev buttons */
|
||||||
switch(newState) {
|
switch(newState) {
|
||||||
case Printer.WIFIBOX_DISCONNECTED_STATE:
|
case Printer.WIFIBOX_DISCONNECTED_STATE:
|
||||||
btnPrevious.disable();
|
btnPrevious.disable();
|
||||||
btnNext.disable()
|
btnNext.disable()
|
||||||
btnSave.disable();
|
btnSave.disable();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
updatePrevNextButtonState();
|
updatePrevNextButtonState();
|
||||||
if (isModified) btnSave.enable();
|
if (isModified) btnSave.enable();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(newState == Printer.WIFIBOX_DISCONNECTED_STATE) {
|
if(newState == Printer.WIFIBOX_DISCONNECTED_STATE) {
|
||||||
@ -428,7 +427,7 @@ function setState(newState,newHasControl) {
|
|||||||
} else if(newState == Printer.DISCONNECTED_STATE) {
|
} else if(newState == Printer.DISCONNECTED_STATE) {
|
||||||
message.set("Printer disconnected",Message.WARNING,true);
|
message.set("Printer disconnected",Message.WARNING,true);
|
||||||
} else if(prevState == Printer.DISCONNECTED_STATE && newState == Printer.IDLE_STATE ||
|
} else if(prevState == Printer.DISCONNECTED_STATE && newState == Printer.IDLE_STATE ||
|
||||||
prevState == Printer.UNKNOWN_STATE && newState == Printer.IDLE_STATE) {
|
prevState == Printer.UNKNOWN_STATE && newState == Printer.IDLE_STATE) {
|
||||||
message.set("Printer connected",Message.INFO,true);
|
message.set("Printer connected",Message.INFO,true);
|
||||||
console.log(" preheat: ",settings["printer.heatup.enabled"]);
|
console.log(" preheat: ",settings["printer.heatup.enabled"]);
|
||||||
if(settings["printer.heatup.enabled"]) {
|
if(settings["printer.heatup.enabled"]) {
|
||||||
|
Loading…
Reference in New Issue
Block a user