From 3badc5b78e8789aafdd191537de2a3a5afe95b7c Mon Sep 17 00:00:00 2001 From: BigIronGuru Date: Fri, 21 Jun 2019 14:54:10 +0200 Subject: [PATCH 1/2] Fix for #14328 --- Marlin/src/module/probe.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index 5662c4c72c8d..8cc076d3cba0 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -378,12 +378,11 @@ FORCE_INLINE void probe_specific_action(const bool deploy) { #elif HAS_Z_SERVO_PROBE - #if DISABLED(BLTOUCH) - MOVE_SERVO(Z_PROBE_SERVO_NR, servo_angles[Z_PROBE_SERVO_NR][deploy ? 0 : 1]); - #elif ENABLED(BLTOUCH_HS_MODE) - // In HIGH SPEED MODE, use the normal retractable probe logic in this code - // i.e. no intermediate STOWs and DEPLOYs in between individual probe actions + // A BLTOUCH is a "special" kind of Z_SERVO_PROBE + #if ENABLED(BLTOUCH) if (deploy) bltouch.deploy(); else bltouch.stow(); + #else + MOVE_SERVO(Z_PROBE_SERVO_NR, servo_angles[Z_PROBE_SERVO_NR][deploy ? 0 : 1]); #endif #elif EITHER(TOUCH_MI_PROBE, Z_PROBE_ALLEN_KEY) @@ -746,11 +745,7 @@ float probe_pt(const float &rx, const float &ry, const ProbePtRaise raise_after/ feedrate_mm_s = old_feedrate_mm_s; if (isnan(measured_z)) { - #if ENABLED(BLTOUCH) && DISABLED(BLTOUCH_HS_MODE) - bltouch.stow(); - #else - STOW_PROBE(); - #endif + STOW_PROBE(); LCD_MESSAGEPGM(MSG_ERR_PROBING_FAILED); SERIAL_ERROR_MSG(MSG_ERR_PROBING_FAILED); } From d107a078ba1eb0bfdf62d8bff139213b42127701 Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 21 Jun 2019 18:51:39 -0500 Subject: [PATCH 2/2] Promote BLTOUCH in probe_specific_action --- Marlin/src/module/probe.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/Marlin/src/module/probe.cpp b/Marlin/src/module/probe.cpp index 8cc076d3cba0..a74200d71b95 100644 --- a/Marlin/src/module/probe.cpp +++ b/Marlin/src/module/probe.cpp @@ -376,14 +376,13 @@ FORCE_INLINE void probe_specific_action(const bool deploy) { dock_sled(!deploy); + #elif ENABLED(BLTOUCH) + + deploy ? bltouch.deploy() : bltouch.stow(); + #elif HAS_Z_SERVO_PROBE - // A BLTOUCH is a "special" kind of Z_SERVO_PROBE - #if ENABLED(BLTOUCH) - if (deploy) bltouch.deploy(); else bltouch.stow(); - #else - MOVE_SERVO(Z_PROBE_SERVO_NR, servo_angles[Z_PROBE_SERVO_NR][deploy ? 0 : 1]); - #endif + MOVE_SERVO(Z_PROBE_SERVO_NR, servo_angles[Z_PROBE_SERVO_NR][deploy ? 0 : 1]); #elif EITHER(TOUCH_MI_PROBE, Z_PROBE_ALLEN_KEY) @@ -446,14 +445,12 @@ bool set_probe_deployed(const bool deploy) { oldYpos = current_position[Y_AXIS]; #if ENABLED(PROBE_TRIGGERED_WHEN_STOWED_TEST) + #if USES_Z_MIN_PROBE_ENDSTOP #define PROBE_STOWED() (READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING) #else #define PROBE_STOWED() (READ(Z_MIN_PIN) != Z_MIN_ENDSTOP_INVERTING) #endif - #endif - - #ifdef PROBE_STOWED // Only deploy/stow if needed if (PROBE_STOWED() == deploy) {