OpenBuilds-CONTROL/app/js/jog.js

411 wiersze
12 KiB
JavaScript
Czysty Zwykły widok Historia

2019-05-01 18:44:44 +00:00
var allowContinuousJog = false;
2018-06-21 20:02:40 +00:00
var jogdist = 10;
var safeToUpdateSliders = true;
2018-06-21 20:02:40 +00:00
$(document).ready(function() {
2019-04-12 13:32:56 +00:00
$(document).mousedown(function(e) {
safeToUpdateSliders = false;
2019-04-12 13:32:56 +00:00
}).mouseup(function(e) {
safeToUpdateSliders = true;
2019-04-12 13:32:56 +00:00
}).mouseleave(function(e) {
safeToUpdateSliders = true;
});
$("#xPos").click(function() {
$("#xPos").hide()
$("#xPosInput").show().focus().val(laststatus.machine.position.work.x)
});
$("#xPosInput").blur(function() {
$("#xPos").show()
$("#xPosInput").hide()
});
$('#xPosInput').on('keypress', function(e) {
if (e.which === 13) {
//Disable textbox to prevent multiple submit
$(this).attr("disabled", "disabled");
$("#xPos").show()
$("#xPosInput").hide()
//Enable the textbox again if needed.
$(this).removeAttr("disabled");
sendGcode("G0 X" + $("#xPosInput").val())
}
});
$("#yPos").click(function() {
$("#yPos").hide()
$("#yPosInput").show().focus().val(laststatus.machine.position.work.y)
});
$("#yPosInput").blur(function() {
$("#yPos").show()
$("#yPosInput").hide()
});
$('#yPosInput').on('keypress', function(e) {
if (e.which === 13) {
//Disable textbox to prevent multiple submit
$(this).attr("disabled", "disabled");
$("#yPos").show()
$("#yPosInput").hide()
//Enable the textbox again if needed.
$(this).removeAttr("disabled");
sendGcode("G0 Y" + $("#yPosInput").val())
}
});
$("#zPos").click(function() {
$("#zPos").hide()
$("#zPosInput").show().focus().val(laststatus.machine.position.work.z)
});
$("#zPosInput").blur(function() {
$("#zPos").show()
$("#zPosInput").hide()
});
$('#zPosInput').on('keypress', function(e) {
if (e.which === 13) {
//Disable textbox to prevent multiple submit
$(this).attr("disabled", "disabled");
$("#zPos").show()
$("#zPosInput").hide()
//Enable the textbox again if needed.
$(this).removeAttr("disabled");
sendGcode("G0 Z" + $("#zPosInput").val())
}
});
2018-06-21 20:02:40 +00:00
$('#dist01').on('click', function(ev) {
jogdist = 0.1;
2019-03-25 19:10:26 +00:00
$('.distbtn').removeClass('bd-openbuilds')
$('#dist01').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
$('.jogdist').addClass('fg-gray')
$('#dist01label').removeClass('fg-gray')
2019-03-25 19:10:26 +00:00
$('#dist01label').addClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
})
$('#dist1').on('click', function(ev) {
jogdist = 1;
2019-03-25 19:10:26 +00:00
$('.distbtn').removeClass('bd-openbuilds')
$('#dist1').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
$('.jogdist').addClass('fg-gray')
$('#dist1label').removeClass('fg-gray')
2019-03-25 19:10:26 +00:00
$('#dist1label').addClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
})
$('#dist10').on('click', function(ev) {
jogdist = 10;
2019-03-25 19:10:26 +00:00
$('.distbtn').removeClass('bd-openbuilds')
$('#dist10').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
$('.jogdist').addClass('fg-gray')
$('#dist10label').removeClass('fg-gray')
2019-03-25 19:10:26 +00:00
$('#dist10label').addClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
})
$('#dist100').on('click', function(ev) {
jogdist = 100;
2019-03-25 19:10:26 +00:00
$('.distbtn').removeClass('bd-openbuilds')
$('#dist100').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
$('.jogdist').addClass('fg-gray')
$('#dist100label').removeClass('fg-gray')
2019-03-25 19:10:26 +00:00
$('#dist100label').addClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
})
$('#dist500').on('click', function(ev) {
jogdist = 500;
2019-03-25 19:10:26 +00:00
$('.distbtn').removeClass('bd-openbuilds')
$('#dist500').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
$('.jogdist').addClass('fg-gray')
$('#dist500label').removeClass('fg-gray')
2019-03-25 19:10:26 +00:00
$('#dist500label').addClass('fg-openbuilds')
2018-06-21 20:02:40 +00:00
})
2019-01-18 19:01:53 +00:00
$('#gotozeroWPos').on('click', function(ev) {
2019-01-21 12:46:21 +00:00
sendGcode('G21 G90');
2018-06-21 20:02:40 +00:00
sendGcode('G0 Z5');
sendGcode('G0 X0 Y0');
sendGcode('G0 Z0');
});
2019-01-18 19:01:53 +00:00
$('#gotozeroMPos').on('click', function(ev) {
sendGcode('G53 G0 Z0');
sendGcode('G0 X0 Y0');
sendGcode('G0 Z0');
});
2018-06-21 20:02:40 +00:00
$('#xM').on('click', function(ev) {
2019-04-18 14:23:51 +00:00
if (!allowContinuousJog) {
var dir = 'X-';
var feedrate = $('#jograte').val();
jog('X', '-' + jogdist, feedrate);
}
2018-06-21 20:02:40 +00:00
})
$('#xP').on('click', function(ev) {
2019-04-18 14:23:51 +00:00
if (!allowContinuousJog) {
var dir = 'X-';
var feedrate = $('#jograte').val();
jog('X', jogdist, feedrate);
}
2018-06-21 20:02:40 +00:00
})
$('#yM').on('click', function(ev) {
2019-04-18 14:23:51 +00:00
if (!allowContinuousJog) {
var dir = 'X-';
var feedrate = $('#jograte').val();
jog('Y', '-' + jogdist, feedrate);
}
2018-06-21 20:02:40 +00:00
})
$('#yP').on('click', function(ev) {
2019-04-18 14:23:51 +00:00
if (!allowContinuousJog) {
var dir = 'X-';
var feedrate = $('#jograte').val();
jog('Y', jogdist, feedrate);
}
2018-06-21 20:02:40 +00:00
})
$('#zM').on('click', function(ev) {
2019-04-18 14:23:51 +00:00
if (!allowContinuousJog) {
var dir = 'X-';
var feedrate = $('#jograte').val();
jog('Z', '-' + jogdist, feedrate);
}
2018-06-21 20:02:40 +00:00
})
$('#zP').on('click', function(ev) {
2019-04-18 14:23:51 +00:00
if (!allowContinuousJog) {
var dir = 'X-';
var feedrate = $('#jograte').val();
jog('Z', jogdist, feedrate);
}
2018-06-21 20:02:40 +00:00
})
2019-04-18 14:23:51 +00:00
$('#xP').on('mousedown', function(ev) {
if (allowContinuousJog) { // startJog();
var direction = "X";
var feed = $('#jograte').val();
socket.emit('runCommand', "$J=G91 G21 " + direction + "1000 F" + feed + "\n");
$('#xM').click();
}
});
$('#xP').on('mouseup', function(ev) {
if (allowContinuousJog) {
cancelJog()
}
});
$('#yM').on('mousedown', function(ev) {
if (allowContinuousJog) { // startJog();
var direction = "Y-";
var feed = $('#jograte').val();
socket.emit('runCommand', "$J=G91 G21 " + direction + "1000 F" + feed + "\n");
$('#xM').click();
}
});
$('#yM').on('mouseup', function(ev) {
if (allowContinuousJog) {
cancelJog()
}
});
$('#yP').on('mousedown', function(ev) {
if (allowContinuousJog) { // startJog();
var direction = "Y";
var feed = $('#jograte').val();
socket.emit('runCommand', "$J=G91 G21 " + direction + "1000 F" + feed + "\n");
$('#xM').click();
}
});
$('#yP').on('mouseup', function(ev) {
if (allowContinuousJog) {
cancelJog()
}
});
$('#zM').on('mousedown', function(ev) {
if (allowContinuousJog) { // startJog();
var direction = "Z-";
var feed = $('#jograte').val();
socket.emit('runCommand', "$J=G91 G21 " + direction + "1000 F" + feed + "\n");
$('#xM').click();
}
});
$('#zM').on('mouseup', function(ev) {
if (allowContinuousJog) {
cancelJog()
}
});
$('#zP').on('mousedown', function(ev) {
if (allowContinuousJog) { // startJog();
var direction = "Z";
var feed = $('#jograte').val();
socket.emit('runCommand', "$J=G91 G21 " + direction + "1000 F" + feed + "\n");
$('#xM').click();
}
});
$('#zP').on('mouseup', function(ev) {
if (allowContinuousJog) {
cancelJog()
}
});
$('#xM').on('mousedown', function(ev) {
if (allowContinuousJog) { // startJog();
var direction = "X-";
var feed = $('#jograte').val();
socket.emit('runCommand', "$J=G91 G21 " + direction + "1000 F" + feed + "\n");
$('#xM').click();
}
});
$('#xM').on('mouseup', function(ev) {
if (allowContinuousJog) {
cancelJog()
}
});
2019-01-30 08:39:36 +00:00
$('#homeBtn').on('click', function(ev) {
2019-04-17 18:56:22 +00:00
home();
2019-01-30 08:39:36 +00:00
})
2018-09-06 21:08:06 +00:00
$('#chkSize').on('click', function() {
var bbox2 = new THREE.Box3().setFromObject(object);
console.log('bbox for Draw Bounding Box: ' + object + ' Min X: ', (bbox2.min.x), ' Max X:', (bbox2.max.x), 'Min Y: ', (bbox2.min.y), ' Max Y:', (bbox2.max.y));
var feedrate = $('#jograte').val();
if (laststatus.machine.firmware.type === 'grbl') {
2019-01-30 08:39:36 +00:00
if (object.userData.inch) {
2019-01-29 21:35:57 +00:00
var moves = `
$J=G90G20X` + (bbox2.min.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
$J=G90G20X` + (bbox2.max.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
$J=G90G20X` + (bbox2.max.x) + ` Y` + (bbox2.max.y) + ` F` + feedrate + `\n
$J=G90G20X` + (bbox2.min.x) + ` Y` + (bbox2.max.y) + ` F` + feedrate + `\n
$J=G90G20X` + (bbox2.min.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
`;
} else {
var moves = `
$J=G90G21X` + (bbox2.min.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
$J=G90G21X` + (bbox2.max.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
$J=G90G21X` + (bbox2.max.x) + ` Y` + (bbox2.max.y) + ` F` + feedrate + `\n
$J=G90G21X` + (bbox2.min.x) + ` Y` + (bbox2.max.y) + ` F` + feedrate + `\n
$J=G90G21X` + (bbox2.min.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
`;
}
2018-09-06 21:08:06 +00:00
} else {
var moves = `
G90\n
G0 X` + (bbox2.min.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
G0 X` + (bbox2.max.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
G0 X` + (bbox2.max.x) + ` Y` + (bbox2.max.y) + ` F` + feedrate + `\n
G0 X` + (bbox2.min.x) + ` Y` + (bbox2.max.y) + ` F` + feedrate + `\n
G0 X` + (bbox2.min.x) + ` Y` + (bbox2.min.y) + ` F` + feedrate + `\n
G90\n`;
}
socket.emit('runJob', moves);
});
2018-06-21 20:02:40 +00:00
});
2019-04-16 18:17:42 +00:00
function changeStepSize(dir) {
if (jogdist == 0.1) {
if (dir == 1) {
jogdist = 1;
$('.distbtn').removeClass('bd-openbuilds')
$('#dist1').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
$('.jogdist').addClass('fg-gray')
$('#dist1label').removeClass('fg-gray')
$('#dist1label').addClass('fg-openbuilds')
}
if (dir == -1) {
// do nothing
}
} else if (jogdist == 1) {
if (dir == 1) {
jogdist = 10;
$('.distbtn').removeClass('bd-openbuilds')
$('#dist10').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
$('.jogdist').addClass('fg-gray')
$('#dist10label').removeClass('fg-gray')
$('#dist10label').addClass('fg-openbuilds')
}
if (dir == -1) {
jogdist = 0.1;
$('.distbtn').removeClass('bd-openbuilds')
$('#dist01').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
$('.jogdist').addClass('fg-gray')
$('#dist01label').removeClass('fg-gray')
$('#dist01label').addClass('fg-openbuilds')
}
} else if (jogdist == 10) {
if (dir == 1) {
jogdist = 100;
$('.distbtn').removeClass('bd-openbuilds')
$('#dist100').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
$('.jogdist').addClass('fg-gray')
$('#dist100label').removeClass('fg-gray')
$('#dist100label').addClass('fg-openbuilds')
}
if (dir == -1) {
jogdist = 1;
$('.distbtn').removeClass('bd-openbuilds')
$('#dist1').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
$('.jogdist').addClass('fg-gray')
$('#dist1label').removeClass('fg-gray')
$('#dist1label').addClass('fg-openbuilds')
}
} else if (jogdist == 100) {
if (dir == 1) {
// do nothing
}
if (dir == -1) {
jogdist = 10;
$('.distbtn').removeClass('bd-openbuilds')
$('#dist10').addClass('bd-openbuilds')
$('.jogdist').removeClass('fg-openbuilds')
$('.jogdist').addClass('fg-gray')
$('#dist10label').removeClass('fg-gray')
$('#dist10label').addClass('fg-openbuilds')
}
}
}
2018-06-21 20:02:40 +00:00
function jog(dir, dist, feed = null) {
if (feed) {
socket.emit('jog', dir + ',' + dist + ',' + feed);
} else {
socket.emit('jog', dir + ',' + dist);
}
2018-08-24 19:00:03 +00:00
}
function jogXY(xincrement, yincrement, feed = null) {
var data = {
x: xincrement,
y: yincrement,
feed: feed
}
socket.emit('jogXY', data);
2019-04-17 18:56:22 +00:00
}
function home() {
if (laststatus != undefined && laststatus.machine.firmware.type == 'grbl') {
sendGcode('$H')
} else if (laststatus != undefined && laststatus.machine.firmware.type == 'smoothie') {
sendGcode('G28')
}
2018-06-21 20:02:40 +00:00
}