From 253b14def12a04d5e2f1fe7a1131932b98b118c9 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Mon, 4 Jul 2022 18:26:14 +0200 Subject: [PATCH] Clamp Z movements to machine limits --- Firmware/Marlin_main.cpp | 3 ++- Firmware/ultralcd.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Firmware/Marlin_main.cpp b/Firmware/Marlin_main.cpp index f36164acd..2640acbbe 100644 --- a/Firmware/Marlin_main.cpp +++ b/Firmware/Marlin_main.cpp @@ -3688,6 +3688,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float //Lift Z current_position[Z_AXIS] += z_shift; + clamp_to_software_endstops(current_position); plan_buffer_line_curposXYZE(FILAMENTCHANGE_ZFEED); st_synchronize(); @@ -10734,7 +10735,7 @@ void long_pause() //long pause print //lift z current_position[Z_AXIS] += Z_PAUSE_LIFT; - if (current_position[Z_AXIS] > Z_MAX_POS) current_position[Z_AXIS] = Z_MAX_POS; + clamp_to_software_endstops(current_position); plan_buffer_line_curposXYZE(15); //Move XY to side diff --git a/Firmware/ultralcd.cpp b/Firmware/ultralcd.cpp index 4f9f4a3c9..738192f89 100755 --- a/Firmware/ultralcd.cpp +++ b/Firmware/ultralcd.cpp @@ -6309,6 +6309,7 @@ void lcd_print_stop() if (axis_known_position[Z_AXIS]) { current_position[Z_AXIS] += Z_CANCEL_LIFT; + clamp_to_software_endstops(current_position); plan_buffer_line_curposXYZE(manual_feedrate[Z_AXIS] / 60); }