Make MBL work more like PROBE_MANUALLY
This commit is contained in:
@ -41,18 +41,6 @@
|
||||
// Save 130 bytes with non-duplication of PSTR
|
||||
void echo_not_entered() { SERIAL_PROTOCOLLNPGM(" not entered."); }
|
||||
|
||||
void mesh_probing_done() {
|
||||
mbl.has_mesh = true;
|
||||
gcode.home_all_axes();
|
||||
set_bed_leveling_enabled(true);
|
||||
#if ENABLED(MESH_G28_REST_ORIGIN)
|
||||
current_position[Z_AXIS] = Z_MIN_POS;
|
||||
set_destination_from_current();
|
||||
buffer_line_to_destination(homing_feedrate(Z_AXIS));
|
||||
stepper.synchronize();
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* G29: Mesh-based Z probe, probes a grid and produces a
|
||||
* mesh to compensate for variable bed height
|
||||
@ -102,7 +90,7 @@ void GcodeSuite::G29() {
|
||||
case MeshStart:
|
||||
mbl.reset();
|
||||
mbl_probe_index = 0;
|
||||
enqueue_and_echo_commands_P(PSTR("G28\nG29 S2"));
|
||||
enqueue_and_echo_commands_P(lcd_wait_for_move ? PSTR("G29 S2") : PSTR("G28\nG29 S2"));
|
||||
break;
|
||||
|
||||
case MeshNext:
|
||||
@ -148,7 +136,15 @@ void GcodeSuite::G29() {
|
||||
SERIAL_PROTOCOLLNPGM("Mesh probing done.");
|
||||
BUZZ(100, 659);
|
||||
BUZZ(100, 698);
|
||||
mesh_probing_done();
|
||||
mbl.has_mesh = true;
|
||||
gcode.home_all_axes();
|
||||
set_bed_leveling_enabled(true);
|
||||
#if ENABLED(MESH_G28_REST_ORIGIN)
|
||||
current_position[Z_AXIS] = Z_MIN_POS;
|
||||
set_destination_from_current();
|
||||
buffer_line_to_destination(homing_feedrate(Z_AXIS));
|
||||
stepper.synchronize();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
@ -177,9 +173,8 @@ void GcodeSuite::G29() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (parser.seenval('Z')) {
|
||||
if (parser.seenval('Z'))
|
||||
mbl.z_values[px][py] = parser.value_linear_units();
|
||||
}
|
||||
else {
|
||||
SERIAL_CHAR('Z'); echo_not_entered();
|
||||
return;
|
||||
@ -187,9 +182,8 @@ void GcodeSuite::G29() {
|
||||
break;
|
||||
|
||||
case MeshSetZOffset:
|
||||
if (parser.seenval('Z')) {
|
||||
if (parser.seenval('Z'))
|
||||
mbl.z_offset = parser.value_linear_units();
|
||||
}
|
||||
else {
|
||||
SERIAL_CHAR('Z'); echo_not_entered();
|
||||
return;
|
||||
@ -202,6 +196,11 @@ void GcodeSuite::G29() {
|
||||
|
||||
} // switch(state)
|
||||
|
||||
if (state == MeshStart || state == MeshNext) {
|
||||
SERIAL_PROTOCOLPAIR("MBL G29 point ", min(mbl_probe_index, GRID_MAX_POINTS));
|
||||
SERIAL_PROTOCOLLNPAIR(" of ", int(GRID_MAX_POINTS));
|
||||
}
|
||||
|
||||
report_current_position();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user