mirror of
https://github.com/Doodle3D/doodle3d-client.git
synced 2024-11-15 23:27:57 +01:00
aee5fecb88
# By Adriaan Wormgoor (6) and peteruithoven (4) # Via Adriaan Wormgoor (2) and peteruithoven (2) * 'master' of https://github.com/Doodle3D/doodle3d-client: objectHeight and twist fix and temp display fix minor repositioning of temp-guage so that it doesn't overlap with the info-button gcode generated twist now complies with the doodle preview made the 'ok' button have a mouseover 'hand' cursor commented out call to missing setPrintprogress() removed wrong unit in settings Removed unused draw logic additions to Thermometer to allow the general Update function to show() and hide() the Thermometer's container DIV new favicon (for Firefox) a few new favicons and homescreen icons Conflicts: js/Thermometer.js js/gcodeGenerating_v01.js
347 lines
9.3 KiB
JavaScript
347 lines
9.3 KiB
JavaScript
var btnMoveUpInterval;
|
|
var btnMoveDownInterval;
|
|
|
|
var btnTwistLeftInterval;
|
|
var btnTwistRightInterval;
|
|
var twistIncrement = Math.PI/1800;
|
|
|
|
var btnOopsInterval;
|
|
|
|
var btnNew, btnPrevious, btnNext;
|
|
var btnOops, btnStop, btnClear;
|
|
var btnMoveUp, btnMoveDown, btnTwistLeft, btnTwistRight;
|
|
var btnInfo, btnSettings;
|
|
var btnDebug; // debug
|
|
var displayTemp, displayProgress;
|
|
|
|
var displayTempEnabled = false;
|
|
|
|
var IDLE_STATE = "idle";
|
|
var PRINTING_STATE = "printing";
|
|
|
|
var state = IDLE_STATE;
|
|
var prevState = state;
|
|
|
|
function initButtonBehavior() {
|
|
console.log("f:initButtonBehavior >> btnNew = " + btnNew);
|
|
|
|
btnClear= $("#btnClear");
|
|
btnOops = $("#btnOops");
|
|
btnMoveUp = $("#btnMoveUp");
|
|
btnMoveDown = $("#btnMoveDown");
|
|
btnTwistLeft = $("#btnTwistLeft");
|
|
btnTwistRight = $("#btnTwistRight");
|
|
btnInfo = $("#btnInfo");
|
|
btnSettings = $("#btnSettings");
|
|
btnNew = $("#btnNew");
|
|
btnPrint= $("#btnPrint");
|
|
btnStop = $("#btnStop");
|
|
displayTemp = $("#displayTemp");
|
|
displayProgress = $("#printProgressContainer");
|
|
|
|
// btnPrevious = $("#btnPrevious");
|
|
// btnNext = $("#btnNext");
|
|
|
|
//debug
|
|
btnDebug = $(".debugBtn");
|
|
|
|
btnNew.bind('touchstart mousedown',clearDoodle);
|
|
btnPrint.bind('touchstart mousedown',print);
|
|
|
|
// not using these at the moment
|
|
$("#btnPrevious").css("opacity", "0.3");
|
|
$("#btnNext").css("opacity", "0.3");
|
|
$("#btnSave").css("opacity", "0.3");
|
|
$("#btnInfo").css("opacity", "0.3");
|
|
|
|
btnClear.click(function(e) {
|
|
e.preventDefault();
|
|
// console.log("clear");
|
|
|
|
clearDoodle();
|
|
});
|
|
|
|
function startOops(e) {
|
|
// console.log("btnOops mouse down");
|
|
e.preventDefault();
|
|
btnOopsInterval = setInterval( function() {
|
|
oopsUndo();
|
|
}, 1000/50);
|
|
}
|
|
function stopOops(e) {
|
|
// console.log("btnOops mouse up");
|
|
e.preventDefault();
|
|
clearInterval(btnOopsInterval);
|
|
}
|
|
btnOops.on('touchstart', function(e) { startOops(e); });
|
|
btnOops.on('touchend', function(e) { stopOops(e); });
|
|
btnOops.mousedown(function(e) { startOops(e); });
|
|
btnOops.mouseup(function(e) { stopOops(e); });
|
|
|
|
function startMoveUp(e) {
|
|
e.preventDefault();
|
|
// console.log("btnMoveUp mouse down");
|
|
previewUp(true);
|
|
clearInterval(btnMoveUpInterval);
|
|
btnMoveUpInterval = setInterval( function() {
|
|
previewUp(true);
|
|
}, 1000/30);
|
|
}
|
|
function stopMoveUp(e) {
|
|
e.preventDefault();
|
|
console.log("btnMoveUp mouse up");
|
|
clearInterval(btnMoveUpInterval);
|
|
previewUp();
|
|
}
|
|
btnMoveUp.mousedown(function(e) { startMoveUp(e) });
|
|
btnMoveUp.mouseup(function(e) { stopMoveUp(e) });
|
|
btnMoveUp.on('touchstart', function(e) { startMoveUp(e) });
|
|
btnMoveUp.on('touchend', function(e) { stopMoveUp(e) });
|
|
|
|
function startMoveDown(e) {
|
|
e.preventDefault();
|
|
// console.log("btnMoveDown mouse down");
|
|
previewDown(true);
|
|
clearInterval(btnMoveDownInterval);
|
|
btnMoveDownInterval = setInterval( function() {
|
|
previewDown(true);
|
|
}, 1000/30);
|
|
}
|
|
function stopMoveDown(e) {
|
|
e.preventDefault();
|
|
console.log("btnMoveDown mouse up");
|
|
clearInterval(btnMoveDownInterval);
|
|
previewDown();
|
|
}
|
|
btnMoveDown.mousedown(function(e) { startMoveDown(e) });
|
|
btnMoveDown.mouseup(function(e) { stopMoveDown(e) });
|
|
btnMoveDown.on('touchstart', function(e) { startMoveDown(e) });
|
|
btnMoveDown.on('touchend', function(e) { stopMoveDown(e) });
|
|
|
|
function startTwistLeft(e) {
|
|
e.preventDefault();
|
|
// console.log("btnTwistLeft mouse down");
|
|
previewTwistLeft(true);
|
|
clearInterval(btnTwistLeftInterval);
|
|
btnTwistLeftInterval = setInterval( function() {
|
|
previewTwistLeft(true);
|
|
}, 1000/30);
|
|
}
|
|
function stopTwistLeft(e) {
|
|
e.preventDefault();
|
|
// console.log("btnTwistLeft mouse up");
|
|
clearInterval(btnTwistLeftInterval);
|
|
previewTwistLeft();
|
|
}
|
|
btnTwistLeft.mousedown(function(e) { startTwistLeft(e) });
|
|
btnTwistLeft.mouseup(function(e) { stopTwistLeft(e) });
|
|
btnTwistLeft.on('touchstart', function(e) { startTwistLeft(e) });
|
|
btnTwistLeft.on('touchend', function(e) { stopTwistLeft(e) });
|
|
|
|
function startTwistRight(e) {
|
|
e.preventDefault();
|
|
// console.log("btnTwistRight mouse down");
|
|
previewTwistRight(true);
|
|
clearInterval(btnTwistRightInterval);
|
|
btnTwistRightInterval = setInterval( function() {
|
|
previewTwistRight(true);
|
|
}, 1000/30);
|
|
}
|
|
function stopTwistRight(e) {
|
|
e.preventDefault();
|
|
// console.log("btnTwistRight mouse up");
|
|
clearInterval(btnTwistRightInterval);
|
|
previewTwistRight();
|
|
}
|
|
btnTwistRight.mousedown(function(e) { startTwistRight(e) });
|
|
btnTwistRight.mouseup(function(e) { stopTwistRight(e) });
|
|
btnTwistRight.on('touchstart', function(e) { startTwistRight(e) });
|
|
btnTwistRight.on('touchend', function(e) { stopTwistRight(e) });
|
|
|
|
/*function openSettings() {
|
|
console.log("f:openSettings()");
|
|
$("#contentOverlay").fadeIn(1000, function() {
|
|
loadSettings();
|
|
});
|
|
}*/
|
|
btnSettings.bind('touchstart mousedown',function () {
|
|
//e.preventDefault();
|
|
//console.log("btnSettings clicked");
|
|
settingsWindow.showSettings();
|
|
});
|
|
// btnSettings.on('touchend', function(e) {
|
|
// e.preventDefault();
|
|
// console.log("btnSettings touchend");
|
|
// });
|
|
|
|
btnInfo.mouseup(function(e) {
|
|
e.preventDefault();
|
|
console.log("btnInfo mouse up");
|
|
});
|
|
|
|
// DEBUG
|
|
// $(".agentInfo").css("display", "none");
|
|
btnDebug.click(function(e) {
|
|
console.log("debugClick");
|
|
$(".agentInfo").toggleClass("agentInfoToggle");
|
|
e.preventDefault();
|
|
})
|
|
|
|
btnStop.bind('touchstart mousedown',stopPrint);
|
|
}
|
|
function stopPrint() {
|
|
console.log("f:stopPrint() >> sendPrintCommands = " + sendPrintCommands);
|
|
if (sendPrintCommands) printer.stop();
|
|
setState(IDLE_STATE);
|
|
}
|
|
|
|
|
|
function prevDoodle(e) {
|
|
console.log("f:prevDoodle()");
|
|
console.log("f:prevDoodle()");
|
|
}
|
|
function nextDoodle(e) {
|
|
console.log("f:nextDoodle()");
|
|
}
|
|
|
|
function print(e) {
|
|
console.log("f:print() >> sendPrintCommands = " + sendPrintCommands);
|
|
|
|
$("#textdump").text("");
|
|
if (_points.length > 2) {
|
|
|
|
setState(PRINTING_STATE);
|
|
var gcode = generate_gcode();
|
|
//startPrint(gencode);
|
|
|
|
if (sendPrintCommands) {
|
|
printer.print(gcode);
|
|
} else {
|
|
console.log("sendPrintCommands is false: not sending print command to 3dprinter");
|
|
}
|
|
|
|
//if (debugMode) {
|
|
//console.log("f:print() >> debugMode is true, dumping gcode to textarea #textdump");
|
|
$("#textdump").text(gcode.join("\n"));
|
|
//}
|
|
|
|
// copyToClipboard(gencode);
|
|
//*/
|
|
} else {
|
|
console.log("f:print >> not enough points!");
|
|
}
|
|
|
|
|
|
// $.post("/doodle3d.of", { data:output }, function(data) {
|
|
// btnPrint.disabled = false;
|
|
// });
|
|
}
|
|
|
|
|
|
function clearMainView() {
|
|
// console.log("f:clearMainView()");
|
|
ctx.save();
|
|
ctx.clearRect(0,0,canvas.width, canvas.height);
|
|
ctx.restore();
|
|
}
|
|
function resetPreview() {
|
|
// console.log("f:resetPreview()");
|
|
|
|
// clear preview canvas
|
|
previewCtx.save();
|
|
previewCtx.clearRect(0,0,canvas.width, canvas.height);
|
|
previewCtx.restore();
|
|
|
|
// reset height and rotation to default values
|
|
numLayers = previewDefaults.numLayers; // current number of preview layers
|
|
rStep = previewDefaults.rotation; // Math.PI/180; //Math.PI/40; //
|
|
}
|
|
|
|
function oopsUndo() {
|
|
// console.log("f:oopsUndo()");
|
|
_points.pop();
|
|
redrawDoodle();
|
|
redrawPreview();
|
|
}
|
|
function previewUp(redrawLess) {
|
|
// console.log("f:previewUp()");
|
|
if (numLayers < maxNumLayers) {
|
|
numLayers++;
|
|
}
|
|
// redrawPreview(redrawLess);
|
|
redrawRenderedPreview(redrawLess);
|
|
}
|
|
function previewDown(redrawLess) {
|
|
// console.log("f:previewDown()");
|
|
if (numLayers > minNumLayers) {
|
|
numLayers--;
|
|
}
|
|
// redrawPreview(redrawLess);
|
|
redrawRenderedPreview(redrawLess);
|
|
}
|
|
function previewTwistLeft(redrawLess) {
|
|
if (redrawLess == undefined) redrawLess = false;
|
|
// console.log("f:previewTwistLeft()");
|
|
if (rStep > -previewRotationLimit) rStep -= twistIncrement;
|
|
// redrawPreview(redrawLess);
|
|
redrawRenderedPreview(redrawLess);
|
|
}
|
|
function previewTwistRight(redrawLess) {
|
|
// console.log("f:previewTwistRight()");
|
|
if (rStep < previewRotationLimit) rStep += twistIncrement;
|
|
// redrawPreview(redrawLess);
|
|
redrawRenderedPreview(redrawLess);
|
|
}
|
|
|
|
|
|
|
|
function update() {
|
|
if(!displayTempEnabled && printer.alive) {
|
|
//displayTemp.show();
|
|
$displayThermometer.show();
|
|
displayTempEnabled = true;
|
|
} else if(displayTempEnabled && !printer.alive) {
|
|
displayTemp.hide();
|
|
$displayThermometer.hide();
|
|
displayTempEnabled = false;
|
|
}
|
|
|
|
if(displayTempEnabled) {
|
|
//displayTemp.text(printer.temperature+"/"+printer.targetTemperature);
|
|
thermometer.update(printer.temperature, printer.targetTemperature);
|
|
}
|
|
|
|
//setPrintprogress(printer.currentLine/printer.num_lines);
|
|
|
|
var btnPrint= $("#btnPrint");
|
|
|
|
setState(printer.printing? PRINTING_STATE : IDLE_STATE);
|
|
}
|
|
|
|
|
|
function setState(newState) {
|
|
if(newState == state) return;
|
|
|
|
switch(newState) {
|
|
case IDLE_STATE:
|
|
|
|
btnPrint.removeClass("disabled"); // enable print button
|
|
btnStop.addClass("disabled"); // disable stop button
|
|
btnPrint.bind('touchstart mousedown',print);
|
|
displayProgress.hide();
|
|
|
|
break;
|
|
case PRINTING_STATE:
|
|
|
|
btnPrint.addClass("disabled"); // disable print button
|
|
btnStop.removeClass("disabled"); // enable stop button
|
|
btnPrint.unbind('touchstart mousedown');
|
|
displayProgress.show();
|
|
|
|
break;
|
|
}
|
|
|
|
prevState = state;
|
|
state = newState;
|
|
|
|
} |