From 9a51f29efad894eb96bc86d6bb9b274700d0a816 Mon Sep 17 00:00:00 2001
From: Scott Lahteine <github@thinkyhead.com>
Date: Sun, 23 Feb 2020 23:55:05 -0600
Subject: [PATCH] Simplified E_AXIS_HAS macro
---
Marlin/src/core/drivers.h | 4 +--
Marlin/src/inc/Conditionals_post.h | 53 ------------------------------
2 files changed, 2 insertions(+), 55 deletions(-)
diff --git a/Marlin/src/core/drivers.h b/Marlin/src/core/drivers.h
index f1410f1d47..306329d6fe 100644
--- a/Marlin/src/core/drivers.h
+++ b/Marlin/src/core/drivers.h
@@ -131,7 +131,7 @@
#define AXIS_HAS_UART(A) ( AXIS_DRIVER_TYPE(A,TMC2208) \
|| AXIS_DRIVER_TYPE(A,TMC2209) )
-#define AXIS_HAS_SW_SERIAL(A) ((AXIS_HAS_UART(A) && !HAS_##A##_HARDWARE_SERIAL))
+#define AXIS_HAS_SW_SERIAL(A) ((AXIS_HAS_UART(A) && !defined(A##_HARDWARE_SERIAL)))
#define AXIS_HAS_STALLGUARD(A) ( AXIS_DRIVER_TYPE(A,TMC2130) \
|| AXIS_DRIVER_TYPE(A,TMC2160) \
@@ -158,7 +158,7 @@
|| AXIS_DRIVER_TYPE(A,TMC5160) )
#define _OR_EAH(N,T) || AXIS_HAS_##T(E##N)
-#define E_AXIS_HAS(T) (0 RREPEAT2(E_STEPPERS, _OR_EAH, T))
+#define E_AXIS_HAS(T) (0 _OR_EAH(0,T) _OR_EAH(1,T) _OR_EAH(2,T) _OR_EAH(3,T) _OR_EAH(4,T) _OR_EAH(5,T) _OR_EAH(6,T) _OR_EAH(7,T))
#define ANY_AXIS_HAS(T) ( AXIS_HAS_##T(X) || AXIS_HAS_##T(X2) \
|| AXIS_HAS_##T(Y) || AXIS_HAS_##T(Y2) \
diff --git a/Marlin/src/inc/Conditionals_post.h b/Marlin/src/inc/Conditionals_post.h
index 55058a4d11..6785ea01e8 100644
--- a/Marlin/src/inc/Conditionals_post.h
+++ b/Marlin/src/inc/Conditionals_post.h
@@ -1444,59 +1444,6 @@
#define HAS_Z4_MAX (PIN_EXISTS(Z4_MAX))
#define HAS_Z_MIN_PROBE_PIN (HAS_CUSTOM_PROBE_PIN && PIN_EXISTS(Z_MIN_PROBE))
-// Cannot use a macro with a defined() statement inside REPEAT macros.
-// [AXIS]_HARDWARE_SERIAL definitions are typically strings which cannot be
-// tested directly, as they will evaluate to 0.
-#ifdef X_HARDWARE_SERIAL
- #define HAS_X_HARDWARE_SERIAL 1
-#endif
-#ifdef X2_HARDWARE_SERIAL
- #define HAS_X2_HARDWARE_SERIAL 1
-#endif
-#ifdef Y_HARDWARE_SERIAL
- #define HAS_Y_HARDWARE_SERIAL 1
-#endif
-#ifdef Y2_HARDWARE_SERIAL
- #define HAS_Y2_HARDWARE_SERIAL 1
-#endif
-#ifdef Z_HARDWARE_SERIAL
- #define HAS_Z_HARDWARE_SERIAL 1
-#endif
-#ifdef Z2_HARDWARE_SERIAL
- #define HAS_Z2_HARDWARE_SERIAL 1
-#endif
-#ifdef Z3_HARDWARE_SERIAL
- #define HAS_Z3_HARDWARE_SERIAL 1
-#endif
-#ifdef Z4_HARDWARE_SERIAL
- #define HAS_Z4_HARDWARE_SERIAL 1
-#endif
-#ifdef E0_HARDWARE_SERIAL
- #define HAS_E0_HARDWARE_SERIAL 1
-#endif
-#ifdef E1_HARDWARE_SERIAL
- #define HAS_E1_HARDWARE_SERIAL 1
-#endif
-#ifdef E2_HARDWARE_SERIAL
- #define HAS_E2_HARDWARE_SERIAL 1
-#endif
-#ifdef E3_HARDWARE_SERIAL
- #define HAS_E3_HARDWARE_SERIAL 1
-#endif
-#ifdef E4_HARDWARE_SERIAL
- #define HAS_E4_HARDWARE_SERIAL 1
-#endif
-#ifdef E5_HARDWARE_SERIAL
- #define HAS_E5_HARDWARE_SERIAL 1
-#endif
-#ifdef E6_HARDWARE_SERIAL
- #define HAS_E6_HARDWARE_SERIAL 1
-#endif
-#ifdef E7_HARDWARE_SERIAL
- #define HAS_E7_HARDWARE_SERIAL 1
-#endif
-
-
//
// ADC Temp Sensors (Thermistor or Thermocouple with amplifier ADC interface)
//
--
GitLab