✨ More Nozzle Park move options (#23158)
Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>
This commit is contained in:
parent
1b2715ccf2
commit
428b67db31
@ -1913,8 +1913,7 @@
|
||||
#if ENABLED(NOZZLE_PARK_FEATURE)
|
||||
// Specify a park position as { X, Y, Z_raise }
|
||||
#define NOZZLE_PARK_POINT { (X_MIN_POS + 10), (Y_MAX_POS - 10), 20 }
|
||||
//#define NOZZLE_PARK_X_ONLY // X move only is required to park
|
||||
//#define NOZZLE_PARK_Y_ONLY // Y move only is required to park
|
||||
#define NOZZLE_PARK_MOVE 0 // Park motion: 0 = XY Move, 1 = X Only, 2 = Y Only, 3 = X before Y, 4 = Y before X
|
||||
#define NOZZLE_PARK_Z_RAISE_MIN 2 // (mm) Always raise Z by at least this distance
|
||||
#define NOZZLE_PARK_XY_FEEDRATE 100 // (mm/s) X and Y axes feedrate (also used for delta Z axis)
|
||||
#define NOZZLE_PARK_Z_FEEDRATE 5 // (mm/s) Z axis feedrate (not used for delta printers)
|
||||
|
@ -609,6 +609,10 @@
|
||||
#error "LCD_SCREEN_ROT_270 is now LCD_SCREEN_ROTATE with a value of 270."
|
||||
#elif defined(DEFAULT_LCD_BRIGHTNESS)
|
||||
#error "DEFAULT_LCD_BRIGHTNESS is now LCD_BRIGHTNESS_DEFAULT."
|
||||
#elif defined(NOZZLE_PARK_X_ONLY)
|
||||
#error "NOZZLE_PARK_X_ONLY is now NOZZLE_PARK_MOVE 1."
|
||||
#elif defined(NOZZLE_PARK_Y_ONLY)
|
||||
#error "NOZZLE_PARK_X_ONLY is now NOZZLE_PARK_MOVE 2."
|
||||
#endif
|
||||
|
||||
constexpr float arm[] = AXIS_RELATIVE_MODES;
|
||||
|
@ -254,11 +254,18 @@ Nozzle nozzle;
|
||||
break;
|
||||
}
|
||||
|
||||
do_blocking_move_to_xy(
|
||||
TERN(NOZZLE_PARK_Y_ONLY, current_position, park).x,
|
||||
TERN(NOZZLE_PARK_X_ONLY, current_position, park).y,
|
||||
fr_xy
|
||||
);
|
||||
#ifndef NOZZLE_PARK_MOVE
|
||||
#define NOZZLE_PARK_MOVE 0
|
||||
#endif
|
||||
switch (NOZZLE_PARK_MOVE) {
|
||||
case 0: do_blocking_move_to_xy(park, fr_xy); break;
|
||||
case 1: do_blocking_move_to_x(park.x, fr_xy); break;
|
||||
case 2: do_blocking_move_to_y(park.y, fr_xy); break;
|
||||
case 3: do_blocking_move_to_x(park.x, fr_xy);
|
||||
do_blocking_move_to_y(park.y, fr_xy); break;
|
||||
case 4: do_blocking_move_to_y(park.y, fr_xy);
|
||||
do_blocking_move_to_x(park.x, fr_xy); break;
|
||||
}
|
||||
|
||||
report_current_position();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user