kopia lustrzana https://github.com/OpenBuilds/OpenBuilds-CONTROL
Added Steps-per-mm File Tuning Calibration Widget #28
rodzic
49ec8f9bb8
commit
13ed1a9083
|
@ -941,6 +941,11 @@
|
|||
|
||||
<script type="text/javascript" src="js/grbl-defaults.js"></script>
|
||||
|
||||
<script type="text/javascript" src="js/calibrate-x.js"></script>
|
||||
<script type="text/javascript" src="js/calibrate-y.js"></script>
|
||||
<script type="text/javascript" src="js/calibrate-z.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript" src="js/probe.js"></script>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,118 @@
|
|||
var xcaltemplate = `
|
||||
|
||||
<div id="xcalstep1">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/x/pos1.png" style="border: 1px solid #f1f2f3;">
|
||||
</td>
|
||||
<td>
|
||||
Step 1: Mark Initial Position<br>
|
||||
<small>This wizard, will allow you to fine-tune your steps-per-mm for the X-Axis</small><hr>
|
||||
<small>To get started, jog your X-Axis until its near the X- position.</small><br>
|
||||
<center>
|
||||
<button class="button" onclick="jog('X', -10, 1000);"><i class="fas fa-arrow-left"></i> X- 10</button>
|
||||
<button class="button"onclick="jog('X', 10, 1000);"><i class="fas fa-arrow-right"></i> X+ 10</button>
|
||||
</center>
|
||||
<hr>
|
||||
<small>Then, place a physical mark
|
||||
on your machine to mark where the X-Carriage currently is</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button class="button success" onclick="slide2();"><i class="fas fa-check"></i> I've made my 1<sup>st</sup> mark, continue...</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="xcalstep2" style="display: none">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/x/pos2.png" alt="pos2" border="0">
|
||||
</td>
|
||||
<td>
|
||||
Step 2: Mark Second Position<br>
|
||||
<small>Click the button below to jog your X-Axis 100mm in the X+ direction. Note this will move the axis a theoretical 100mm (What the machine thinks it should be). Then, place a physical mark on your machine to mark where the X-Carriage stops</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button id="xcal100mm" class="button alert" onclick="$('#xcal100mm').attr('disabled', true); $('#xcalcontinue2').attr('disabled', false); jog('X', 100, 1000);"><i class="fas fa-arrow-right"></i> Move X+100mm</button>
|
||||
<hr>
|
||||
<button class="button" onclick="slide1();"><i class="fas fa-chevron-left"></i> Back</button>
|
||||
<button id="xcalcontinue2" class="button success" onclick="slide3();" disabled><i class="fas fa-check"></i> I've made my 2<sup>nd</sup> mark, continue...</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="xcalstep3" style="display: none">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/x/pos3.png" alt="pos3" border="0" style="border: 1px solid #f1f2f3;">
|
||||
</td>
|
||||
<td>
|
||||
Step 3: Measure Actual Movement<br>
|
||||
<small>Measure the actual distance between your two marks, as accurately as possible, and enter the value the machine moved below. This will be used to calculate a new actual steps-per-mm value</small><br>
|
||||
<hr>
|
||||
<input id="xcaltraveldist" type="number" value="100.0" data-role="input" data-append="mm" data-prepend="<i class='fas fa-arrows-alt-h'></i>" data-clear-button="false">
|
||||
<small class="text-muted">Enter the distance the machine moved</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button class="button" onclick="slide2();"><i class="fas fa-chevron-left"></i> Back</button>
|
||||
<button class="button success js-dialog-close" onclick="applycalibrationx();"><i class="fas fa-check"></i> Apply new value to Grbl Config</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
`
|
||||
|
||||
function applycalibrationx() {
|
||||
var actualdist = $('#xcaltraveldist').val();
|
||||
var currentstepspermm = parseFloat(grblParams['$100']);
|
||||
// var currentstepspermm = 199.9;
|
||||
// newstepsval = currentsteps * (intended distance / actual distance)
|
||||
var newsteps = currentstepspermm * (100 / actualdist);
|
||||
// alert("New Steps Per MM Value: " + newsteps);
|
||||
$('#val-100-input').val(newsteps)
|
||||
checkifchanged();
|
||||
}
|
||||
|
||||
|
||||
function xstepscalibrate() {
|
||||
Metro.dialog.create({
|
||||
title: "Calibrate Steps per mm for X-Axis ($100)",
|
||||
content: xcaltemplate,
|
||||
width: 750,
|
||||
actions: [{
|
||||
caption: "Cancel",
|
||||
cls: "js-dialog-close",
|
||||
onclick: function() {
|
||||
//
|
||||
}
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function slide1() {
|
||||
$('#xcalstep1').show();
|
||||
$('#xcalstep2').hide();
|
||||
$('#xcalstep3').hide();
|
||||
}
|
||||
|
||||
function slide2() {
|
||||
$('#xcal100mm').attr('disabled', false);
|
||||
$('#xcalcontinue2').attr('disabled', true);
|
||||
$('#xcalstep1').hide();
|
||||
$('#xcalstep2').show();
|
||||
$('#xcalstep3').hide();
|
||||
}
|
||||
|
||||
function slide3() {
|
||||
$('#xcalstep1').hide();
|
||||
$('#xcalstep2').hide();
|
||||
$('#xcalstep3').show();
|
||||
}
|
|
@ -0,0 +1,119 @@
|
|||
var ycaltemplate = `
|
||||
|
||||
<div id="ycalstep1">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/y/pos1.png" style="border: 1px solid #f1f2f3;">
|
||||
</td>
|
||||
<td>
|
||||
Step 1: Mark Initial Position<br>
|
||||
<small>This wizard, will allow you to fine-tune your steps-per-mm for the Y-Axis</small><hr>
|
||||
<small>To get started, jog your Y-Axis until its near the Y- position.</small><br>
|
||||
<center>
|
||||
<button class="button" onclick="jog('Y', -10, 1000);"><i class="fas fa-arrow-down"></i> Y- 10</button>
|
||||
<button class="button" onclick="jog('Y', -10, 1000);"><i class="fas fa-arrow-up"></i> Y+ 10</button>
|
||||
</center>
|
||||
<hr>
|
||||
<small>Then, place a physical mark
|
||||
on your machine to mark where the Y-Carriage currently is</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button class="button success" onclick="ycalslide2();"><i class="fas fa-check"></i> I've made my 1<sup>st</sup> mark, continue...</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="ycalstep2" style="display: none">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/y/pos2.png" alt="pos2" border="0">
|
||||
</td>
|
||||
<td>
|
||||
Step 2: Mark Second Position<br>
|
||||
<small>Click the button below to jog your Y-Axis 100mm in the Y+ direction. Note this will move the axis a theoretical 100mm (What the machine thinks it should be). Then, place a physical mark on your machine to mark where the Y-Carriage stops</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button id="ycal100mm" class="button alert" onclick="$('#ycal100mm').attr('disabled', true); $('#ycalcontinue2').attr('disabled', false); jog('Y', 100, 1000);"><i class="fas fa-arrow-up"></i> Move Y+100mm</button>
|
||||
<hr>
|
||||
<button class="button" onclick="ycalslide1();"><i class="fas fa-chevron-left"></i> Back</button>
|
||||
<button id="ycalcontinue2" class="button success" onclick="ycalslide3();" disabled><i class="fas fa-check"></i> I've made my 2<sup>nd</sup> mark, continue...</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="ycalstep3" style="display: none">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/y/pos3.png" alt="pos3" border="0">
|
||||
</td>
|
||||
<td>
|
||||
Step 3: Measure Actual Movement<br>
|
||||
<small>Measure the actual distance between your two marks, as accurately as possible, and enter the value the machine moved below. This will be used to calculate a new actual steps-per-mm value</small><br>
|
||||
<hr>
|
||||
<input id="ycaltraveldist" type="number" value="100.0" data-role="input" data-append="mm" data-prepend="<i class='fas fa-arrows-alt-h'></i>" data-clear-button="false">
|
||||
<small class="text-muted">Enter the distance the machine moved</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button class="button" onclick="ycalslide2();"><i class="fas fa-chevron-left"></i> Back</button>
|
||||
<button class="button success js-dialog-close" onclick="applycalibrationy();"><i class="fas fa-check"></i> Apply new value to Grbl Config</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
`
|
||||
|
||||
function applycalibrationy() {
|
||||
var actualdist = $('#ycaltraveldist').val();
|
||||
var currentstepspermm = parseFloat(grblParams['$101']);
|
||||
// var currentstepspermm = 199.9;
|
||||
// newstepsval = currentsteps * (intended distance / actual distance)
|
||||
var newsteps = currentstepspermm * (100 / actualdist);
|
||||
// alert("New Steps Per MM Value: " + newsteps);
|
||||
$('#val-101-input').val(newsteps)
|
||||
checkifchanged();
|
||||
}
|
||||
|
||||
|
||||
|
||||
function ystepscalibrate() {
|
||||
Metro.dialog.create({
|
||||
title: "Calibrate Steps per mm for Y-Axis ($101)",
|
||||
content: ycaltemplate,
|
||||
width: 750,
|
||||
actions: [{
|
||||
caption: "Cancel",
|
||||
cls: "js-dialog-close",
|
||||
onclick: function() {
|
||||
//
|
||||
}
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function ycalslide1() {
|
||||
$('#ycalstep1').show();
|
||||
$('#ycalstep2').hide();
|
||||
$('#ycalstep3').hide();
|
||||
}
|
||||
|
||||
function ycalslide2() {
|
||||
$('#ycal100mm').attr('disabled', false);
|
||||
$('#ycalcontinue2').attr('disabled', true);
|
||||
$('#ycalstep1').hide();
|
||||
$('#ycalstep2').show();
|
||||
$('#ycalstep3').hide();
|
||||
}
|
||||
|
||||
function ycalslide3() {
|
||||
$('#ycalstep1').hide();
|
||||
$('#ycalstep2').hide();
|
||||
$('#ycalstep3').show();
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
var zcaltemplate = `
|
||||
<div id="zcalstep1">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/z/pos1.png" style="border: 1px solid #f1f2f3;">
|
||||
</td>
|
||||
<td>
|
||||
Step 1: Mark Initial Position<br>
|
||||
<small>This wizard, will allow you to fine-tune your steps-per-mm for the Z-Axis</small><hr>
|
||||
<small>To get started, jog your Z-Axis until its near the Z- position.</small><br>
|
||||
<center>
|
||||
<button class="button" onclick="jog('Z', -10, 1000);"><i class="fas fa-arrow-down"></i> Z- 10</button>
|
||||
<button class="button" onclick="jog('Z', 10, 1000);"><i class="fas fa-arrow-up"></i> Z+ 10</button>
|
||||
</center>
|
||||
<hr>
|
||||
<small>Then, place a physical mark
|
||||
on your machine to mark where the Z-Carriage currently is</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button class="button success" onclick="zcalslide2();"><i class="fas fa-check"></i> I've made my 1<sup>st</sup> mark, continue...</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="zcalstep2" style="display: none">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/z/pos2.png" alt="pos2" border="0">
|
||||
</td>
|
||||
<td>
|
||||
Step 2: Mark Second Position<br>
|
||||
<small>Click the button below to jog your Z-Axis 50mm in the Y+ direction. Note this will move the axis a theoretical 50mm (What the machine thinks it should be). Then, place a physical mark on your machine to mark where the Y-Carriage stops</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button id="zcal50mm" class="button alert" onclick="$('#zcal50mm').attr('disabled', true); $('#zcalcontinue2').attr('disabled', false); jog('Z', 50, 1000)"><i class="fas fa-arrow-up"></i> Move Z+50mm</button>
|
||||
<hr>
|
||||
<button class="button" onclick="zcalslide1();"><i class="fas fa-chevron-left"></i> Back</button>
|
||||
<button id="zcalcontinue2" class="button success" onclick="zcalslide3();" disabled><i class="fas fa-check"></i> I've made my 2<sup>nd</sup> mark, continue...</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="zcalstep3" style="display: none">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="img/calibrate/z/pos3.png" alt="pos3" border="0">
|
||||
</td>
|
||||
<td>
|
||||
Step 3: Measure Actual Movement<br>
|
||||
<small>Measure the actual distance between your two marks, as accurately as possible, and enter the value the machine moved below. This will be used to calculate a new actual steps-per-mm value</small><br>
|
||||
<hr>
|
||||
<input id="zcaltraveldist" type="number" value="50.0" data-role="input" data-append="mm" data-prepend="<i class='fas fa-arrows-alt-h'></i>" data-clear-button="false">
|
||||
<small class="text-muted">Enter the distance the machine moved</small>
|
||||
<hr>
|
||||
<center>
|
||||
<button class="button" onclick="zcalslide2();"><i class="fas fa-chevron-left"></i> Back</button>
|
||||
<button class="button success js-dialog-close" onclick="applycalibrationz();"><i class="fas fa-check"></i> Apply new value to Grbl Config</button>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
`
|
||||
|
||||
function applycalibrationz() {
|
||||
var actualdist = $('#zcaltraveldist').val();
|
||||
var currentstepspermm = parseFloat(grblParams['$102']);
|
||||
// var currentstepspermm = 199.9;
|
||||
// newstepsval = currentsteps * (intended distance / actual distance)
|
||||
var newsteps = currentstepspermm * (50 / actualdist);
|
||||
// alert("New Steps Per MM Value: " + newsteps);
|
||||
$('#val-102-input').val(newsteps)
|
||||
checkifchanged();
|
||||
}
|
||||
|
||||
function zstepscalibrate() {
|
||||
Metro.dialog.create({
|
||||
title: "Calibrate Steps per mm for Z-Axis ($102)",
|
||||
content: zcaltemplate,
|
||||
width: 750,
|
||||
actions: [{
|
||||
caption: "Cancel",
|
||||
cls: "js-dialog-close",
|
||||
onclick: function() {
|
||||
//
|
||||
}
|
||||
}]
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function zcalslide1() {
|
||||
$('#zcalstep1').show();
|
||||
$('#zcalstep2').hide();
|
||||
$('#zcalstep3').hide();
|
||||
}
|
||||
|
||||
function zcalslide2() {
|
||||
$('#zcal50mm').attr('disabled', false);
|
||||
$('#zcalcontinue2').attr('disabled', true);
|
||||
$('#zcalstep1').hide();
|
||||
$('#zcalstep2').show();
|
||||
$('#zcalstep3').hide();
|
||||
}
|
||||
|
||||
function zcalslide3() {
|
||||
$('#zcalstep1').hide();
|
||||
$('#zcalstep2').hide();
|
||||
$('#zcalstep3').show();
|
||||
}
|
|
@ -1,10 +1,4 @@
|
|||
var grblcalctemplate = `<div>
|
||||
<ul class="tabs-expand-sm" data-role="tabs">
|
||||
<li><a href="#_stepspermm_1">Preset</a></li>
|
||||
<!-- li><a href="#_stepspermm_2">Calibrate</a></li -->
|
||||
</ul>
|
||||
|
||||
<div id="_stepspermm_1">
|
||||
<div class="card">
|
||||
<div class="card-content">
|
||||
<table class="table striped compact">
|
||||
|
@ -75,12 +69,6 @@ var grblcalctemplate = `<div>
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="_stepspermm_2">
|
||||
|
||||
|
||||
</div>`
|
||||
|
||||
function xstepspermm() {
|
||||
|
@ -88,7 +76,7 @@ function xstepspermm() {
|
|||
Metro.dialog.create({
|
||||
width: 600,
|
||||
toTop: true,
|
||||
title: "Calibrate Steps per mm for X-Axis ($100)",
|
||||
title: "Calculate Steps per mm for X-Axis ($100)",
|
||||
content: grblcalctemplate,
|
||||
actions: [{
|
||||
caption: "Apply",
|
||||
|
@ -118,7 +106,7 @@ function ystepspermm() {
|
|||
Metro.dialog.create({
|
||||
width: 600,
|
||||
toTop: true,
|
||||
title: "Calibrate Steps per mm for Y-Axis ($101)",
|
||||
title: "Calculate Steps per mm for Y-Axis ($101)",
|
||||
content: grblcalctemplate,
|
||||
actions: [{
|
||||
caption: "Apply",
|
||||
|
@ -147,7 +135,7 @@ function zstepspermm() {
|
|||
Metro.dialog.create({
|
||||
width: 600,
|
||||
toTop: true,
|
||||
title: "Calibrate Steps per mm for Z-Axis ($102)",
|
||||
title: "Calculate Steps per mm for Z-Axis ($102)",
|
||||
content: grblcalctemplate,
|
||||
actions: [{
|
||||
caption: "Apply",
|
||||
|
|
|
@ -91,7 +91,7 @@ function grblPopulate() {
|
|||
</ul>
|
||||
</div>
|
||||
<div class="cell-4">
|
||||
<input id="limitsinstalled" data-cls-caption="fg-openbuilds" data-cls-check="bd-openbuilds openbuilds-switch" data-cls-switch="openbuilds-switch" type="checkbox" data-role="switch" data-caption="Limit Switches Installed">
|
||||
<input id="limitsinstalled" data-cls-caption="fg-openbuilds" data-cls-check="bd-openbuilds openbuilds-switch" data-cls-switch="openbuilds-switch" type="checkbox" data-role="switch" data-caption="Limit Switches Installed">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -104,58 +104,57 @@ function grblPopulate() {
|
|||
<hr class="bg-openbuilds">
|
||||
<div>
|
||||
|
||||
<div style="overflow-y: scroll; height: calc(100vh - 430px); ">
|
||||
<table data-role="table" class="table compact striped row-hover row-border" data-show-rows-steps="false" data-rows="200" data-show-pagination="false" data-show-table-info="false" data-show-search="false">
|
||||
<div style="overflow-y: scroll; height: calc(100vh - 450px); max-height: calc(100vh - 450px); ">
|
||||
<table class="table compact striped row-hover row-border" data-show-rows-steps="false" data-rows="200" data-show-pagination="false" data-show-table-info="false" data-show-search="false">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Key</th>
|
||||
<th class="sortable-column" data-format="number"></th>
|
||||
<th class="sortable-column">Parameter</th>
|
||||
<th>Value</th>
|
||||
<th></th>
|
||||
<th>Key</th>
|
||||
<th>Parameter</th>
|
||||
<th style="width: 250px; min-width: 240px !important;">Value</th>
|
||||
<th style="width: 110px; min-width: 110px !important;">Utility</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tr><td>$</td><td>0</td><td>Step pulse time, microseconds</td><td><input data-role="input" data-append="µs" style="width: 200px;" type="text" value="` + grblParams['$0'] + `" id="val-` + 0 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>1</td><td>Step idle delay, milliseconds</td><td><input data-role="input" data-append="ms" style="width: 200px;" type="text" value="` + grblParams['$1'] + `" id="val-` + 1 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>2</td>
|
||||
<tr><td>$0</td><td>Step pulse time, microseconds</td><td><input data-role="input" data-clear-button="false" data-append="µs" type="text" value="` + grblParams['$0'] + `" id="val-` + 0 + `-input"></td><td></td></tr>
|
||||
<tr><td>$1</td><td>Step idle delay, milliseconds</td><td><input data-role="input" data-clear-button="false" data-append="ms" type="text" value="` + grblParams['$1'] + `" id="val-` + 1 + `-input"></td><td></td></tr>
|
||||
<tr><td>$2</td>
|
||||
<td>Step pulse invert</td>
|
||||
<td>
|
||||
<select style="width: 200px;" id="val-` + 2 + `-input" value="` + grblParams['$2'] + `">
|
||||
<option value="0">[0] X:⚪ Y:⚪ Z:⚪</option>
|
||||
<option value="1">[1] X:⚫ Y:⚪ Z:⚪</option>
|
||||
<option value="2">[2] X:⚪ Y:⚫ Z:⚪</option>
|
||||
<option value="3">[3] X:⚪ Y:⚪ Z:⚫</option>
|
||||
<option value="4">[4] X:⚫ Y:⚫ Z:⚪</option>
|
||||
<option value="5">[5] X:⚫ Y:⚪ Z:⚫</option>
|
||||
<option value="6">[6] X:⚪ Y:⚫ Z:⚫</option>
|
||||
<option value="7">[7] X:⚫ Y:⚫ Z:⚫</option>
|
||||
</select>
|
||||
<select id="val-` + 2 + `-input" value="` + grblParams['$2'] + `">
|
||||
<option value="0">[0] X:⚪ Y:⚪ Z:⚪</option>
|
||||
<option value="1">[1] X:⚫ Y:⚪ Z:⚪</option>
|
||||
<option value="2">[2] X:⚪ Y:⚫ Z:⚪</option>
|
||||
<option value="3">[3] X:⚪ Y:⚪ Z:⚫</option>
|
||||
<option value="4">[4] X:⚫ Y:⚫ Z:⚪</option>
|
||||
<option value="5">[5] X:⚫ Y:⚪ Z:⚫</option>
|
||||
<option value="6">[6] X:⚪ Y:⚫ Z:⚫</option>
|
||||
<option value="7">[7] X:⚫ Y:⚫ Z:⚫</option>
|
||||
</select>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr><td>$</td><td>3</td><td>Step direction invert</td><td><input readonly type="hidden" id="val-` + 3 + `-input" value="` + grblParams['$3'] + `">
|
||||
<tr><td>$3</td><td>Step direction invert</td><td><input readonly type="hidden" id="val-` + 3 + `-input" value="` + grblParams['$3'] + `">
|
||||
<input data-cls-caption="fg-openbuilds" data-cls-check="bd-openbuilds openbuilds-switch" data-cls-switch="openbuilds-switch" id="xdirinvert" class="secondary" type="checkbox" data-role="switch" data-caption="Invert X Direction"><br>
|
||||
<input data-cls-caption="fg-openbuilds" data-cls-check="bd-openbuilds openbuilds-switch" data-cls-switch="openbuilds-switch" id="ydirinvert" class="secondary" type="checkbox" data-role="switch" data-caption="Invert Y Direction"><br>
|
||||
<input data-cls-caption="fg-openbuilds" data-cls-check="bd-openbuilds openbuilds-switch" data-cls-switch="openbuilds-switch" id="zdirinvert" class="secondary" type="checkbox" data-role="switch" data-caption="Invert Z Direction">
|
||||
</td><td></td></tr>
|
||||
<tr><td>$</td><td>4</td><td>Invert step enable pin</td><td><select style="width: 200px;" id="val-` + 4 + `-input" value="` + grblParams['$4'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$</td><td>5</td><td>Invert limit pins</td><td><select style="width: 200px;" id="val-` + 5 + `-input" value="` + grblParams['$5'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$</td><td>6</td><td>Invert probe pin</td><td><select style="width: 200px;" id="val-` + 6 + `-input" value="` + grblParams['$6'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$</td><td>10</td><td>Status report options</td><td><select style="width: 200px;" id="val-` + 10 + `-input" value="` + grblParams['$10'] + `">
|
||||
<tr><td>$4</td><td>Invert step enable pin</td><td><select id="val-` + 4 + `-input" value="` + grblParams['$4'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$5</td><td>Invert limit pins</td><td><select id="val-` + 5 + `-input" value="` + grblParams['$5'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$6</td><td>Invert probe pin</td><td><select id="val-` + 6 + `-input" value="` + grblParams['$6'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$10</td><td>Status report options</td><td><select id="val-` + 10 + `-input" value="` + grblParams['$10'] + `">
|
||||
<option value="0">[0] WPos:⚫ MPos:⚪ Buf:⚪</option>
|
||||
<option value="1">[1] WPos:⚪ MPos:⚫ Buf:⚪</option>
|
||||
<option value="2">[2] WPos:⚫ MPos:⚪ Buf:⚫</option>
|
||||
</select></td><td></td></tr>
|
||||
<tr><td>$</td><td>11</td><td>Junction deviation, millimeters</td><td><input data-role="input" data-append="mm" style="width: 200px;" type="text" value="` + grblParams['$11'] + `" id="val-` + 11 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>12</td><td>Arc tolerance, millimeters</td><td><input data-role="input" data-append="mm" style="width: 200px;" type="text" value="` + grblParams['$12'] + `" id="val-` + 12 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>13</td><td>Report in inches</td><td><select style="width: 200px;" id="val-` + 13 + `-input" value="` + grblParams['$13'] + `"><option value="0">⚪ Disable</option><option value="1">⚫ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$11</td><td>Junction deviation, millimeters</td><td><input data-role="input" data-clear-button="false" data-append="mm" type="text" value="` + grblParams['$11'] + `" id="val-` + 11 + `-input"></td><td></td></tr>
|
||||
<tr><td>$12</td><td>Arc tolerance, millimeters</td><td><input data-role="input" data-clear-button="false" data-append="mm" type="text" value="` + grblParams['$12'] + `" id="val-` + 12 + `-input"></td><td></td></tr>
|
||||
<tr><td>$13</td><td>Report in inches</td><td><select id="val-` + 13 + `-input" value="` + grblParams['$13'] + `"><option value="0">⚪ Disable</option><option value="1">⚫ Enable</option></select></td><td></td></tr>
|
||||
|
||||
<tr><td>$</td><td>20</td><td>Soft limits enable <small>(Enable and Save Homing first before enabling)<small></td><td><select style="width: 200px;" id="val-` + 20 + `-input" value="` + grblParams['$20'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$</td><td>21</td><td>Hard limits enable</td><td><select style="width: 200px;" id="val-` + 21 + `-input" value="` + grblParams['$21'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$</td><td>22</td><td>Homing cycle enable</td><td><select style="width: 200px;" id="val-` + 22 + `-input" value="` + grblParams['$22'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$</td><td>23</td><td>Homing direction invert</td><td><select style="width: 200px;" id="val-` + 23 + `-input" value="` + grblParams['$23'] + `">
|
||||
<tr><td>$20</td><td>Soft limits enable <br><small>(Enable and Save Homing first before enabling)<small></td><td><select id="val-` + 20 + `-input" value="` + grblParams['$20'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$21</td><td>Hard limits enable</td><td><select id="val-` + 21 + `-input" value="` + grblParams['$21'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$22</td><td>Homing cycle enable</td><td><select id="val-` + 22 + `-input" value="` + grblParams['$22'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$23</td><td>Homing direction invert</td><td><select id="val-` + 23 + `-input" value="` + grblParams['$23'] + `">
|
||||
<option value="0">[0] X:⚪ Y:⚪ Z:⚪</option>
|
||||
<option value="1">[1] X:⚫ Y:⚪ Z:⚪</option>
|
||||
<option value="2">[2] X:⚪ Y:⚫ Z:⚪</option>
|
||||
|
@ -165,30 +164,92 @@ function grblPopulate() {
|
|||
<option value="6">[6] X:⚪ Y:⚫ Z:⚫</option>
|
||||
<option value="7">[7] X:⚫ Y:⚫ Z:⚫</option>
|
||||
</select></td><td></td></tr>
|
||||
<tr><td>$</td><td>24</td><td>Homing locate feed rate, mm/min</td><td><input data-role="input" data-append="mm/min" style="width: 200px;" type="text" value="` + grblParams['$24'] + `" id="val-` + 24 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>25</td><td>Homing search seek rate, mm/min</td><td><input data-role="input" data-append="mm/min" style="width: 200px;" type="text" value="` + grblParams['$25'] + `" id="val-` + 25 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>26</td><td>Homing switch debounce delay, milliseconds</td><td><input data-role="input" data-append="ms" style="width: 200px;" type="text" value="` + grblParams['$26'] + `" id="val-` + 26 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>27</td><td>Homing switch pull-off distance, millimeters</td><td><input data-role="input" data-append="mm" style="width: 200px;" type="text" value="` + grblParams['$27'] + `" id="val-` + 27 + `-input"></td><td></td></tr>
|
||||
<tr><td>$24</td><td>Homing locate feed rate, mm/min</td><td><input data-role="input" data-clear-button="false" data-append="mm/min" type="text" value="` + grblParams['$24'] + `" id="val-` + 24 + `-input"></td><td></td></tr>
|
||||
<tr><td>$25</td><td>Homing search seek rate, mm/min</td><td><input data-role="input" data-clear-button="false" data-append="mm/min" type="text" value="` + grblParams['$25'] + `" id="val-` + 25 + `-input"></td><td></td></tr>
|
||||
<tr><td>$26</td><td>Homing switch debounce delay, milliseconds</td><td><input data-role="input" data-clear-button="false" data-append="ms" type="text" value="` + grblParams['$26'] + `" id="val-` + 26 + `-input"></td><td></td></tr>
|
||||
<tr><td>$27</td><td>Homing switch pull-off distance, millimeters</td><td><input data-role="input" data-clear-button="false" data-append="mm" type="text" value="` + grblParams['$27'] + `" id="val-` + 27 + `-input"></td><td></td></tr>
|
||||
|
||||
<tr><td>$</td><td>30</td><td>Maximum spindle speed, RPM</td><td><input data-role="input" data-append="RPM" style="width: 200px;" type="text" value="` + grblParams['$30'] + `" id="val-` + 30 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>31</td><td>Minimum spindle speed, RPM</td><td><input data-role="input" data-append="RPM" style="width: 200px;" type="text" value="` + grblParams['$31'] + `" id="val-` + 31 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>32</td><td>Laser-mode enable</td><td><select style="width: 200px;" id="val-` + 32 + `-input" value="` + grblParams['$32'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
<tr><td>$30</td><td>Maximum spindle speed, RPM</td><td><input data-role="input" data-clear-button="false" data-append="RPM" type="text" value="` + grblParams['$30'] + `" id="val-` + 30 + `-input"></td><td></td></tr>
|
||||
<tr><td>$31</td><td>Minimum spindle speed, RPM</td><td><input data-role="input" data-clear-button="false" data-append="RPM" type="text" value="` + grblParams['$31'] + `" id="val-` + 31 + `-input"></td><td></td></tr>
|
||||
<tr><td>$32</td><td>Laser-mode enable</td><td><select id="val-` + 32 + `-input" value="` + grblParams['$32'] + `"><option value="0">✗ Disable</option><option value="1">✓ Enable</option></select></td><td></td></tr>
|
||||
|
||||
<tr><td>$</td><td>100</td><td>X-axis steps per millimeter</td><td><input data-role="input" data-append="steps/mm" style="width: 200px;" type="text" value="` + grblParams['$100'] + `" id="val-` + 100 + `-input"></td><td><button class="button " type="button" onclick="xstepspermm()"><i class="fas fa-calculator"></i></button></td></tr>
|
||||
<tr><td>$</td><td>101</td><td>Y-axis steps per millimeter</td><td><input data-role="input" data-append="steps/mm" style="width: 200px;" type="text" value="` + grblParams['$101'] + `" id="val-` + 101 + `-input"></td><td><button class="button" type="button" onclick="ystepspermm()"><i class="fas fa-calculator"></i></button></td></tr>
|
||||
<tr><td>$</td><td>102</td><td>Z-axis steps per millimeter</td><td><input data-role="input" data-append="steps/mm" style="width: 200px;" type="text" value="` + grblParams['$102'] + `" id="val-` + 102 + `-input"></td><td><button class="button" type="button" onclick="zstepspermm()"><i class="fas fa-calculator"></i></button></td></tr>
|
||||
<tr>
|
||||
<td>$100</td>
|
||||
<td>X-axis steps per millimeter</td>
|
||||
<td><input data-role="input" data-clear-button="false" data-append="steps/mm" type="text" value="` + grblParams['$100'] + `" id="val-` + 100 + `-input"></td>
|
||||
<td>
|
||||
<button title="Calculate X-Axis Steps per mm" class="button " type="button" onclick="xstepspermm()">
|
||||
<span class="fa-layers fa-fw">
|
||||
<i class="fas fa-calculator" data-fa-transform="shrink-2"></i>
|
||||
<span class="fa-layers-text" data-fa-transform="up-16" style="font-weight:600; font-family: Arial; font-size: 10px;">Calc</span>
|
||||
<span class="fa-layers-text" data-fa-transform="down-19" style="font-weight:600; font-family: Arial; font-size: 10px;">Steps</span>
|
||||
</span>
|
||||
</button>
|
||||
<button title="Fine Tune X-Axis Steps per mm" class="button " type="button" onclick="xstepscalibrate()">
|
||||
<span class="fa-layers fa-fw">
|
||||
<i class="fas fa-wrench" data-fa-transform="shrink-2"></i>
|
||||
<span class="fa-layers-text" data-fa-transform="up-16" style="font-weight:600; font-family: Arial; font-size: 10px;">Fine</span>
|
||||
<span class="fa-layers-text" data-fa-transform="down-19" style="font-weight:600; font-family: Arial; font-size: 10px;">Tune</span>
|
||||
</span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td>$</td><td>110</td><td>X-axis maximum rate, mm/min</td><td><input data-role="input" data-append="mm/min" style="width: 200px;" type="text" value="` + grblParams['$110'] + `" id="val-` + 110 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>111</td><td>Y-axis maximum rate, mm/min</td><td><input data-role="input" data-append="mm/min" style="width: 200px;" type="text" value="` + grblParams['$111'] + `" id="val-` + 111 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>112</td><td>Z-axis maximum rate, mm/min</td><td><input data-role="input" data-append="mm/min" style="width: 200px;" type="text" value="` + grblParams['$112'] + `" id="val-` + 112 + `-input"></td><td></td></tr>
|
||||
<tr>
|
||||
<td>$101</td>
|
||||
<td>Y-axis steps per millimeter</td>
|
||||
<td><input data-role="input" data-clear-button="false" data-append="steps/mm" type="text" value="` + grblParams['$101'] + `" id="val-` + 101 + `-input"></td>
|
||||
<td>
|
||||
<button title="Calculate Y-Axis Steps per mm" class="button" type="button" onclick="ystepspermm()">
|
||||
<span class="fa-layers fa-fw">
|
||||
<i class="fas fa-calculator" data-fa-transform="shrink-2"></i>
|
||||
<span class="fa-layers-text" data-fa-transform="up-16" style="font-weight:600; font-family: Arial; font-size: 10px;">Calc</span>
|
||||
<span class="fa-layers-text" data-fa-transform="down-19" style="font-weight:600; font-family: Arial; font-size: 10px;">Steps</span>
|
||||
</span>
|
||||
</button>
|
||||
<button title="Fine Tune Y-Axis Steps per mm" class="button " type="button" onclick="ystepscalibrate()">
|
||||
<span class="fa-layers fa-fw">
|
||||
<i class="fas fa-wrench" data-fa-transform="shrink-2"></i>
|
||||
<span class="fa-layers-text" data-fa-transform="up-16" style="font-weight:600; font-family: Arial; font-size: 10px;">Fine</span>
|
||||
<span class="fa-layers-text" data-fa-transform="down-19" style="font-weight:600; font-family: Arial; font-size: 10px;">Tune</span>
|
||||
</span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td>$</td><td>120</td><td>X-axis acceleration, mm/sec<sup>2</sup></td><td><input data-role="input" data-append="mm/sec²" style="width: 200px;" type="text" value="` + grblParams['$120'] + `" id="val-` + 120 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>121</td><td>Y-axis acceleration, mm/sec<sup>2</sup></td><td><input data-role="input" data-append="mm/sec²" style="width: 200px;" type="text" value="` + grblParams['$121'] + `" id="val-` + 121 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>122</td><td>Z-axis acceleration, mm/sec<sup>2</sup></td><td><input data-role="input" data-append="mm/sec²" style="width: 200px;" type="text" value="` + grblParams['$122'] + `" id="val-` + 122 + `-input"></td></td><td></td></tr>
|
||||
<tr>
|
||||
<td>$102</td>
|
||||
<td>Z-axis steps per millimeter</td>
|
||||
<td><input data-role="input" data-clear-button="false" data-append="steps/mm" type="text" value="` + grblParams['$102'] + `" id="val-` + 102 + `-input"></td>
|
||||
<td>
|
||||
<button title="Calculate Z-Axis Steps per mm" class="button" type="button" onclick="zstepspermm()">
|
||||
<span class="fa-layers fa-fw">
|
||||
<i class="fas fa-calculator" data-fa-transform="shrink-2"></i>
|
||||
<span class="fa-layers-text" data-fa-transform="up-16" style="font-weight:600; font-family: Arial; font-size: 10px;">Calc</span>
|
||||
<span class="fa-layers-text" data-fa-transform="down-19" style="font-weight:600; font-family: Arial; font-size: 10px;">Steps</span>
|
||||
</span>
|
||||
</button>
|
||||
<button title="Fine Tune Z-Axis Steps per mm" class="button " type="button" onclick="zstepscalibrate()">
|
||||
<span class="fa-layers fa-fw">
|
||||
<i class="fas fa-wrench" data-fa-transform="shrink-2"></i>
|
||||
<span class="fa-layers-text" data-fa-transform="up-16" style="font-weight:600; font-family: Arial; font-size: 10px;">Fine</span>
|
||||
<span class="fa-layers-text" data-fa-transform="down-19" style="font-weight:600; font-family: Arial; font-size: 10px;">Tune</span>
|
||||
</span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td>$</td><td>130</td><td>X-axis maximum travel, millimeters</td><td><input data-role="input" data-append="mm" style="width: 200px;" type="text" value="` + grblParams['$130'] + `" id="val-` + 130 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>131</td><td>Y-axis maximum travel, millimeters</td><td><input data-role="input" data-append="mm" style="width: 200px;" type="text" value="` + grblParams['$131'] + `" id="val-` + 131 + `-input"></td><td></td></tr>
|
||||
<tr><td>$</td><td>132</td><td>Z-axis maximum travel, millimeters</td><td><input data-role="input" data-append="mm" style="width: 200px;" type="text" value="` + grblParams['$132'] + `" id="val-` + 132 + `-input"></td><td></td></tr>
|
||||
<tr><td>$110</td><td>X-axis maximum rate, mm/min</td><td><input data-role="input" data-clear-button="false" data-append="mm/min" type="text" value="` + grblParams['$110'] + `" id="val-` + 110 + `-input"></td><td></td></tr>
|
||||
<tr><td>$111</td><td>Y-axis maximum rate, mm/min</td><td><input data-role="input" data-clear-button="false" data-append="mm/min" type="text" value="` + grblParams['$111'] + `" id="val-` + 111 + `-input"></td><td></td></tr>
|
||||
<tr><td>$112</td><td>Z-axis maximum rate, mm/min</td><td><input data-role="input" data-clear-button="false" data-append="mm/min" type="text" value="` + grblParams['$112'] + `" id="val-` + 112 + `-input"></td><td></td></tr>
|
||||
|
||||
<tr><td>$120</td><td>X-axis acceleration, mm/sec<sup>2</sup></td><td><input data-role="input" data-clear-button="false" data-append="mm/sec²" type="text" value="` + grblParams['$120'] + `" id="val-` + 120 + `-input"></td><td></td></tr>
|
||||
<tr><td>$121</td><td>Y-axis acceleration, mm/sec<sup>2</sup></td><td><input data-role="input" data-clear-button="false" data-append="mm/sec²" type="text" value="` + grblParams['$121'] + `" id="val-` + 121 + `-input"></td><td></td></tr>
|
||||
<tr><td>$122</td><td>Z-axis acceleration, mm/sec<sup>2</sup></td><td><input data-role="input" data-clear-button="false" data-append="mm/sec²" type="text" value="` + grblParams['$122'] + `" id="val-` + 122 + `-input"></td></td><td></td></tr>
|
||||
|
||||
<tr><td>$130</td><td>X-axis maximum travel, millimeters</td><td><input data-role="input" data-clear-button="false" data-append="mm" type="text" value="` + grblParams['$130'] + `" id="val-` + 130 + `-input"></td><td></td></tr>
|
||||
<tr><td>$131</td><td>Y-axis maximum travel, millimeters</td><td><input data-role="input" data-clear-button="false" data-append="mm" type="text" value="` + grblParams['$131'] + `" id="val-` + 131 + `-input"></td><td></td></tr>
|
||||
<tr><td>$132</td><td>Z-axis maximum travel, millimeters</td><td><input data-role="input" data-clear-button="false" data-append="mm" type="text" value="` + grblParams['$132'] + `" id="val-` + 132 + `-input"></td><td></td></tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -215,7 +276,7 @@ function grblPopulate() {
|
|||
$("#val-10-input").val(parseInt(grblParams['$10'])).trigger("change");
|
||||
}, 100);;
|
||||
|
||||
$('#grblSettingsTable').on('keyup paste click', 'input, select', function() {
|
||||
$('#grblSettingsTable').on('keyup paste click change', 'input, select', function() {
|
||||
checkifchanged()
|
||||
});
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "OpenBuildsCONTROL",
|
||||
"version": "1.0.126",
|
||||
"version": "1.0.127",
|
||||
"license": "AGPL-3.0",
|
||||
"description": "Machine Interface Driver for OpenBuilds",
|
||||
"author": "github.com/openbuilds <webmaster@openbuilds.com>",
|
||||
|
|
Ładowanie…
Reference in New Issue