Fixes for G29, esp. 3POINT
This commit is contained in:
parent
026e301307
commit
9e8008c49c
|
@ -292,16 +292,12 @@ void GcodeSuite::G29() {
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAS_LEVELING
|
|
||||||
|
|
||||||
// Jettison bed leveling data
|
// Jettison bed leveling data
|
||||||
if (parser.seen('J')) {
|
if (parser.seen('J')) {
|
||||||
reset_bed_level();
|
reset_bed_level();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
verbose_level = parser.intval('V');
|
verbose_level = parser.intval('V');
|
||||||
if (!WITHIN(verbose_level, 0, 4)) {
|
if (!WITHIN(verbose_level, 0, 4)) {
|
||||||
SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4).");
|
SERIAL_PROTOCOLLNPGM("?(V)erbose level is implausible (0-4).");
|
||||||
|
@ -383,25 +379,17 @@ void GcodeSuite::G29() {
|
||||||
#endif // ABL_GRID
|
#endif // ABL_GRID
|
||||||
|
|
||||||
if (verbose_level > 0) {
|
if (verbose_level > 0) {
|
||||||
SERIAL_PROTOCOLLNPGM("G29 Auto Bed Leveling");
|
SERIAL_PROTOCOLPGM("G29 Auto Bed Leveling");
|
||||||
if (dryrun) SERIAL_PROTOCOLLNPGM("Running in DRY-RUN mode");
|
if (dryrun) SERIAL_PROTOCOLPGM(" (DRYRUN)");
|
||||||
|
SERIAL_EOL();
|
||||||
}
|
}
|
||||||
|
|
||||||
stepper.synchronize();
|
stepper.synchronize();
|
||||||
|
|
||||||
// Disable auto bed leveling during G29
|
// Disable auto bed leveling during G29.
|
||||||
// Be formal so G29 can be done successively without G28.
|
// Be formal so G29 can be done successively without G28.
|
||||||
set_bed_leveling_enabled(false);
|
set_bed_leveling_enabled(false);
|
||||||
|
|
||||||
if (!dryrun) {
|
|
||||||
// Re-orient the current position without leveling
|
|
||||||
// based on where the steppers are positioned.
|
|
||||||
set_current_from_steppers_for_axis(ALL_AXES);
|
|
||||||
|
|
||||||
// Sync the planner to where the steppers stopped
|
|
||||||
SYNC_PLAN_POSITION_KINEMATIC();
|
|
||||||
}
|
|
||||||
|
|
||||||
#if HAS_BED_PROBE
|
#if HAS_BED_PROBE
|
||||||
// Deploy the probe. Probe will raise if needed.
|
// Deploy the probe. Probe will raise if needed.
|
||||||
if (DEPLOY_PROBE()) {
|
if (DEPLOY_PROBE()) {
|
||||||
|
@ -583,9 +571,10 @@ void GcodeSuite::G29() {
|
||||||
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
|
||||||
|
|
||||||
// Probe at 3 arbitrary points
|
// Probe at 3 arbitrary points
|
||||||
if (abl_probe_index < 3) {
|
if (abl_probe_index < abl2) {
|
||||||
xProbe = points[abl_probe_index].x;
|
xProbe = points[abl_probe_index].x;
|
||||||
yProbe = points[abl_probe_index].y;
|
yProbe = points[abl_probe_index].y;
|
||||||
|
_manual_goto_xy(xProbe, yProbe);
|
||||||
#if HAS_SOFTWARE_ENDSTOPS
|
#if HAS_SOFTWARE_ENDSTOPS
|
||||||
// Disable software endstops to allow manual adjustment
|
// Disable software endstops to allow manual adjustment
|
||||||
// If G29 is not completed, they will not be re-enabled
|
// If G29 is not completed, they will not be re-enabled
|
||||||
|
|
Loading…
Reference in a new issue