|
|
|
@ -590,7 +590,7 @@
|
|
|
|
|
g26_bed_temp = parser.value_celsius();
|
|
|
|
|
if (!WITHIN(g26_bed_temp, 15, 140)) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Specified bed temperature not plausible.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -598,7 +598,7 @@
|
|
|
|
|
g26_layer_height = parser.value_linear_units();
|
|
|
|
|
if (!WITHIN(g26_layer_height, 0.0, 2.0)) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Specified layer height not plausible.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -607,12 +607,12 @@
|
|
|
|
|
g26_retraction_multiplier = parser.value_float();
|
|
|
|
|
if (!WITHIN(g26_retraction_multiplier, 0.05, 15.0)) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Specified Retraction Multiplier not plausible.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Retraction Multiplier must be specified.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -620,7 +620,7 @@
|
|
|
|
|
g26_nozzle = parser.value_float();
|
|
|
|
|
if (!WITHIN(g26_nozzle, 0.1, 1.0)) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Specified nozzle size not plausible.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -630,7 +630,7 @@
|
|
|
|
|
g26_prime_flag = -1;
|
|
|
|
|
#else
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Prime length must be specified when not using an LCD.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
@ -638,7 +638,7 @@
|
|
|
|
|
g26_prime_length = parser.value_linear_units();
|
|
|
|
|
if (!WITHIN(g26_prime_length, 0.0, 25.0)) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Specified prime length not plausible.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -647,7 +647,7 @@
|
|
|
|
|
g26_filament_diameter = parser.value_linear_units();
|
|
|
|
|
if (!WITHIN(g26_filament_diameter, 1.0, 4.0)) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Specified filament size not plausible.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
g26_extrusion_multiplier *= sq(1.75) / sq(g26_filament_diameter); // If we aren't using 1.75mm filament, we need to
|
|
|
|
@ -660,7 +660,7 @@
|
|
|
|
|
g26_hotend_temp = parser.value_celsius();
|
|
|
|
|
if (!WITHIN(g26_hotend_temp, 165, 280)) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Specified nozzle temperature not plausible.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -676,21 +676,21 @@
|
|
|
|
|
#else
|
|
|
|
|
if (!parser.seen('R')) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?(R)epeat must be specified when not using an LCD.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
g26_repeats = parser.has_value() ? parser.value_int() : GRID_MAX_POINTS + 1;
|
|
|
|
|
#endif
|
|
|
|
|
if (g26_repeats < 1) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?(R)epeat value not plausible; must be at least 1.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
g26_x_pos = parser.seenval('X') ? RAW_X_POSITION(parser.value_linear_units()) : current_position[X_AXIS];
|
|
|
|
|
g26_y_pos = parser.seenval('Y') ? RAW_Y_POSITION(parser.value_linear_units()) : current_position[Y_AXIS];
|
|
|
|
|
if (!position_is_reachable(g26_x_pos, g26_y_pos)) {
|
|
|
|
|
SERIAL_PROTOCOLLNPGM("?Specified X,Y coordinate out of bounds.");
|
|
|
|
|
return G26_ERR;
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|