From 9a51f29efad894eb96bc86d6bb9b274700d0a816 Mon Sep 17 00:00:00 2001 From: Scott Lahteine 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) //