From 775486028921d675bda4ea57e4fff4e7a6717c26 Mon Sep 17 00:00:00 2001
From: hwmland <12407423+hwmland@users.noreply.github.com>
Date: Mon, 3 Jan 2022 06:54:12 +0100
Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20RAMPS=20FET=20order=20overridabl?=
 =?UTF-8?q?e,=20E=20+=20Laser=20(#23428)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 Marlin/src/pins/pins.h | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h
index 1cb9462de48..0d24ee6696b 100644
--- a/Marlin/src/pins/pins.h
+++ b/Marlin/src/pins/pins.h
@@ -37,24 +37,28 @@
 
 #define MAX_E_STEPPERS 8
 
-#if   MB(RAMPS_13_EFB, RAMPS_14_EFB, RAMPS_PLUS_EFB, RAMPS_14_RE_ARM_EFB, RAMPS_SMART_EFB, RAMPS_DUO_EFB, RAMPS4DUE_EFB)
-  #define FET_ORDER_EFB 1
-#elif MB(RAMPS_13_EEB, RAMPS_14_EEB, RAMPS_PLUS_EEB, RAMPS_14_RE_ARM_EEB, RAMPS_SMART_EEB, RAMPS_DUO_EEB, RAMPS4DUE_EEB)
-  #define FET_ORDER_EEB 1
-#elif MB(RAMPS_13_EFF, RAMPS_14_EFF, RAMPS_PLUS_EFF, RAMPS_14_RE_ARM_EFF, RAMPS_SMART_EFF, RAMPS_DUO_EFF, RAMPS4DUE_EFF)
-  #define FET_ORDER_EFF 1
-#elif MB(RAMPS_13_EEF, RAMPS_14_EEF, RAMPS_PLUS_EEF, RAMPS_14_RE_ARM_EEF, RAMPS_SMART_EEF, RAMPS_DUO_EEF, RAMPS4DUE_EEF)
-  #define FET_ORDER_EEF 1
-#elif MB(RAMPS_13_SF,  RAMPS_14_SF,  RAMPS_PLUS_SF,  RAMPS_14_RE_ARM_SF,  RAMPS_SMART_SF,  RAMPS_DUO_SF,  RAMPS4DUE_SF)
-  #define FET_ORDER_SF 1
-#elif HAS_MULTI_HOTEND && TEMP_SENSOR_BED
-  #define FET_ORDER_EEB 1
-#elif HAS_MULTI_HOTEND
-  #define FET_ORDER_EEF 1
-#elif TEMP_SENSOR_BED
-  #define FET_ORDER_EFB 1
-#else
-  #define FET_ORDER_EFF 1
+#if NONE(FET_ORDER_EEF, FET_ORDER_EEB, FET_ORDER_EFF, FET_ORDER_EFB, FET_ORDER_SF)
+  #if   MB(RAMPS_13_EFB, RAMPS_14_EFB, RAMPS_PLUS_EFB, RAMPS_14_RE_ARM_EFB, RAMPS_SMART_EFB, RAMPS_DUO_EFB, RAMPS4DUE_EFB)
+    #define FET_ORDER_EFB 1
+  #elif MB(RAMPS_13_EEB, RAMPS_14_EEB, RAMPS_PLUS_EEB, RAMPS_14_RE_ARM_EEB, RAMPS_SMART_EEB, RAMPS_DUO_EEB, RAMPS4DUE_EEB)
+    #define FET_ORDER_EEB 1
+  #elif MB(RAMPS_13_EFF, RAMPS_14_EFF, RAMPS_PLUS_EFF, RAMPS_14_RE_ARM_EFF, RAMPS_SMART_EFF, RAMPS_DUO_EFF, RAMPS4DUE_EFF)
+    #define FET_ORDER_EFF 1
+  #elif MB(RAMPS_13_EEF, RAMPS_14_EEF, RAMPS_PLUS_EEF, RAMPS_14_RE_ARM_EEF, RAMPS_SMART_EEF, RAMPS_DUO_EEF, RAMPS4DUE_EEF)
+    #define FET_ORDER_EEF 1
+  #elif MB(RAMPS_13_SF,  RAMPS_14_SF,  RAMPS_PLUS_SF,  RAMPS_14_RE_ARM_SF,  RAMPS_SMART_SF,  RAMPS_DUO_SF,  RAMPS4DUE_SF)
+    #define FET_ORDER_SF 1
+  #elif HAS_MULTI_HOTEND || (HAS_EXTRUDERS && HAS_CUTTER)
+    #if TEMP_SENSOR_BED
+      #define FET_ORDER_EEB 1
+    #else
+      #define FET_ORDER_EEF 1
+    #endif
+  #elif TEMP_SENSOR_BED
+    #define FET_ORDER_EFB 1
+  #else
+    #define FET_ORDER_EFF 1
+  #endif
 #endif
 
 #if !(BOTH(IS_ULTRA_LCD, IS_NEWPANEL) && ANY(PANEL_ONE, VIKI2, miniVIKI, WYH_L12864, MINIPANEL, REPRAPWORLD_KEYPAD))