From 727a403ba1aa64c39998720f8e64e676238fef4d Mon Sep 17 00:00:00 2001 From: GMagician <3684609+GMagician@users.noreply.github.com> Date: Tue, 31 Oct 2017 04:50:22 +0100 Subject: [PATCH] [2.0.x] Fix NO_MOTION_BEFORE_HOMING unwanted behaviour (#8176) * [2.0.x] Fix NO_MOTION_BEFORE_HOMING unwanted behaviour NO_MOTION_BEFORE_HOMING should prevent XYZ movements only when homing is not done. E axes should be allowed * Update G0_G1.cpp * Update G0_G1.cpp --- Marlin/src/gcode/motion/G0_G1.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Marlin/src/gcode/motion/G0_G1.cpp b/Marlin/src/gcode/motion/G0_G1.cpp index 1d34cb667..e3ed1ca40 100644 --- a/Marlin/src/gcode/motion/G0_G1.cpp +++ b/Marlin/src/gcode/motion/G0_G1.cpp @@ -33,6 +33,12 @@ extern float destination[XYZE]; +#if ENABLED(NO_MOTION_BEFORE_HOMING) + #define G0_G1_CONDITION !axis_unhomed_error(parser.seen('X'), parser.seen('Y'), parser.seen('Z')) +#else + #define G0_G1_CONDITION true +#endif + /** * G0, G1: Coordinated movement of X Y Z E axes */ @@ -41,7 +47,7 @@ void GcodeSuite::G0_G1( bool fast_move/*=false*/ #endif ) { - if (MOTION_CONDITIONS) { + if (IsRunning() && G0_G1_CONDITION) { get_destination_from_command(); // For X Y Z E F #if ENABLED(FWRETRACT)