var servo = false;
var penupval = 128;
var pendownval = 128;
if (localStorage.getItem("servo-calibration")) {
servo = JSON.parse(localStorage.getItem("servo-calibration"));
penupval = servo.up;
pendownval = servo.down;
} else {
servo = false;
penupval = 128
pendownval = 128
}
$(document).ready(function() {
$('#pP').on('click', function(ev) {
console.log('pen up')
if (servo) {
socket.emit('runCommand', "M3S"+servo.up+"\n");
} else {
servocalibrate()
}
})
$('#pM').on('click', function(ev) {
console.log('pen down')
if (servo) {
socket.emit('runCommand', "M3S"+servo.down+"\n");
} else {
servocalibrate()
}
})
});
// Calibration Wizard
function penUpSend(data) {
console.log("Move to " + data)
sendGcode("M3 S"+data);
}
function penDownSend(data) {
console.log("Move to " + data)
sendGcode("M3 S"+data);
}
var servocaltemplate = `
`
function servocalibrate() {
Metro.dialog.create({
clsDialog: 'dark',
id: "servocalibratedialog",
title: " Servo Calibration: Pen-Up/Pen-Down Positions",
content: servocaltemplate,
width: 750,
actions: false,
defaultAction: false
});
setTimeout(function() {
$('#penupslider').data('slider').val(penupval)
}, 500);
}
function servocalslide1() {
$('#servocalstep1').show();
$('#servocalstep2').hide();
$('#servocalstep3').hide();
}
function servocalslide2() {
$('#servocalstep1').hide();
$('#servocalstep2').show();
$('#servocalstep3').hide();
setTimeout(function() {
$('#pendownslider').data('slider').val(pendownval)
}, 500);
}
function servocalslide3() {
$('#servocalstep1').hide();
$('#servocalstep2').hide();
$('#servocalstep3').show();
$('#penupval2').val($('#penupslider').data('slider').val());
$('#pendownval2').val($('#pendownslider').data('slider').val());
$('#penupval3').html($('#penupslider').data('slider').val());
$('#pendownval3').html($('#pendownslider').data('slider').val());
}
function closeServoCal() {
console.log("Saving calibration: up: " + $('#penupslider').data('slider').val() + ", down: " + $('#pendownslider').data('slider').val())
servo = {
up: $('#penupslider').data('slider').val(),
down: $('#pendownslider').data('slider').val()
}
penupval = $('#penupslider').data('slider').val();
pendownval = $('#pendownslider').data('slider').val();
localStorage.setItem("servo-calibration", JSON.stringify(servo));
Metro.dialog.close($('#servocalstep1').parent().parent());
console.log(servo)
}