kopia lustrzana https://github.com/OpenBuilds/OpenBuilds-CONTROL
v 1.0.48 Steps per mm calcs
rodzic
2bcc8dd4d2
commit
a1e92dcdb7
|
|
@ -785,6 +785,7 @@
|
|||
<script type="text/javascript" src="js/grblsettings.js"></script>
|
||||
<script type="text/javascript" src="js/metroactions.js"></script>
|
||||
<script type="text/javascript" src="js/jog.js"></script>
|
||||
<script type="text/javascript" src="js/calibrate.js"></script>
|
||||
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,231 @@
|
|||
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">
|
||||
<tbody>
|
||||
<tr id="actuatorrow">
|
||||
<td>Actuator Type</td>
|
||||
<td>
|
||||
<select data-role="select" data-filter="false" id="actuatorselect" data-on-change="actuatorselect();">
|
||||
<option value="belt" selected>Belt Driven</option>
|
||||
<option value="lead">Leadscrew Driven</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="motorrow">
|
||||
<td style="width: 30%;">Motor Type</td>
|
||||
<td style="width: 70%;">
|
||||
<select data-role="select" data-filter="false" id="motorselect" data-on-change="processpreset();">
|
||||
<option value="200">1.8° (200 steps per rotation)</option>
|
||||
<option value="400">0.9° (400 steps per rotation)</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="microsteprow">
|
||||
<td style="width: 30%;">Microstepping Type</td>
|
||||
<td style="width: 70%;">
|
||||
<select data-role="select" data-filter="false" id="microstepselect" data-on-change="processpreset();">
|
||||
<option value="32">1/32 Step</option>
|
||||
<option value="16" selected>1/16 Step</option>
|
||||
<option value="8">1/8 Step</option>
|
||||
<option value="4">1/4 Step</option>
|
||||
<option value="1">Full Step</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="beltrow">
|
||||
<td>Belt Type</td>
|
||||
<td>
|
||||
<select data-role="select" data-filter="false" id="beltselect" data-on-change="processpreset();">
|
||||
<option value="3">GT3 (GT2-3M)</option>
|
||||
<option value="2">GT2 (GT2-2M)</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="pulleyrow">
|
||||
<td>Pulley Type</td>
|
||||
<td>
|
||||
<select data-role="select" data-filter="false" id="pulleyselect" data-on-change="processpreset();">
|
||||
<option value="14">14 Teeth</option>
|
||||
<option value="16">16 Teeth</option>
|
||||
<option value="20" selected>20 Teeth</option>
|
||||
<option value="30">30 Teeth</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="leadscrewrow" style="display: none;">
|
||||
<td>Leadscrew Type</td>
|
||||
<td>
|
||||
<select data-role="select" data-filter="false" id="leadscrewselect" data-on-change="processpreset();">
|
||||
<option value="8">Openbuilds ACME Screw (2mm x 4start, 8mm pitch)</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>Calculated Value</b></td>
|
||||
<td><input type="text" id="calculatedstepspermm" readonly></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="_stepspermm_2">
|
||||
|
||||
|
||||
</div>`
|
||||
|
||||
function xstepspermm() {
|
||||
console.log("x")
|
||||
Metro.dialog.create({
|
||||
width: 600,
|
||||
toTop: true,
|
||||
title: "Calibrate Steps per mm for X-Axis ($100)",
|
||||
content: grblcalctemplate,
|
||||
actions: [{
|
||||
caption: "Apply",
|
||||
cls: "js-dialog-close success",
|
||||
onclick: function() {
|
||||
$('#val-100-input').val($('#calculatedstepspermm').val());
|
||||
checkifchanged();
|
||||
}
|
||||
},
|
||||
{
|
||||
caption: "Cancel",
|
||||
cls: "js-dialog-close",
|
||||
onclick: function() {
|
||||
// alert("You clicked Disagree action");
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
setTimeout(function() {
|
||||
processpreset()
|
||||
}, 100)
|
||||
|
||||
}
|
||||
|
||||
function ystepspermm() {
|
||||
console.log("y")
|
||||
Metro.dialog.create({
|
||||
width: 600,
|
||||
toTop: true,
|
||||
title: "Calibrate Steps per mm for Y-Axis ($101)",
|
||||
content: grblcalctemplate,
|
||||
actions: [{
|
||||
caption: "Apply",
|
||||
cls: "js-dialog-close success",
|
||||
onclick: function() {
|
||||
$('#val-101-input').val($('#calculatedstepspermm').val());
|
||||
checkifchanged();
|
||||
}
|
||||
},
|
||||
{
|
||||
caption: "Cancel",
|
||||
cls: "js-dialog-close",
|
||||
onclick: function() {
|
||||
// alert("You clicked Disagree action");
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
setTimeout(function() {
|
||||
processpreset()
|
||||
}, 100)
|
||||
}
|
||||
|
||||
function zstepspermm() {
|
||||
console.log("z")
|
||||
Metro.dialog.create({
|
||||
width: 600,
|
||||
toTop: true,
|
||||
title: "Calibrate Steps per mm for Z-Axis ($102)",
|
||||
content: grblcalctemplate,
|
||||
actions: [{
|
||||
caption: "Apply",
|
||||
cls: "js-dialog-close success",
|
||||
onclick: function() {
|
||||
$('#val-102-input').val($('#calculatedstepspermm').val());
|
||||
checkifchanged();
|
||||
}
|
||||
},
|
||||
{
|
||||
caption: "Cancel",
|
||||
cls: "js-dialog-close",
|
||||
onclick: function() {
|
||||
// alert("You clicked Disagree action");
|
||||
}
|
||||
}
|
||||
]
|
||||
});
|
||||
setTimeout(function() {
|
||||
processpreset()
|
||||
}, 100)
|
||||
}
|
||||
|
||||
// function motorselect() {
|
||||
// var select = $("#motorselect").data('select');
|
||||
// console.log("Current value: " + select.val());
|
||||
// }
|
||||
|
||||
function actuatorselect() {
|
||||
var select = $("#actuatorselect").data('select');
|
||||
console.log("Current value: " + select.val());
|
||||
|
||||
if (select.val() == "belt") {
|
||||
$('#beltrow').show();
|
||||
$('#pulleyrow').show();
|
||||
$('#leadscrewrow').hide();
|
||||
} else if (select.val() == "lead") {
|
||||
$('#beltrow').hide();
|
||||
$('#pulleyrow').hide();
|
||||
$('#leadscrewrow').show();
|
||||
}
|
||||
processpreset()
|
||||
}
|
||||
|
||||
function processpreset() {
|
||||
var actuatorselect = $("#actuatorselect").data('select');
|
||||
// console.log("actuatorselect value: " + actuatorselect.val());
|
||||
|
||||
var motorselect = $("#motorselect").data('select');
|
||||
// console.log("motorselect value: " + motorselect.val());
|
||||
|
||||
var microstepselect = $("#microstepselect").data('select');
|
||||
// console.log("microstepselect value: " + microstepselect.val());
|
||||
|
||||
var beltselect = $("#beltselect").data('select');
|
||||
// console.log("beltselect value: " + beltselect.val());
|
||||
|
||||
var pulleyselect = $("#pulleyselect").data('select');
|
||||
// console.log("pulleyselect value: " + pulleyselect.val());
|
||||
|
||||
var leadscrewselect = $("#leadscrewselect").data('select');
|
||||
// console.log("leadscrewselect value: " + leadscrewselect.val());
|
||||
|
||||
if (actuatorselect.val() == "belt") {
|
||||
//step/mm = stepsperrev / beltpitch / pulleyteeth
|
||||
var stepsperrev = motorselect.val() * microstepselect.val();
|
||||
var beltpitch = beltselect.val();
|
||||
var pulleyteeth = pulleyselect.val();
|
||||
var calculatedstepspermm = stepsperrev / beltpitch / pulleyteeth
|
||||
// console.log(stepsperrev, beltpitch, pulleyteeth)
|
||||
$('#calculatedstepspermm').val(calculatedstepspermm.toFixed(3))
|
||||
} else if (actuatorselect.val() == "lead") {
|
||||
//steps/mm = stepsperrev / screwpitch
|
||||
var stepsperrev = motorselect.val() * microstepselect.val();
|
||||
var screwpitch = leadscrewselect.val()
|
||||
var calculatedstepspermm = stepsperrev / screwpitch
|
||||
// console.log(stepsperrev, screwpitch)
|
||||
$('#calculatedstepspermm').val(calculatedstepspermm.toFixed(3))
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -63,7 +63,7 @@ function grblPopulate() {
|
|||
<th class="sortable-column" data-format="number"></th>
|
||||
<th class="sortable-column">Parameter</th>
|
||||
<th>Value</th>
|
||||
|
||||
<td>calc</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
|
@ -84,6 +84,7 @@ function grblPopulate() {
|
|||
<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><select id="val-` + 3 + `-input" value="` + grblParams['$3'] + `">
|
||||
<option value="0">[0] X:⚪ Y:⚪ Z:⚪</option>
|
||||
|
|
@ -94,7 +95,7 @@ function grblPopulate() {
|
|||
<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></tr>
|
||||
</select></td><td></td></tr>
|
||||
<tr><td>$</td><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></tr>
|
||||
<tr><td>$</td><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></tr>
|
||||
<tr><td>$</td><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></tr>
|
||||
|
|
@ -102,9 +103,9 @@ function grblPopulate() {
|
|||
<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></tr>
|
||||
<tr><td>$</td><td>11</td><td>Junction deviation, millimeters</td><td><input type="text" value="` + grblParams['$11'] + `" id="val-` + 11 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>12</td><td>Arc tolerance, millimeters</td><td><input type="text" value="` + grblParams['$12'] + `" id="val-` + 12 + `-input"></td></tr>
|
||||
</select></td><td></td></tr>
|
||||
<tr><td>$</td><td>11</td><td>Junction deviation, millimeters</td><td><input 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 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 id="val-` + 13 + `-input" value="` + grblParams['$13'] + `"><option value="0">⚪ Disable</option><option value="1">⚫ Enable</option></select></td></tr>
|
||||
|
||||
<tr><td>$</td><td>20</td><td>Soft limits enable <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></tr>
|
||||
|
|
@ -119,31 +120,31 @@ function grblPopulate() {
|
|||
<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></tr>
|
||||
<tr><td>$</td><td>24</td><td>Homing locate feed rate, mm/min</td><td><input type="text" value="` + grblParams['$24'] + `" id="val-` + 24 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>25</td><td>Homing search seek rate, mm/min</td><td><input type="text" value="` + grblParams['$25'] + `" id="val-` + 25 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>26</td><td>Homing switch debounce delay, milliseconds</td><td><input type="text" value="` + grblParams['$26'] + `" id="val-` + 26 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>27</td><td>Homing switch pull-off distance, millimeters</td><td><input type="text" value="` + grblParams['$27'] + `" id="val-` + 27 + `-input"></td></tr>
|
||||
</select></td><td></td></tr>
|
||||
<tr><td>$</td><td>24</td><td>Homing locate feed rate, mm/min</td><td><input 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 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 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 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 type="text" value="` + grblParams['$30'] + `" id="val-` + 30 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>31</td><td>Minimum spindle speed, RPM</td><td><input type="text" value="` + grblParams['$31'] + `" id="val-` + 31 + `-input"></td></tr>
|
||||
<tr><td>$</td><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></tr>
|
||||
<tr><td>$</td><td>30</td><td>Maximum spindle speed, RPM</td><td><input 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 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 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 type="text" value="` + grblParams['$100'] + `" id="val-` + 100 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>101</td><td>Y-axis steps per millimeter</td><td><input type="text" value="` + grblParams['$101'] + `" id="val-` + 101 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>102</td><td>Z-axis steps per millimeter</td><td><input type="text" value="` + grblParams['$102'] + `" id="val-` + 102 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>100</td><td>X-axis steps per millimeter</td><td><input 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 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 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>$</td><td>110</td><td>X-axis maximum rate, mm/min</td><td><input type="text" value="` + grblParams['$110'] + `" id="val-` + 110 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>111</td><td>Y-axis maximum rate, mm/min</td><td><input type="text" value="` + grblParams['$111'] + `" id="val-` + 111 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>112</td><td>Z-axis maximum rate, mm/min</td><td><input type="text" value="` + grblParams['$112'] + `" id="val-` + 112 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>110</td><td>X-axis maximum rate, mm/min</td><td><input 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 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 type="text" value="` + grblParams['$112'] + `" id="val-` + 112 + `-input"></td><td></td></tr>
|
||||
|
||||
<tr><td>$</td><td>120</td><td>X-axis acceleration, mm/sec<sup>2</sup></td><td><input type="text" value="` + grblParams['$120'] + `" id="val-` + 120 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>121</td><td>Y-axis acceleration, mm/sec<sup>2</sup></td><td><input type="text" value="` + grblParams['$121'] + `" id="val-` + 121 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>122</td><td>Z-axis acceleration, mm/sec<sup>2</sup></td><td><input type="text" value="` + grblParams['$122'] + `" id="val-` + 122 + `-input"></td></td></tr>
|
||||
<tr><td>$</td><td>120</td><td>X-axis acceleration, mm/sec<sup>2</sup></td><td><input 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 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 type="text" value="` + grblParams['$122'] + `" id="val-` + 122 + `-input"></td></td><td></td></tr>
|
||||
|
||||
<tr><td>$</td><td>130</td><td>X-axis maximum travel, millimeters</td><td><input type="text" value="` + grblParams['$130'] + `" id="val-` + 130 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>131</td><td>Y-axis maximum travel, millimeters</td><td><input type="text" value="` + grblParams['$131'] + `" id="val-` + 131 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>132</td><td>Z-axis maximum travel, millimeters</td><td><input type="text" value="` + grblParams['$132'] + `" id="val-` + 132 + `-input"></td></tr>
|
||||
<tr><td>$</td><td>130</td><td>X-axis maximum travel, millimeters</td><td><input 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 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 type="text" value="` + grblParams['$132'] + `" id="val-` + 132 + `-input"></td><td></td></tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -167,30 +168,35 @@ function grblPopulate() {
|
|||
}, 100);;
|
||||
|
||||
$('#grblSettingsTable').on('keyup paste click', 'input, select', function() {
|
||||
var hasChanged = false;
|
||||
for (var key in grblParams) {
|
||||
if (grblParams.hasOwnProperty(key)) {
|
||||
var j = key.substring(1)
|
||||
var newVal = $("#val-" + j + "-input").val();
|
||||
// Only send values that changed
|
||||
if (parseFloat(newVal) != parseFloat(grblParams[key])) {
|
||||
hasChanged = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (hasChanged) {
|
||||
$('#grblSettingsBadge').fadeIn('slow');
|
||||
$('#saveBtn').attr('disabled', false).removeClass('disabled');
|
||||
$('#saveBtnIcon').removeClass('fg-gray').addClass('fg-grayBlue');
|
||||
} else {
|
||||
$('#grblSettingsBadge').fadeOut('slow');
|
||||
$('#saveBtn').attr('disabled', true).addClass('disabled');
|
||||
$('#saveBtnIcon').removeClass('fg-grayBlue').addClass('fg-gray');
|
||||
}
|
||||
checkifchanged()
|
||||
});
|
||||
$('#grblSettingsBadge').hide();
|
||||
}
|
||||
|
||||
function checkifchanged() {
|
||||
var hasChanged = false;
|
||||
for (var key in grblParams) {
|
||||
if (grblParams.hasOwnProperty(key)) {
|
||||
var j = key.substring(1)
|
||||
var newVal = $("#val-" + j + "-input").val();
|
||||
// Only send values that changed
|
||||
if (parseFloat(newVal) != parseFloat(grblParams[key])) {
|
||||
hasChanged = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (hasChanged) {
|
||||
$('#grblSettingsBadge').fadeIn('slow');
|
||||
$('#saveBtn').attr('disabled', false).removeClass('disabled');
|
||||
$('#saveBtnIcon').removeClass('fg-gray').addClass('fg-grayBlue');
|
||||
} else {
|
||||
$('#grblSettingsBadge').fadeOut('slow');
|
||||
$('#saveBtn').attr('disabled', true).addClass('disabled');
|
||||
$('#saveBtnIcon').removeClass('fg-grayBlue').addClass('fg-gray');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function grblSaveSettings() {
|
||||
for (var key in grblParams) {
|
||||
if (grblParams.hasOwnProperty(key)) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "OpenBuildsMachineDriver",
|
||||
"version": "1.0.47",
|
||||
"version": "1.0.48",
|
||||
"license": "AGPL-3.0",
|
||||
"description": "Machine Interface Driver for OpenBuilds",
|
||||
"author": "github.com/openbuilds <webmaster@openbuilds.com>",
|
||||
|
|
|
|||
Ładowanie…
Reference in New Issue