Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MarlinFirmware/MarlinDocumentation.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/_tools
diff options
context:
space:
mode:
authorSineos <monk@gmx.net>2019-06-14 08:18:56 +0300
committerScott Lahteine <thinkyhead@users.noreply.github.com>2019-06-14 08:18:56 +0300
commit7d63880900c78f805afb54db33075b4c20ae0da8 (patch)
tree842ebacc27fe5e9df049ba9818f5f375a017e29e /_tools
parentc801db3de14e9c9376013cd3a3ec132b51e0967a (diff)
Linear Advance Calibration - Catch NaN (#221)
Diffstat (limited to '_tools')
-rw-r--r--_tools/lin_advance/k-factor.html61
-rw-r--r--_tools/lin_advance/k-factor.js83
2 files changed, 94 insertions, 50 deletions
diff --git a/_tools/lin_advance/k-factor.html b/_tools/lin_advance/k-factor.html
index 85be69d1..be338231 100644
--- a/_tools/lin_advance/k-factor.html
+++ b/_tools/lin_advance/k-factor.html
@@ -31,32 +31,32 @@ category: [ tools ]
</tr>
<tr>
<td><label for="FIL_DIA">Filament Diameter:</label></td>
- <td><input name="FIL_DIA" type="number" id="FIL_DIA" step="any" value="1.75" /></td>
+ <td><input name="FIL_DIA" id="FIL_DIA" step="any" value="1.75" onblur="validateInput()" /></td>
<td>Diameter of the used filament (mm)</td>
</tr>
<tr>
<td><label for="NOZ_DIA">Nozzle Diameter:</label></td>
- <td><input name="NOZ_DIA" type="number" id="NOZ_DIA" step="any" value="0.4" /></td>
+ <td><input name="NOZ_DIA" id="NOZ_DIA" step="any" value="0.4" onblur="validateInput()" /></td>
<td>Diameter of the nozzle (mm)</td>
</tr>
<tr>
<td><label for="NOZZLE_TEMP">Nozzle Temperature:</label></td>
- <td><input name="NOZZLE_TEMP" type="number" id="NOZZLE_TEMP" step="any" value="205" /></td>
+ <td><input name="NOZZLE_TEMP" id="NOZZLE_TEMP" step="any" value="205" onblur="validateInput()" /></td>
<td>Nozzle Temperature (°C)</td>
</tr>
<tr>
<td><label for="BED_TEMP">Bed Temperature:</label></td>
- <td><input name="BED_TEMP" type="number" id="BED_TEMP" step="any" value="60" /></td>
+ <td><input name="BED_TEMP" id="BED_TEMP" step="any" value="60" onblur="validateInput()" /></td>
<td>Bed Temperature (°C)</td>
</tr>
<tr>
<td><label for="RETRACTION">Retraction Distance:</label></td>
- <td><input name="RETRACTION" type="number" id="RETRACTION" step="any" value="1" /></td>
+ <td><input name="RETRACTION" id="RETRACTION" step="any" value="1" onblur="validateInput()" /></td>
<td>Retraction distance (mm)</td>
</tr>
<tr>
<td><label for="LAYER_HEIGHT">Layer Height:</label></td>
- <td><input name="LAYER_HEIGHT" type="number" id="LAYER_HEIGHT" step="0.1" value="0.2" /></td>
+ <td><input name="LAYER_HEIGHT" id="LAYER_HEIGHT" step="0.1" value="0.2" onblur="validateInput()" /></td>
<td>Layer Height (mm)</td>
</tr>
<tr>
@@ -72,12 +72,12 @@ category: [ tools ]
</tr>
<tr>
<td><label for="BEDSIZE_X">Bed Size X:</label></td>
- <td><input name="BEDSIZE_X" type="number" id="BEDSIZE_X" step="any" value="200" /></td>
+ <td><input name="BEDSIZE_X" id="BEDSIZE_X" step="any" value="200" onblur="validateInput()" /></td>
<td id="shape">Size (mm) of the bed in X</td>
</tr>
<tr>
<td><label for="BEDSIZE_Y">Bed Size Y:</label></td>
- <td><input name="BEDSIZE_Y" type="number" id="BEDSIZE_Y" step="any" value="200" /></td>
+ <td><input name="BEDSIZE_Y" id="BEDSIZE_Y" step="any" value="200" onblur="validateInput()" /></td>
<td>Size (mm) of the bed in Y</td>
</tr>
<tr>
@@ -95,47 +95,47 @@ category: [ tools ]
</tr>
<tr>
<td><label for="SLOW_SPEED">Slow Printing Speed:</label></td>
- <td><input name="SLOW_SPEED" type="number" id="SLOW_SPEED" step="any" value="20" /></td>
+ <td><input name="SLOW_SPEED" id="SLOW_SPEED" step="any" value="20" onblur="validateInput()" /></td>
<td>Slow printing speed</td>
</tr>
<tr>
<td><label for="FAST_SPEED">Fast Printing Speed:</label></td>
- <td><input name="FAST_SPEED" type="number" id="FAST_SPEED" step="any" value="70" /></td>
+ <td><input name="FAST_SPEED" id="FAST_SPEED" step="any" value="70" onblur="validateInput()" /></td>
<td>Fast printing speed. This should differ noticeably from Slow Speed</td>
</tr>
<tr>
<td><label for="MOVE_SPEED">Movement Speed:</label></td>
- <td><input name="MOVE_SPEED" type="number" id="MOVE_SPEED" step="any" value="120" /></td>
+ <td><input name="MOVE_SPEED" id="MOVE_SPEED" step="any" value="120" onblur="validateInput()" /></td>
<td>Movement speed</td>
</tr>
<tr>
<td><label for="RETRACT_SPEED">Retract Speed:</label></td>
- <td><input name="RETRACT_SPEED" type="number" id="RETRACT_SPEED" step="any" value="30" /></td>
+ <td><input name="RETRACT_SPEED" id="RETRACT_SPEED" step="any" value="30" onblur="validateInput()" /></td>
<td>Retract Speed of the extruder</td>
</tr>
<tr>
<td><label for="PRINT_ACCL">Acceleration:</label></td>
- <td><input name="PRINT_ACCL" type="number" id="PRINT_ACCL" step="any" value="500" /></td>
+ <td><input name="PRINT_ACCL" id="PRINT_ACCL" step="any" value="500" onblur="validateInput()" /></td>
<td>Set printing acceleration (mm/s^2)</td>
</tr>
<tr>
<td><label for="X_JERK">Jerk X:</label></td>
- <td><input name="X_JERK" type="number" id="X_JERK" step="1" value="-1" /></td>
+ <td><input name="X_JERK" id="X_JERK" step="1" value="-1" onblur="validateInput()" /></td>
<td>Set the Jerk for the X-axis. -1 to use firmware default</td>
</tr>
<tr>
<td><label for="Y_JERK">Jerk Y:</label></td>
- <td><input name="Y_JERK" type="number" id="Y_JERK" step="1" value="-1" /></td>
+ <td><input name="Y_JERK" id="Y_JERK" step="1" value="-1" onblur="validateInput()" /></td>
<td>Set the Jerk for the Y-axis. -1 to use firmware default</td>
</tr>
<tr>
<td><label for="Z_JERK">Jerk Z:</label></td>
- <td><input name="Z_JERK" type="number" id="Z_JERK" step="1" value="-1" /></td>
+ <td><input name="Z_JERK" id="Z_JERK" step="1" value="-1" onblur="validateInput()" /></td>
<td>Set the Jerk for the Z-axis. -1 to use firmware default</td>
</tr>
<tr>
<td><label for="E_JERK">Jerk E:</label></td>
- <td><input name="E_JERK" type="number" id="E_JERK" step="1" value="-1" /></td>
+ <td><input name="E_JERK" id="E_JERK" step="1" value="-1" onblur="validateInput()" /></td>
<td>Set the Jerk for the Extruder. -1 to use firmware default</td>
</tr>
<tr>
@@ -159,32 +159,32 @@ category: [ tools ]
</tr>
<tr>
<td><label for="K_START">Starting Value for K:</label></td>
- <td><input name="K_START" type="number" id="K_START" step="any" value="0" onblur="validateInput()" /></td>
+ <td><input name="K_START" id="K_START" step="any" value="0" onblur="validateInput()" /></td>
<td id="start_factor">Starting value for the K-factor. Usually 0 but for bowden setups you might want to start higher, e.g. 30</td>
</tr>
<tr>
<td><label for="K_END">Ending Value for K:</label></td>
- <td><input name="K_END" type="number" id="K_END" step="any" value="2" onblur="validateInput()" /></td>
+ <td><input name="K_END" id="K_END" step="any" value="2" onblur="validateInput()" /></td>
<td id="end_factor">Ending value of the K-factor. Bowden setups may be higher than 100</td>
</tr>
<tr>
<td><label for="K_STEP">K-factor Stepping:</label></td>
- <td><input name="K_STEP" type="number" id="K_STEP" step="any" value="0.2" onblur="validateInput()" /></td>
+ <td><input name="K_STEP" id="K_STEP" step="any" value="0.2" onblur="validateInput()" /></td>
<td id="step_factor">Stepping of the K-factor in the test pattern. Needs to be an exact divisor of the K-factor Range (End - Start)</td>
</tr>
<tr>
<td><label for="SLOW_LENGTH">Slow Speed Length:</label></td>
- <td><input name="SLOW_LENGTH" type="number" id="SLOW_LENGTH" step="1" value="20" onblur="validateInput()" /></td>
+ <td><input name="SLOW_LENGTH" id="SLOW_LENGTH" step="1" value="20" onblur="validateInput()" /></td>
<td>Length of the Slow Speed test-line (mm)</td>
</tr>
<tr>
<td><label for="FAST_LENGTH">Fast Speed Length:</label></td>
- <td><input name="FAST_LENGTH" type="number" id="FAST_LENGTH" step="1" value="40" onblur="validateInput()" /></td>
+ <td><input name="FAST_LENGTH" id="FAST_LENGTH" step="1" value="40" onblur="validateInput()" /></td>
<td>Length of the Fast Speed test-line (mm)</td>
</tr>
<tr>
<td><label for="SPACE_LINE">Test Line Spacing:</label></td>
- <td><input name="SPACE_LINE" type="number" id="SPACE_LINE" step="0.1" value="5" onblur="validateInput()" /></td>
+ <td><input name="SPACE_LINE" id="SPACE_LINE" step="0.1" value="5" onblur="validateInput()" /></td>
<td>Distance between the test lines. This will impact print size</td>
</tr>
<tr>
@@ -216,12 +216,12 @@ category: [ tools ]
</tr>
<tr>
<td><label for="NOZ_LIN_R">Nozzle Line Ratio:</label></td>
- <td><input name="NOZ_LIN_R" type="number" id="NOZ_LIN_R" step="0.1" value="1.2" /></td>
+ <td><input name="NOZ_LIN_R" id="NOZ_LIN_R" step="0.1" value="1.2" onblur="validateInput()" /></td>
<td>Ratio between extruded line width and nozzle diameter. Should be between 1.05 and 1.2</td>
</tr>
<tr>
<td><label for="OFFSET_Z">Z-Offset:</label></td>
- <td><input name="OFFSET_Z" type="number" id="OFFSET_Z" step="any" value="0" /></td>
+ <td><input name="OFFSET_Z" id="OFFSET_Z" step="any" value="0" onblur="validateInput()" /></td>
<td>Offset the Z-axis for manual Layer adjustment</td>
</tr>
<tr>
@@ -243,7 +243,7 @@ category: [ tools ]
</tr>
<tr>
<td><label for="EXTRUSION_MULT">Extrusion Multiplier:</label></td>
- <td><input name="EXTRUSION_MULT" type="number" id="EXTRUSION_MULT" step="0.1" value="1.0" /></td>
+ <td><input name="EXTRUSION_MULT" id="EXTRUSION_MULT" step="0.1" value="1.0" onblur="validateInput()" /></td>
<td>Usually 1.0</td>
</tr>
<tr>
@@ -253,17 +253,17 @@ category: [ tools ]
</tr>
<tr>
<td><label for="PRIME_EXT">Prime Extrusion Multiplier:</label></td>
- <td><input name="PRIME_EXT" type="number" id="PRIME_EXT" step="0.1" value="2.5" /></td>
+ <td><input name="PRIME_EXT" id="PRIME_EXT" step="0.1" value="2.5" onblur="validateInput()" /></td>
<td>The default of 2.5 results in roughly 1mm of filament for 10mm line length</td>
</tr>
<tr>
<td height="24"><label for="PRIME_SPEED">Prime Printing Speed:</label></td>
- <td><input name="PRIME_SPEED" type="number" id="PRIME_SPEED" step="any" value="30" /></td>
+ <td><input name="PRIME_SPEED" id="PRIME_SPEED" step="any" value="30" onblur="validateInput()" /></td>
<td>Speed of the prime move</td>
</tr>
<tr>
<td><label for="DWELL_PRIME">Dwell Time:</label></td>
- <td><input name="DWELL_PRIME" type="number" id="DWELL_PRIME" step="0.1" value="2" /></td>
+ <td><input name="DWELL_PRIME" id="DWELL_PRIME" step="0.1" value="2" onblur="validateInput()" /></td>
<td>Inserts a pause of x seconds before starting the test pattern to bleed off any residual nozzle pressure</td>
</tr>
<tr class="calibpat2">
@@ -272,7 +272,8 @@ category: [ tools ]
<input name="button3" type="button" id="button3" onclick="setLocalStorage()" value="Save as default" />
</p>
<p id="warning1" style="display: none;">warning</p>
- <p id="warning2" style="display: none;">warning</p></td>
+ <p id="warning2" style="display: none;">warning</p>
+ <p id="warning3" style="display: none;">warning</p></td>
<td><p>
<input name="button2" type="button" id="button2" onclick="saveTextAsFile()" value="Download as file" />
</p></td>
diff --git a/_tools/lin_advance/k-factor.js b/_tools/lin_advance/k-factor.js
index 02df0bc2..ef722f5a 100644
--- a/_tools/lin_advance/k-factor.js
+++ b/_tools/lin_advance/k-factor.js
@@ -1,6 +1,6 @@
/**
* K-Factor Calibration Pattern
- * Copright (C) 2018 Sineos [https://github.com/Sineos]
+ * Copyright (C) 2019 Sineos [https://github.com/Sineos]
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -184,7 +184,7 @@ function genGcode() {
'M190 S' + BED_TEMP + ' ; set bed temperature and wait\n' +
'M109 S' + NOZZLE_TEMP + ' ; block waiting for nozzle temp\n' +
'G28 ; home all axes with heated bed\n' +
- (BED_LEVELING != "0" ? BED_LEVELING + '; Activate bed leveling compensation\n' : '') +
+ (BED_LEVELING !== '0' ? BED_LEVELING + '; Activate bed leveling compensation\n' : '') +
'G21 ; set units to millimeters\n' +
'M204 P' + ACCELERATION + ' ; set acceleration\n' +
(JERK_X !== -1 ? 'M205 X' + JERK_X + ' ; set X jerk\n' : '') +
@@ -908,39 +908,81 @@ function toggleRetract() {
// sanity checks for pattern / bed size
function validateInput() {
- var selectShape = document.getElementById('SHAPE_BED'),
+ var testNaN = {
+ // do not use parseInt or parseFloat for validating, since both
+ // functions will have special parsing characteristics leading to
+ // false numeric validation
+ BEDSIZE_X: document.getElementById('BEDSIZE_X').value,
+ BEDSIZE_Y: document.getElementById('BEDSIZE_Y').value,
+ K_START: document.getElementById('K_START').value,
+ K_END: document.getElementById('K_END').value,
+ K_STEP: document.getElementById('K_STEP').value,
+ SPACE_LINE: document.getElementById('SPACE_LINE').value,
+ SLOW_SPEED: document.getElementById('SLOW_SPEED').value,
+ FAST_SPEED: document.getElementById('FAST_SPEED').value,
+ SLOW_LENGTH: document.getElementById('SLOW_LENGTH').value,
+ FAST_LENGTH: document.getElementById('FAST_LENGTH').value,
+ FIL_DIA: document.getElementById('FIL_DIA').value,
+ NOZ_DIA: document.getElementById('NOZ_DIA').value,
+ NOZ_LIN_R: document.getElementById('NOZ_LIN_R').value,
+ LAYER_HEIGHT: document.getElementById('LAYER_HEIGHT').value,
+ EXTRUSION_MULT: document.getElementById('EXTRUSION_MULT').value,
+ PRIME_EXT: document.getElementById('PRIME_EXT').value,
+ OFFSET_Z: document.getElementById('OFFSET_Z').value,
+ X_JERK: document.getElementById('X_JERK').value,
+ Y_JERK: document.getElementById('Y_JERK').value,
+ Z_JERK: document.getElementById('Z_JERK').value,
+ E_JERK: document.getElementById('E_JERK').value,
+ NOZZLE_TEMP: document.getElementById('NOZZLE_TEMP').value,
+ BED_TEMP: document.getElementById('BED_TEMP').value,
+ MOVE_SPEED: document.getElementById('MOVE_SPEED').value,
+ RETRACT_SPEED: document.getElementById('RETRACT_SPEED').value,
+ PRINT_ACCL: document.getElementById('PRINT_ACCL').value,
+ RETRACTION: document.getElementById('RETRACTION').value,
+ PRIME_SPEED: document.getElementById('PRIME_SPEED').value,
+ DWELL_PRIME: document.getElementById('DWELL_PRIME').value
+ },
+ selectShape = document.getElementById('SHAPE_BED'),
bedShape = selectShape.options[selectShape.selectedIndex].value,
- bedX = parseInt(document.getElementById('BEDSIZE_X').value),
- bedY = parseInt(document.getElementById('BEDSIZE_Y').value),
- kStart = parseFloat(document.getElementById('K_START').value),
- kEnd = parseFloat(document.getElementById('K_END').value),
- kStep = parseFloat(document.getElementById('K_STEP').value),
selectDir = document.getElementById('DIR_PRINT'),
printDir = selectDir.options[selectDir.selectedIndex].value,
- lineSpacing = parseFloat(document.getElementById('SPACE_LINE').value),
usePrime = document.getElementById('PRIME').checked,
- lengthSlow = parseFloat(document.getElementById('SLOW_LENGTH').value),
- lengthFast = parseFloat(document.getElementById('FAST_LENGTH').value),
useLineNo = document.getElementById('LINE_NO').checked,
- sizeY = ((kEnd - kStart) / kStep * lineSpacing) + 25, // +25 with ref marking
- sizeX = (2 * lengthSlow) + lengthFast + (usePrime ? 10 : 0) + (useLineNo ? 8 : 0),
+ sizeY = ((parseFloat(testNaN['K_END']) - parseFloat(testNaN['K_START'])) / parseFloat(testNaN['K_STEP']) * parseFloat(testNaN['SPACE_LINE'])) + 25, // +25 with ref marking
+ sizeX = (2 * parseFloat(testNaN['SLOW_LENGTH'])) + parseFloat(testNaN['FAST_LENGTH']) + (usePrime ? 10 : 0) + (useLineNo ? 8 : 0),
printDirRad = printDir * Math.PI / 180,
fitWidth = Math.round10(Math.abs(sizeX * Math.cos(printDirRad)) + Math.abs(sizeY * Math.sin(printDirRad)), 0),
fitHeight = Math.round10(Math.abs(sizeX * Math.sin(printDirRad)) + Math.abs(sizeY * Math.cos(printDirRad)), 0),
- decimals = getDecimals(kStep),
+ decimals = getDecimals(parseFloat(testNaN['K_STEP'])),
invalidDiv = 0;
//Start clean
- $('#K_START, #K_END, #K_STEP, #SPACE_LINE, #SLOW_LENGTH, #FAST_LENGTH').each(function() {
+ $('#K_START, #K_END, #K_STEP, #SPACE_LINE, #SLOW_LENGTH, #FAST_LENGTH, #FIL_DIA, #NOZ_DIA, #LAYER_HEIGHT, #EXTRUSION_MULT, #PRIME_EXT, #OFFSET_Z, #NOZ_LIN_R, \
+ #NOZZLE_TEMP, #BED_TEMP, #MOVE_SPEED, #RETRACT_SPEED, #PRINT_ACCL, #RETRACTION, #PRIME_SPEED, #DWELL_PRIME, #FAST_SPEED, #SLOW_SPEED, #X_JERK, #Y_JERK, #Z_JERK, #E_JERK').each(function() {
$(this)[0].setCustomValidity('');
$('label[for=' + $(this).attr('id') + ']').removeClass('calibpat_invalidSize');
$('label[for=' + $(this).attr('id') + ']').removeClass('calibpat_invalidDiv');
+ $('label[for=' + $(this).attr('id') + ']').removeClass('calibpat_invalidNumber');
});
$('#warning1').hide();
$('#warning2').hide();
+ $('#warning3').hide();
+ $('#button').prop('disabled', false);
+
+ // Check for proper numerical values
+ Object.keys(testNaN).forEach(function(k) {
+ if ((isNaN(testNaN[k]) && !isFinite(testNaN[k])) || testNaN[k].trim().length === 0) {
+ $('label[for=' + k + ']').addClass('calibpat_invalidNumber');
+ $('#' + k)[0].setCustomValidity('The value is not a proper number.');
+ $('#warning3').text('Some values are not proper numbers. Check highlighted Settings.');
+ $('#warning3').addClass('calibpat_invalidNumber');
+ $('#warning3').show();
+ $('#button').prop('disabled', true);
+ }
+ });
// Check if K-Factor Stepping is a multiple of the K-Factor Range
- if ((Math.round10(kEnd - kStart, -3) * Math.pow(10, decimals)) % (kStep * Math.pow(10, decimals)) !== 0) {
+ if ((Math.round10(parseFloat(testNaN['K_END']) - parseFloat(testNaN['K_START']), -3) * Math.pow(10, decimals)) % (parseFloat(testNaN['K_STEP']) * Math.pow(10, decimals)) !== 0) {
$('label[for=K_START]').addClass('calibpat_invalidDiv');
$('#K_START')[0].setCustomValidity('Your K-Factor range cannot be cleanly divided.');
$('label[for=K_END]').addClass('calibpat_invalidDiv');
@@ -950,11 +992,12 @@ function validateInput() {
$('#warning1').text('Your K-Factor range cannot be cleanly divided. Check highlighted Pattern Settings.');
$('#warning1').addClass('calibpat_invalidDiv');
$('#warning1').show();
+ $('#button').prop('disabled', true);
invalidDiv = 1;
}
// Check if pattern settings exceed bed size
- if (bedShape === 'Round' && (Math.sqrt(Math.pow(fitWidth, 2) + Math.pow(fitHeight, 2)) > bedX - 5) && fitHeight > fitWidth) {
+ if (bedShape === 'Round' && (Math.sqrt(Math.pow(fitWidth, 2) + Math.pow(fitHeight, 2)) > (parseInt(testNaN['BEDSIZE_X']) - 5)) && fitHeight > fitWidth) {
$('label[for=K_START]').addClass('calibpat_invalidSize');
$('#K_START')[0].setCustomValidity('Your Pattern size (x: ' + fitWidth + ', y: ' + fitHeight + ') exceeds your bed\'s diameter.');
$('label[for=K_END]').addClass('calibpat_invalidSize');
@@ -968,7 +1011,7 @@ function validateInput() {
$((invalidDiv ? '#warning2' : '#warning1')).show();
}
- if (bedShape === 'Round' && (Math.sqrt(Math.pow(fitWidth, 2) + Math.pow(fitHeight, 2)) > bedX - 5) && fitWidth > fitHeight) {
+ if (bedShape === 'Round' && (Math.sqrt(Math.pow(fitWidth, 2) + Math.pow(fitHeight, 2)) > (parseInt(testNaN['BEDSIZE_X']) - 5)) && fitWidth > fitHeight) {
$('label[for=SLOW_LENGTH]').addClass('calibpat_invalidSize');
$('#SLOW_LENGTH')[0].setCustomValidity('Your Pattern size (x: ' + fitWidth + ', y: ' + fitHeight + ') exceeds your bed\'s diameter.');
$('label[for=FAST_LENGTH]').addClass('calibpat_invalidSize');
@@ -978,7 +1021,7 @@ function validateInput() {
$((invalidDiv ? '#warning2' : '#warning1')).show();
}
- if (bedShape === 'Rect' && fitWidth > bedX - 5) {
+ if (bedShape === 'Rect' && fitWidth > (parseInt(testNaN['BEDSIZE_X']) - 5)) {
$('label[for=SLOW_LENGTH]').addClass('calibpat_invalidSize');
$('#SLOW_LENGTH')[0].setCustomValidity('Your Pattern size (x: ' + fitWidth + ', y: ' + fitHeight + ') exceeds your X bed size.');
$('label[for=FAST_LENGTH]').addClass('calibpat_invalidSize');
@@ -988,7 +1031,7 @@ function validateInput() {
$((invalidDiv ? '#warning2' : '#warning1')).show();
}
- if (bedShape === 'Rect' && fitHeight > bedY - 5) {
+ if (bedShape === 'Rect' && fitHeight > (parseInt(testNaN['BEDSIZE_Y']) - 5)) {
$('label[for=K_START]').addClass('calibpat_invalidSize');
$('#K_START')[0].setCustomValidity('Your Pattern size (x: ' + fitWidth + ', y: ' + fitHeight + ') exceeds your Y bed size.');
$('label[for=K_END]').addClass('calibpat_invalidSize');