|
|
|
@ -320,7 +320,6 @@ void GcodeSuite::G34() {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
|
|
|
|
|
|
|
|
|
|
// Check if the applied corrections go in the correct direction.
|
|
|
|
|
// Calculate the sum of the absolute deviations from the mean of the probe measurements.
|
|
|
|
|
// Compare to the last iteration to ensure it's getting better.
|
|
|
|
@ -478,32 +477,18 @@ void GcodeSuite::M422() {
|
|
|
|
|
|
|
|
|
|
const bool is_probe_point = parser.seen('S');
|
|
|
|
|
|
|
|
|
|
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
|
|
|
|
|
if (is_probe_point && parser.seen('W')) {
|
|
|
|
|
SERIAL_ECHOLNPGM("?(S) and (W) may not be combined.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
if (TERN0(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS, is_probe_point && parser.seen('W'))) {
|
|
|
|
|
SERIAL_ECHOLNPGM("?(S) and (W) may not be combined.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
xy_pos_t *pos_dest = (
|
|
|
|
|
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
|
|
|
|
|
!is_probe_point ? z_stepper_align.stepper_xy :
|
|
|
|
|
#endif
|
|
|
|
|
TERN_(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS, !is_probe_point ? z_stepper_align.stepper_xy :)
|
|
|
|
|
z_stepper_align.xy
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
if (!is_probe_point
|
|
|
|
|
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
|
|
|
|
|
&& !parser.seen('W')
|
|
|
|
|
#endif
|
|
|
|
|
) {
|
|
|
|
|
SERIAL_ECHOLNPGM(
|
|
|
|
|
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
|
|
|
|
|
"?(S) or (W) is required."
|
|
|
|
|
#else
|
|
|
|
|
"?(S) is required."
|
|
|
|
|
#endif
|
|
|
|
|
);
|
|
|
|
|
if (!is_probe_point && TERN1(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS, !parser.seen('W'))) {
|
|
|
|
|
SERIAL_ECHOLNPGM("?(S)" TERN_(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS, " or (W)") " is required.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -512,7 +497,7 @@ void GcodeSuite::M422() {
|
|
|
|
|
if (is_probe_point) {
|
|
|
|
|
position_index = parser.intval('S') - 1;
|
|
|
|
|
if (!WITHIN(position_index, 0, int8_t(NUM_Z_STEPPER_DRIVERS) - 1)) {
|
|
|
|
|
SERIAL_ECHOLNPGM("?(S) Z-ProbePosition index invalid.");
|
|
|
|
|
SERIAL_ECHOLNPGM("?(S) Probe-position index invalid.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -520,7 +505,7 @@ void GcodeSuite::M422() {
|
|
|
|
|
#if ENABLED(Z_STEPPER_ALIGN_KNOWN_STEPPER_POSITIONS)
|
|
|
|
|
position_index = parser.intval('W') - 1;
|
|
|
|
|
if (!WITHIN(position_index, 0, NUM_Z_STEPPER_DRIVERS - 1)) {
|
|
|
|
|
SERIAL_ECHOLNPGM("?(W) Z-Stepper index invalid.");
|
|
|
|
|
SERIAL_ECHOLNPGM("?(W) Z-stepper index invalid.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|