✨ 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)
|
#if ENABLED(NOZZLE_PARK_FEATURE)
|
||||||
// Specify a park position as { X, Y, Z_raise }
|
// 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_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_MOVE 0 // Park motion: 0 = XY Move, 1 = X Only, 2 = Y Only, 3 = X before Y, 4 = Y before X
|
||||||
//#define NOZZLE_PARK_Y_ONLY // Y move only is required to park
|
|
||||||
#define NOZZLE_PARK_Z_RAISE_MIN 2 // (mm) Always raise Z by at least this distance
|
#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_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)
|
#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."
|
#error "LCD_SCREEN_ROT_270 is now LCD_SCREEN_ROTATE with a value of 270."
|
||||||
#elif defined(DEFAULT_LCD_BRIGHTNESS)
|
#elif defined(DEFAULT_LCD_BRIGHTNESS)
|
||||||
#error "DEFAULT_LCD_BRIGHTNESS is now LCD_BRIGHTNESS_DEFAULT."
|
#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
|
#endif
|
||||||
|
|
||||||
constexpr float arm[] = AXIS_RELATIVE_MODES;
|
constexpr float arm[] = AXIS_RELATIVE_MODES;
|
||||||
|
|
|
@ -254,11 +254,18 @@ Nozzle nozzle;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
do_blocking_move_to_xy(
|
#ifndef NOZZLE_PARK_MOVE
|
||||||
TERN(NOZZLE_PARK_Y_ONLY, current_position, park).x,
|
#define NOZZLE_PARK_MOVE 0
|
||||||
TERN(NOZZLE_PARK_X_ONLY, current_position, park).y,
|
#endif
|
||||||
fr_xy
|
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();
|
report_current_position();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue