Nozzle as proble home offset application to probe points
This commit is contained in:
@@ -1455,7 +1455,7 @@
|
||||
* Turn on with the command 'M111 S32'.
|
||||
* NOTE: Requires a lot of PROGMEM!
|
||||
*/
|
||||
//#define DEBUG_LEVELING_FEATURE
|
||||
#define DEBUG_LEVELING_FEATURE
|
||||
|
||||
#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL)
|
||||
// Gradually reduce leveling correction until a set height is reached,
|
||||
|
||||
@@ -3320,16 +3320,16 @@
|
||||
//#define USER_SCRIPT_RETURN // Return to status screen after a script
|
||||
|
||||
#define USER_DESC_1 "Aerostruder"
|
||||
#define USER_GCODE_1 "M92E420\nM907E875\nM500"
|
||||
#define USER_GCODE_1 "M92E420\nM206X0Y0\nM907E875\nM500"
|
||||
|
||||
#define USER_DESC_2 "Moarstruder"
|
||||
#define USER_GCODE_2 "M92E819\nM907E750\nM500"
|
||||
#define USER_GCODE_2 "M92E819\nM206X0Y0\nM907E750\nM500"
|
||||
|
||||
#define USER_DESC_3 "Standard"
|
||||
#define USER_GCODE_3 "M92E814\nM907E750\nM500"
|
||||
#define USER_GCODE_3 "M92E814\nM206X0Y0\nM907E750\nM500"
|
||||
|
||||
#define USER_DESC_4 "Mosquito BMG-M"
|
||||
#define USER_GCODE_4 "M92E814\nM206X5Y15\nM907E750\nM500"
|
||||
#define USER_GCODE_4 "M92E814\nM206X-5Y-12\nM907E750\nM500"
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
@@ -284,8 +284,8 @@ G29_TYPE GcodeSuite::G29() {
|
||||
G29_RETURN(false);
|
||||
}
|
||||
|
||||
const float rx = RAW_X_POSITION(parser.linearval('X', NAN)),
|
||||
ry = RAW_Y_POSITION(parser.linearval('Y', NAN));
|
||||
const float rx = (parser.linearval('X', NAN)),
|
||||
ry = (parser.linearval('Y', NAN));
|
||||
int8_t i = parser.byteval('I', -1), j = parser.byteval('J', -1);
|
||||
|
||||
if (!isnan(rx) && !isnan(ry)) {
|
||||
@@ -365,19 +365,31 @@ G29_TYPE GcodeSuite::G29() {
|
||||
|
||||
if (parser.seen('H')) {
|
||||
const int16_t size = (int16_t)parser.value_linear_units();
|
||||
probe_position_lf.set(_MAX(X_CENTER - size / 2, x_min), _MAX(Y_CENTER - size / 2, y_min));
|
||||
probe_position_rb.set(_MIN(probe_position_lf.x + size, x_max), _MIN(probe_position_lf.y + size, y_max));
|
||||
probe_position_lf.set(
|
||||
_MAX(X_CENTER - size / 2, x_min),
|
||||
_MAX(Y_CENTER - size / 2, y_min)
|
||||
);
|
||||
probe_position_rb.set(
|
||||
_MIN(probe_position_lf.x + size, x_max),
|
||||
_MIN(probe_position_lf.y + size, y_max)
|
||||
);
|
||||
}
|
||||
else {
|
||||
probe_position_lf.set(parser.linearval('L', x_min), parser.linearval('F', y_min));
|
||||
probe_position_rb.set(parser.linearval('R', x_max), parser.linearval('B', y_max));
|
||||
probe_position_lf.set(
|
||||
parser.seenval('L') ? (parser.value_linear_units()) : x_min,
|
||||
parser.seenval('F') ? (parser.value_linear_units()) : y_min
|
||||
);
|
||||
probe_position_rb.set(
|
||||
parser.seenval('R') ? (parser.value_linear_units()) : x_max,
|
||||
parser.seenval('B') ? (parser.value_linear_units()) : y_max
|
||||
);
|
||||
}
|
||||
|
||||
if (!probe.good_bounds(probe_position_lf, probe_position_rb)) {
|
||||
if (DEBUGGING(LEVELING)) {
|
||||
DEBUG_ECHOLNPAIR("G29 L", probe_position_lf.x, " R", probe_position_rb.x,
|
||||
" F", probe_position_lf.y, " B", probe_position_rb.y);
|
||||
}
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Left : ", probe_position_lf.x);
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Right : ", probe_position_rb.x);
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Front : ", probe_position_lf.y);
|
||||
if (DEBUGGING(LEVELING)) DEBUG_ECHOLNPAIR("Back : ", probe_position_rb.y);
|
||||
SERIAL_ECHOLNPGM("? (L,R,F,B) out of bounds.");
|
||||
G29_RETURN(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user