From e931bc7e7289ff4fc26c7cfd24980c505ba255c9 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Thu, 26 Apr 2018 17:02:35 -0500
Subject: [PATCH] Reorder some conditionals

---
 Marlin/Conditionals_LCD.h  | 16 ++++++++++------
 Marlin/Conditionals_post.h | 27 +++++----------------------
 2 files changed, 15 insertions(+), 28 deletions(-)

diff --git a/Marlin/Conditionals_LCD.h b/Marlin/Conditionals_LCD.h
index 4a4213215a9..42a32629750 100644
--- a/Marlin/Conditionals_LCD.h
+++ b/Marlin/Conditionals_LCD.h
@@ -482,18 +482,22 @@
   #define HAS_Z_SERVO_PROBE (defined(Z_PROBE_SERVO_NR) && Z_PROBE_SERVO_NR >= 0)
 
   /**
-   * Set a flag for any enabled probe
+   * Set flags for enabled probes
    */
-  #define PROBE_SELECTED (ENABLED(PROBE_MANUALLY) || ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_PROBE || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE))
+  #define HAS_BED_PROBE (ENABLED(FIX_MOUNTED_PROBE) || ENABLED(Z_PROBE_ALLEN_KEY) || HAS_Z_SERVO_PROBE || ENABLED(Z_PROBE_SLED) || ENABLED(SOLENOID_PROBE))
+  #define PROBE_SELECTED (HAS_BED_PROBE || ENABLED(PROBE_MANUALLY))
 
-  /**
-   * Clear probe pin settings when no probe is selected
-   */
-  #if !PROBE_SELECTED || ENABLED(PROBE_MANUALLY)
+  #if !HAS_BED_PROBE
+    // Clear probe pin settings when no probe is selected
     #undef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
     #undef Z_MIN_PROBE_ENDSTOP
+  #elif ENABLED(Z_PROBE_ALLEN_KEY)
+    // Extra test for Allen Key Probe
+    #define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST
   #endif
 
+  #define HOMING_Z_WITH_PROBE (HAS_BED_PROBE && Z_HOME_DIR < 0 && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN))
+
   #define HAS_SOFTWARE_ENDSTOPS (ENABLED(MIN_SOFTWARE_ENDSTOPS) || ENABLED(MAX_SOFTWARE_ENDSTOPS))
   #define HAS_RESUME_CONTINUE (ENABLED(NEWPANEL) || ENABLED(EMERGENCY_PARSER))
   #define HAS_COLOR_LEDS (ENABLED(BLINKM) || ENABLED(RGB_LED) || ENABLED(RGBW_LED) || ENABLED(PCA9632) || ENABLED(NEOPIXEL_LED))
diff --git a/Marlin/Conditionals_post.h b/Marlin/Conditionals_post.h
index fa87a0d00dc..022fccb1445 100644
--- a/Marlin/Conditionals_post.h
+++ b/Marlin/Conditionals_post.h
@@ -159,11 +159,6 @@
     #define DELTA_HEIGHT Z_HOME_POS
   #endif
 
-  /**
-   * Auto Bed Leveling and Z Probe Repeatability Test
-   */
-  #define HOMING_Z_WITH_PROBE (HAS_BED_PROBE && Z_HOME_DIR < 0 && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN))
-
   /**
    * Z Sled Probe requires Z_SAFE_HOMING
    */
@@ -746,11 +741,15 @@
   #define HAS_CONTROLLER_FAN (PIN_EXISTS(CONTROLLER_FAN))
 
   // Servos
-  #define HAS_SERVOS (defined(NUM_SERVOS) && NUM_SERVOS > 0)
   #define HAS_SERVO_0 (PIN_EXISTS(SERVO0))
   #define HAS_SERVO_1 (PIN_EXISTS(SERVO1))
   #define HAS_SERVO_2 (PIN_EXISTS(SERVO2))
   #define HAS_SERVO_3 (PIN_EXISTS(SERVO3))
+  #define HAS_SERVOS (defined(NUM_SERVOS) && NUM_SERVOS > 0 && (HAS_SERVO_0 || HAS_SERVO_1 || HAS_SERVO_2 || HAS_SERVO_3))
+
+  #if HAS_SERVOS && !defined(Z_PROBE_SERVO_NR)
+    #define Z_PROBE_SERVO_NR -1
+  #endif
 
   // Sensors
   #define HAS_FILAMENT_WIDTH_SENSOR (PIN_EXISTS(FILWIDTH))
@@ -848,22 +847,6 @@
    */
   #define HAS_FANMUX PIN_EXISTS(FANMUX0)
 
-  /**
-   * Servos and probes
-   */
-
-  #if HAS_SERVOS
-    #ifndef Z_PROBE_SERVO_NR
-      #define Z_PROBE_SERVO_NR -1
-    #endif
-  #endif
-
-  #define HAS_BED_PROBE (PROBE_SELECTED && DISABLED(PROBE_MANUALLY))
-
-  #if ENABLED(Z_PROBE_ALLEN_KEY)
-    #define PROBE_IS_TRIGGERED_WHEN_STOWED_TEST
-  #endif
-
   /**
    * Bed Probe dependencies
    */