MBL fiddle
This commit is contained in:
parent
25a6bfa7ed
commit
6cac0f43eb
@ -3784,7 +3784,7 @@ inline void gcode_G28() {
|
|||||||
*/
|
*/
|
||||||
inline void gcode_G29() {
|
inline void gcode_G29() {
|
||||||
|
|
||||||
static int probe_index = -1;
|
static int mbl_probe_index = -1;
|
||||||
#if HAS_SOFTWARE_ENDSTOPS
|
#if HAS_SOFTWARE_ENDSTOPS
|
||||||
static bool enable_soft_endstops;
|
static bool enable_soft_endstops;
|
||||||
#endif
|
#endif
|
||||||
@ -3809,17 +3809,17 @@ inline void gcode_G28() {
|
|||||||
|
|
||||||
case MeshStart:
|
case MeshStart:
|
||||||
mbl.reset();
|
mbl.reset();
|
||||||
probe_index = 0;
|
mbl_probe_index = 0;
|
||||||
enqueue_and_echo_commands_P(PSTR("G28\nG29 S2"));
|
enqueue_and_echo_commands_P(PSTR("G28\nG29 S2"));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MeshNext:
|
case MeshNext:
|
||||||
if (probe_index < 0) {
|
if (mbl_probe_index < 0) {
|
||||||
SERIAL_PROTOCOLLNPGM("Start mesh probing with \"G29 S1\" first.");
|
SERIAL_PROTOCOLLNPGM("Start mesh probing with \"G29 S1\" first.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// For each G29 S2...
|
// For each G29 S2...
|
||||||
if (probe_index == 0) {
|
if (mbl_probe_index == 0) {
|
||||||
#if HAS_SOFTWARE_ENDSTOPS
|
#if HAS_SOFTWARE_ENDSTOPS
|
||||||
// For the initial G29 S2 save software endstop state
|
// For the initial G29 S2 save software endstop state
|
||||||
enable_soft_endstops = soft_endstops_enabled;
|
enable_soft_endstops = soft_endstops_enabled;
|
||||||
@ -3827,14 +3827,14 @@ inline void gcode_G28() {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// For G29 S2 after adjusting Z.
|
// For G29 S2 after adjusting Z.
|
||||||
mbl.set_zigzag_z(probe_index - 1, current_position[Z_AXIS]);
|
mbl.set_zigzag_z(mbl_probe_index - 1, current_position[Z_AXIS]);
|
||||||
#if HAS_SOFTWARE_ENDSTOPS
|
#if HAS_SOFTWARE_ENDSTOPS
|
||||||
soft_endstops_enabled = enable_soft_endstops;
|
soft_endstops_enabled = enable_soft_endstops;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
// If there's another point to sample, move there with optional lift.
|
// If there's another point to sample, move there with optional lift.
|
||||||
if (probe_index < (MESH_NUM_X_POINTS) * (MESH_NUM_Y_POINTS)) {
|
if (mbl_probe_index < (MESH_NUM_X_POINTS) * (MESH_NUM_Y_POINTS)) {
|
||||||
mbl.zigzag(probe_index, px, py);
|
mbl.zigzag(mbl_probe_index, px, py);
|
||||||
_mbl_goto_xy(mbl.index_to_xpos[px], mbl.index_to_ypos[py]);
|
_mbl_goto_xy(mbl.index_to_xpos[px], mbl.index_to_ypos[py]);
|
||||||
|
|
||||||
#if HAS_SOFTWARE_ENDSTOPS
|
#if HAS_SOFTWARE_ENDSTOPS
|
||||||
@ -3843,7 +3843,7 @@ inline void gcode_G28() {
|
|||||||
soft_endstops_enabled = false;
|
soft_endstops_enabled = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
probe_index++;
|
mbl_probe_index++;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// One last "return to the bed" (as originally coded) at completion
|
// One last "return to the bed" (as originally coded) at completion
|
||||||
@ -3853,7 +3853,7 @@ inline void gcode_G28() {
|
|||||||
|
|
||||||
// After recording the last point, activate the mbl and home
|
// After recording the last point, activate the mbl and home
|
||||||
SERIAL_PROTOCOLLNPGM("Mesh probing done.");
|
SERIAL_PROTOCOLLNPGM("Mesh probing done.");
|
||||||
probe_index = -1;
|
mbl_probe_index = -1;
|
||||||
mbl.set_has_mesh(true);
|
mbl.set_has_mesh(true);
|
||||||
mbl.set_reactivate(true);
|
mbl.set_reactivate(true);
|
||||||
enqueue_and_echo_commands_P(PSTR("G28"));
|
enqueue_and_echo_commands_P(PSTR("G28"));
|
||||||
|
Loading…
Reference in New Issue
Block a user