mirror of
https://github.com/Doodle3D/doodle3d-client.git
synced 2024-11-22 01:07:56 +01:00
NOTE: this commit is temporary and should be reverted!
Add confirmation dialog when stop print button is pressed. Add modal alert when print is started to prevent repeated clicking of button (which in turn corrupts gcode buffering). Change preheat M109 to M104 to speed up printing cycle.
This commit is contained in:
parent
a23de73f8d
commit
07fa1f62e8
@ -189,6 +189,7 @@ function initButtonBehavior() {
|
|||||||
}
|
}
|
||||||
function stopPrint() {
|
function stopPrint() {
|
||||||
console.log("f:stopPrint() >> sendPrintCommands = " + sendPrintCommands);
|
console.log("f:stopPrint() >> sendPrintCommands = " + sendPrintCommands);
|
||||||
|
if (!confirm("Weet je zeker dat je de 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);
|
||||||
}
|
}
|
||||||
@ -229,6 +230,7 @@ function print(e) {
|
|||||||
console.log("f:print >> not enough points!");
|
console.log("f:print >> not enough points!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
alert("Je tekening zal nu geprint worden.");
|
||||||
|
|
||||||
// $.post("/doodle3d.of", { data:output }, function(data) {
|
// $.post("/doodle3d.of", { data:output }, function(data) {
|
||||||
// btnPrint.disabled = false;
|
// btnPrint.disabled = false;
|
||||||
@ -295,17 +297,17 @@ function previewTwistRight(redrawLess) {
|
|||||||
|
|
||||||
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);
|
||||||
//TODO: update progress
|
//TODO: update progress
|
||||||
}
|
}
|
||||||
|
|
||||||
function setState(newState,newHasControl) { //TODO add hasControl
|
function setState(newState,newHasControl) { //TODO add hasControl
|
||||||
if(newState == state && newHasControl == hasControl) return;
|
if(newState == state && newHasControl == hasControl) return;
|
||||||
|
|
||||||
console.log("setState: ",state," > ",newState," ( ",newHasControl,")");
|
console.log("setState: ",state," > ",newState," ( ",newHasControl,")");
|
||||||
setDebugText("State: "+newState);
|
setDebugText("State: "+newState);
|
||||||
|
|
||||||
// print button
|
// print button
|
||||||
var printEnabled = (newState == Printer.IDLE_STATE && newHasControl);
|
var printEnabled = (newState == Printer.IDLE_STATE && newHasControl);
|
||||||
if(printEnabled) {
|
if(printEnabled) {
|
||||||
@ -316,7 +318,7 @@ function setState(newState,newHasControl) { //TODO add hasControl
|
|||||||
btnPrint.addClass("disabled"); // disable print button
|
btnPrint.addClass("disabled"); // disable print button
|
||||||
btnPrint.unbind('touchstart mousedown');
|
btnPrint.unbind('touchstart mousedown');
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop button
|
// stop button
|
||||||
var stopEnabled = ((newState == Printer.PRINTING_STATE || newState == Printer.BUFFERING_STATE) && newHasControl);
|
var stopEnabled = ((newState == Printer.PRINTING_STATE || newState == Printer.BUFFERING_STATE) && newHasControl);
|
||||||
if(stopEnabled) {
|
if(stopEnabled) {
|
||||||
@ -327,7 +329,7 @@ function setState(newState,newHasControl) { //TODO add hasControl
|
|||||||
btnStop.addClass("disabled");
|
btnStop.addClass("disabled");
|
||||||
btnStop.unbind('touchstart mousedown');
|
btnStop.unbind('touchstart mousedown');
|
||||||
}
|
}
|
||||||
|
|
||||||
// thermometer
|
// thermometer
|
||||||
switch(newState) {
|
switch(newState) {
|
||||||
case Printer.UNKNOWN_STATE:
|
case Printer.UNKNOWN_STATE:
|
||||||
@ -338,18 +340,18 @@ function setState(newState,newHasControl) { //TODO add hasControl
|
|||||||
thermometer.show();
|
thermometer.show();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// progress indicator
|
// progress indicator
|
||||||
switch(newState) {
|
switch(newState) {
|
||||||
case Printer.PRINTING_STATE:
|
case Printer.PRINTING_STATE:
|
||||||
displayProgress.show(); // TODO: Show progress
|
displayProgress.show(); // TODO: Show progress
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
displayProgress.hide(); // TODO: hide progress
|
displayProgress.hide(); // TODO: hide progress
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
prevState = state;
|
prevState = state;
|
||||||
state = newState;
|
state = newState;
|
||||||
hasControl = newHasControl;
|
hasControl = newHasControl;
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ gcodeStart.push("G92 E0"); // zero the extruded length
|
|||||||
gcodeStart.push("G1 F200 E10"); // extrude 10mm of feed stock
|
gcodeStart.push("G1 F200 E10"); // extrude 10mm of feed stock
|
||||||
gcodeStart.push("G92 E0"); // zero the extruded length again
|
gcodeStart.push("G92 E0"); // zero the extruded length again
|
||||||
//gcodeStart.push("G92 X-100 Y-100 E0"); // zero the extruded length again and make center the start position
|
//gcodeStart.push("G92 X-100 Y-100 E0"); // zero the extruded length again and make center the start position
|
||||||
gcodeStart.push("G1 F9000");
|
gcodeStart.push("G1 F9000");
|
||||||
gcodeStart.push("G90"); // absolute positioning
|
gcodeStart.push("G90"); // absolute positioning
|
||||||
gcodeStart.push("M117 Printing Doodle... "); // display message (20 characters to clear whole screen)
|
gcodeStart.push("M117 Printing Doodle... "); // display message (20 characters to clear whole screen)
|
||||||
|
|
||||||
@ -101,9 +101,9 @@ function generate_gcode(callback) {
|
|||||||
console.log("");
|
console.log("");
|
||||||
//*/
|
//*/
|
||||||
|
|
||||||
// max amount of real world layers
|
// max amount of real world layers
|
||||||
var layers = maxObjectHeight / layerHeight; //maxObjectHeight instead of objectHeight
|
var layers = maxObjectHeight / layerHeight; //maxObjectHeight instead of objectHeight
|
||||||
|
|
||||||
// translate numLayers in preview to objectHeight in real world
|
// translate numLayers in preview to objectHeight in real world
|
||||||
//objectHeight = Math.ceil(numLayers / 5); // in settings objectHeight = 20, in previewRendering_v01.js numLayers is 100, hence the / 5
|
//objectHeight = Math.ceil(numLayers / 5); // in settings objectHeight = 20, in previewRendering_v01.js numLayers is 100, hence the / 5
|
||||||
//objectHeight = numLayers; // in settings objectHeight = 20, in previewRendering_v01.js numLayers is 100, hence the / 5
|
//objectHeight = numLayers; // in settings objectHeight = 20, in previewRendering_v01.js numLayers is 100, hence the / 5
|
||||||
@ -113,7 +113,7 @@ function generate_gcode(callback) {
|
|||||||
var rStepGCode = rStep * maxNumLayers/layers; ///maxNumLayers*maxObjectHeight;
|
var rStepGCode = rStep * maxNumLayers/layers; ///maxNumLayers*maxObjectHeight;
|
||||||
// correct direction
|
// correct direction
|
||||||
rStepGCode = -rStepGCode;
|
rStepGCode = -rStepGCode;
|
||||||
|
|
||||||
// todo hier een array van PATHS maken wat de losse paths zijn
|
// todo hier een array van PATHS maken wat de losse paths zijn
|
||||||
|
|
||||||
// copy array without reference -> http://stackoverflow.com/questions/9885821/copying-of-an-array-of-objects-to-another-array-without-object-reference-in-java
|
// copy array without reference -> http://stackoverflow.com/questions/9885821/copying-of-an-array-of-objects-to-another-array-without-object-reference-in-java
|
||||||
@ -125,10 +125,11 @@ function generate_gcode(callback) {
|
|||||||
// return;
|
// return;
|
||||||
|
|
||||||
console.log("printer temperature: ",temperature);
|
console.log("printer temperature: ",temperature);
|
||||||
gcode.push("M109 S" + temperature); // set target temperature and wait for the extruder to reach it
|
gcode.push("M104 S" + temperature); // set target temperature and do not wait for the extruder to reach it
|
||||||
|
//gcode.push("M109 S" + temperature); // set target temperature and wait for the extruder to reach it
|
||||||
// add gcode begin commands
|
// add gcode begin commands
|
||||||
gcode = gcode.concat(startGcode);
|
gcode = gcode.concat(startGcode);
|
||||||
|
|
||||||
//gcode.push("M109 S" + temperature); // set target temperature and wait for the extruder to reach it
|
//gcode.push("M109 S" + temperature); // set target temperature and wait for the extruder to reach it
|
||||||
|
|
||||||
var layers = maxObjectHeight / layerHeight; //maxObjectHeight instead of objectHeight
|
var layers = maxObjectHeight / layerHeight; //maxObjectHeight instead of objectHeight
|
||||||
@ -204,7 +205,7 @@ function generate_gcode(callback) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// console.log("f:generategcode() >> paths.length: " + paths.length);
|
// console.log("f:generategcode() >> paths.length: " + paths.length);
|
||||||
|
|
||||||
// loop over the subpaths (the separately drawn lines)
|
// loop over the subpaths (the separately drawn lines)
|
||||||
for (var j = 0; j < paths.length; j++) { // TODO paths > subpaths
|
for (var j = 0; j < paths.length; j++) { // TODO paths > subpaths
|
||||||
// this line is probably for drawing efficiency, alternating going from 0->end and end->0 (i.e. to and fro)
|
// this line is probably for drawing efficiency, alternating going from 0->end and end->0 (i.e. to and fro)
|
||||||
@ -234,7 +235,7 @@ function generate_gcode(callback) {
|
|||||||
// console.log("enableTraveling && isTraveling >> doRetract: " + doRetract + ", retractionspeed: " + retractionspeed);
|
// console.log("enableTraveling && isTraveling >> doRetract: " + doRetract + ", retractionspeed: " + retractionspeed);
|
||||||
if (doRetract) gcode.push("G0 E" + (extruder - retractionamount).toFixed(3) + " F" + (retractionspeed * 60).toFixed(3)); //retract
|
if (doRetract) gcode.push("G0 E" + (extruder - retractionamount).toFixed(3) + " F" + (retractionspeed * 60).toFixed(3)); //retract
|
||||||
gcode.push("G0 X" + to.x.toFixed(3) + " Y" + to.y.toFixed(3) + " Z" + z.toFixed(3) + " F" + (travelSpeed * 60).toFixed(3));
|
gcode.push("G0 X" + to.x.toFixed(3) + " Y" + to.y.toFixed(3) + " Z" + z.toFixed(3) + " F" + (travelSpeed * 60).toFixed(3));
|
||||||
if (doRetract) gcode.push("G0 E" + extruder.toFixed(3) + " F" + (retractionspeed * 60).toFixed(3)); // return to normal
|
if (doRetract) gcode.push("G0 E" + extruder.toFixed(3) + " F" + (retractionspeed * 60).toFixed(3)); // return to normal
|
||||||
} else {
|
} else {
|
||||||
// console.log(" else");
|
// console.log(" else");
|
||||||
extruder += prev.distance(to) * wallThickness * layerHeight / filamentThickness;
|
extruder += prev.distance(to) * wallThickness * layerHeight / filamentThickness;
|
||||||
@ -343,4 +344,4 @@ Point.prototype = {
|
|||||||
toString: function() {
|
toString: function() {
|
||||||
console.log("x:" + this.x + ", y:" + this.y);
|
console.log("x:" + this.x + ", y:" + this.y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user