🚸 Machine-relative Z_STEPPER_ALIGN_XY (#24261)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
parent
fa50d2c757
commit
406c2342fd
|
@ -923,9 +923,12 @@
|
||||||
*/
|
*/
|
||||||
//#define Z_STEPPER_AUTO_ALIGN
|
//#define Z_STEPPER_AUTO_ALIGN
|
||||||
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
#if ENABLED(Z_STEPPER_AUTO_ALIGN)
|
||||||
// Define probe X and Y positions for Z1, Z2 [, Z3 [, Z4]]
|
/**
|
||||||
// If not defined, probe limits will be used.
|
* Define probe X and Y positions for Z1, Z2 [, Z3 [, Z4]]
|
||||||
// Override with 'M422 S<index> X<pos> Y<pos>'
|
* These positions are machine-relative and do not shift with the M206 home offset!
|
||||||
|
* If not defined, probe limits will be used.
|
||||||
|
* Override with 'M422 S<index> X<pos> Y<pos>'.
|
||||||
|
*/
|
||||||
//#define Z_STEPPER_ALIGN_XY { { 10, 190 }, { 100, 10 }, { 190, 190 } }
|
//#define Z_STEPPER_ALIGN_XY { { 10, 190 }, { 100, 10 }, { 190, 190 } }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -224,13 +224,15 @@ void GcodeSuite::G34() {
|
||||||
// Safe clearance even on an incline
|
// Safe clearance even on an incline
|
||||||
if ((iteration == 0 || i > 0) && z_probe > current_position.z) do_blocking_move_to_z(z_probe);
|
if ((iteration == 0 || i > 0) && z_probe > current_position.z) do_blocking_move_to_z(z_probe);
|
||||||
|
|
||||||
|
xy_pos_t &ppos = z_stepper_align.xy[iprobe];
|
||||||
|
|
||||||
if (DEBUGGING(LEVELING))
|
if (DEBUGGING(LEVELING))
|
||||||
DEBUG_ECHOLNPGM_P(PSTR("Probing X"), z_stepper_align.xy[iprobe].x, SP_Y_STR, z_stepper_align.xy[iprobe].y);
|
DEBUG_ECHOLNPGM_P(PSTR("Probing X"), ppos.x, SP_Y_STR, ppos.y);
|
||||||
|
|
||||||
// Probe a Z height for each stepper.
|
// Probe a Z height for each stepper.
|
||||||
// Probing sanity check is disabled, as it would trigger even in normal cases because
|
// Probing sanity check is disabled, as it would trigger even in normal cases because
|
||||||
// current_position.z has been manually altered in the "dirty trick" above.
|
// current_position.z has been manually altered in the "dirty trick" above.
|
||||||
const float z_probed_height = probe.probe_at_point(z_stepper_align.xy[iprobe], raise_after, 0, true, false);
|
const float z_probed_height = probe.probe_at_point(DIFF_TERN(HAS_HOME_OFFSET, ppos, xy_pos_t(home_offset)), raise_after, 0, true, false);
|
||||||
if (isnan(z_probed_height)) {
|
if (isnan(z_probed_height)) {
|
||||||
SERIAL_ECHOLNPGM("Probing failed");
|
SERIAL_ECHOLNPGM("Probing failed");
|
||||||
LCD_MESSAGE(MSG_LCD_PROBING_FAILED);
|
LCD_MESSAGE(MSG_LCD_PROBING_FAILED);
|
||||||
|
|
Loading…
Reference in a new issue