From 198498b1aa77c5e6adc38afbdea803caaf9bddbb Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 21 Jan 2018 19:51:54 -0600 Subject: [PATCH 1/2] Sanity check for TMC2130 having CS pins --- Marlin/SanityCheck.h | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 43ad158a0b..4dca60662e 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -1427,8 +1427,8 @@ static_assert(1 >= 0 /** * Make sure HAVE_TMCDRIVER is warranted */ -#if ENABLED(HAVE_TMCDRIVER) && !( \ - ENABLED( X_IS_TMC ) \ +#if ENABLED(HAVE_TMCDRIVER) + #if !( ENABLED( X_IS_TMC ) \ || ENABLED( X2_IS_TMC ) \ || ENABLED( Y_IS_TMC ) \ || ENABLED( Y2_IS_TMC ) \ @@ -1439,8 +1439,34 @@ static_assert(1 >= 0 || ENABLED( E2_IS_TMC ) \ || ENABLED( E3_IS_TMC ) \ || ENABLED( E4_IS_TMC ) \ - ) - #error "HAVE_TMCDRIVER requires at least one TMC stepper to be set." + ) + #error "HAVE_TMCDRIVER requires at least one TMC stepper to be set." + #endif + + #if ENABLED(X_IS_TMC2130) && !PIN_EXISTS(X_CS) + #error "X_CS_PIN is required for X_IS_TMC2130. Define X_CS_PIN in Configuration_adv.h." + #elif ENABLED(X2_IS_TMC2130) && !PIN_EXISTS(X2_CS) + #error "X2_CS_PIN is required for X2_IS_TMC2130. Define X2_CS_PIN in Configuration_adv.h." + #elif ENABLED(Y_IS_TMC2130) && !PIN_EXISTS(Y_CS) + #error "Y_CS_PIN is required for Y_IS_TMC2130. Define Y_CS_PIN in Configuration_adv.h." + #elif ENABLED(Y2_IS_TMC2130) && !PIN_EXISTS(Y2_CS) + #error "Y2_CS_PIN is required for Y2_IS_TMC2130. Define Y2_CS_PIN in Configuration_adv.h." + #elif ENABLED(Z_IS_TMC2130) && !PIN_EXISTS(Z_CS) + #error "Z_CS_PIN is required for Z_IS_TMC2130. Define Z_CS_PIN in Configuration_adv.h." + #elif ENABLED(Z2_IS_TMC2130) && !PIN_EXISTS(Z2_CS) + #error "Z2_CS_PIN is required for Z2_IS_TMC2130. Define Z2_CS_PIN in Configuration_adv.h." + #elif ENABLED(E0_IS_TMC2130) && !PIN_EXISTS(E0_CS) + #error "E0_CS_PIN is required for E0_IS_TMC2130. Define E0_CS_PIN in Configuration_adv.h." + #elif ENABLED(E1_IS_TMC2130) && !PIN_EXISTS(E1_CS) + #error "E1_CS_PIN is required for E1_IS_TMC2130. Define E1_CS_PIN in Configuration_adv.h." + #elif ENABLED(E2_IS_TMC2130) && !PIN_EXISTS(E2_CS) + #error "E2_CS_PIN is required for E2_IS_TMC2130. Define E2_CS_PIN in Configuration_adv.h." + #elif ENABLED(E3_IS_TMC2130) && !PIN_EXISTS(E3_CS) + #error "E3_CS_PIN is required for E3_IS_TMC2130. Define E3_CS_PIN in Configuration_adv.h." + #elif ENABLED(E4_IS_TMC2130) && !PIN_EXISTS(E4_CS) + #error "E4_CS_PIN is required for E4_IS_TMC2130. Define E4_CS_PIN in Configuration_adv.h." + #endif + #endif /** From e8687e5b9e084031391c77b1c306315f763c918a Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Sun, 21 Jan 2018 19:51:23 -0600 Subject: [PATCH 2/2] Update pins.h for parity, protect MS pins --- Marlin/pins.h | 90 ++++++++++++++++++++++++----------------- Marlin/pinsDebug_list.h | 27 +++++++++++++ 2 files changed, 80 insertions(+), 37 deletions(-) diff --git a/Marlin/pins.h b/Marlin/pins.h index 13983c7002..0a74b25e96 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -35,6 +35,18 @@ #ifndef __PINS_H__ #define __PINS_H__ +#if MB(RAMPS_13_EFB) || MB(RAMPS_14_EFB) || MB(RAMPS_PLUS_EFB) + #define IS_RAMPS_EFB +#elif MB(RAMPS_13_EEB) || MB(RAMPS_14_EEB) || MB(RAMPS_PLUS_EEB) + #define IS_RAMPS_EEB +#elif MB(RAMPS_13_EFF) || MB(RAMPS_14_EFF) || MB(RAMPS_PLUS_EFF) + #define IS_RAMPS_EFF +#elif MB(RAMPS_13_EEF) || MB(RAMPS_14_EEF) || MB(RAMPS_PLUS_EEF) + #define IS_RAMPS_EEF +#elif MB(RAMPS_13_SF) || MB(RAMPS_14_SF) || MB(RAMPS_PLUS_SF) + #define IS_RAMPS_SF +#endif + // // RAMPS 1.3 / 1.4 - ATmega1280, ATmega2560 // @@ -42,49 +54,34 @@ #if MB(RAMPS_OLD) #include "pins_RAMPS_OLD.h" #elif MB(RAMPS_13_EFB) - #define IS_RAMPS_EFB #include "pins_RAMPS_13.h" #elif MB(RAMPS_13_EEB) - #define IS_RAMPS_EEB #include "pins_RAMPS_13.h" #elif MB(RAMPS_13_EFF) - #define IS_RAMPS_EFF #include "pins_RAMPS_13.h" #elif MB(RAMPS_13_EEF) - #define IS_RAMPS_EEF #include "pins_RAMPS_13.h" #elif MB(RAMPS_13_SF) - #define IS_RAMPS_SF #include "pins_RAMPS_13.h" #elif MB(RAMPS_14_EFB) - #define IS_RAMPS_EFB #include "pins_RAMPS.h" #elif MB(RAMPS_14_EEB) - #define IS_RAMPS_EEB #include "pins_RAMPS.h" #elif MB(RAMPS_14_EFF) - #define IS_RAMPS_EFF #include "pins_RAMPS.h" #elif MB(RAMPS_14_EEF) - #define IS_RAMPS_EEF #include "pins_RAMPS.h" #elif MB(RAMPS_14_SF) - #define IS_RAMPS_SF #include "pins_RAMPS.h" #elif MB(RAMPS_PLUS_EFB) - #define IS_RAMPS_EFB #include "pins_RAMPS_PLUS.h" #elif MB(RAMPS_PLUS_EEB) - #define IS_RAMPS_EEB #include "pins_RAMPS_PLUS.h" #elif MB(RAMPS_PLUS_EFF) - #define IS_RAMPS_EFF #include "pins_RAMPS_PLUS.h" #elif MB(RAMPS_PLUS_EEF) - #define IS_RAMPS_EEF #include "pins_RAMPS_PLUS.h" #elif MB(RAMPS_PLUS_SF) - #define IS_RAMPS_SF #include "pins_RAMPS_PLUS.h" // @@ -170,8 +167,6 @@ #include "pins_GT2560_REV_A.h" // ATmega1280, ATmega2560 #elif MB(GT2560_REV_A_PLUS) #include "pins_GT2560_REV_A_PLUS.h" // ATmega1280, ATmega2560 -#elif MB(SILVER_GATE) - #include "pins_SILVER_GATE.h" // ATmega2561 // // ATmega1281, ATmega2561 @@ -179,6 +174,8 @@ #elif MB(MINITRONICS) #include "pins_MINITRONICS.h" // ATmega1281 +#elif MB(SILVER_GATE) + #include "pins_SILVER_GATE.h" // ATmega2561 // // Sanguinololu and Derivatives - ATmega644P, ATmega1284P @@ -276,6 +273,37 @@ #ifndef Z_MS2_PIN #define Z_MS2_PIN -1 #endif +#ifndef E0_MS1_PIN + #define E0_MS1_PIN -1 +#endif +#ifndef E0_MS2_PIN + #define E0_MS2_PIN -1 +#endif +#ifndef E1_MS1_PIN + #define E1_MS1_PIN -1 +#endif +#ifndef E1_MS2_PIN + #define E1_MS2_PIN -1 +#endif +#ifndef E2_MS1_PIN + #define E2_MS1_PIN -1 +#endif +#ifndef E2_MS2_PIN + #define E2_MS2_PIN -1 +#endif +#ifndef E3_MS1_PIN + #define E3_MS1_PIN -1 +#endif +#ifndef E3_MS2_PIN + #define E3_MS2_PIN -1 +#endif +#ifndef E4_MS1_PIN + #define E4_MS1_PIN -1 +#endif +#ifndef E4_MS2_PIN + #define E4_MS2_PIN -1 +#endif + #ifndef E0_STEP_PIN #define E0_STEP_PIN -1 #endif @@ -285,12 +313,6 @@ #ifndef E0_ENABLE_PIN #define E0_ENABLE_PIN -1 #endif -#ifndef E0_MS1_PIN - #define E0_MS1_PIN -1 -#endif -#ifndef E0_MS2_PIN - #define E0_MS2_PIN -1 -#endif #ifndef E1_STEP_PIN #define E1_STEP_PIN -1 #endif @@ -300,12 +322,6 @@ #ifndef E1_ENABLE_PIN #define E1_ENABLE_PIN -1 #endif -#ifndef E1_MS1_PIN - #define E1_MS1_PIN -1 -#endif -#ifndef E1_MS2_PIN - #define E1_MS2_PIN -1 -#endif #ifndef E2_STEP_PIN #define E2_STEP_PIN -1 #endif @@ -457,7 +473,7 @@ #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, E1_MS1_PIN, E1_MS2_PIN, #if EXTRUDERS > 4 // Tools 4 and 5 use E2 #undef _E2_PINS - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, + #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, E2_MS1_PIN, E2_MS2_PIN, #endif #endif #elif EXTRUDERS > 1 @@ -465,13 +481,13 @@ #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, E1_MS1_PIN, E1_MS2_PIN, #if EXTRUDERS > 2 #undef _E2_PINS - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, + #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, E2_MS1_PIN, E2_MS2_PIN, #if EXTRUDERS > 3 #undef _E3_PINS - #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, + #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, E3_MS1_PIN, E3_MS2_PIN, #if EXTRUDERS > 4 #undef _E4_PINS - #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, + #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, E4_MS1_PIN, E4_MS2_PIN, #endif // EXTRUDERS > 4 #endif // EXTRUDERS > 3 #endif // EXTRUDERS > 2 @@ -500,16 +516,16 @@ #endif // HOTENDS > 2 #elif ENABLED(MIXING_EXTRUDER) #undef _E1_PINS - #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, + #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, E1_MS1_PIN, E1_MS2_PIN, #if MIXING_STEPPERS > 2 #undef _E2_PINS - #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, + #define _E2_PINS E2_STEP_PIN, E2_DIR_PIN, E2_ENABLE_PIN, E2_MS1_PIN, E2_MS2_PIN, #if MIXING_STEPPERS > 3 #undef _E3_PINS - #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, + #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, E3_MS1_PIN, E3_MS2_PIN, #if MIXING_STEPPERS > 4 #undef _E4_PINS - #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, + #define _E4_PINS E4_STEP_PIN, E4_DIR_PIN, E4_ENABLE_PIN, E4_MS1_PIN, E4_MS2_PIN, #endif // MIXING_STEPPERS > 4 #endif // MIXING_STEPPERS > 3 #endif // MIXING_STEPPERS > 2 diff --git a/Marlin/pinsDebug_list.h b/Marlin/pinsDebug_list.h index e6de27a815..800ce10f9e 100644 --- a/Marlin/pinsDebug_list.h +++ b/Marlin/pinsDebug_list.h @@ -200,36 +200,63 @@ #if PIN_EXISTS(E2_AUTO_FAN) REPORT_NAME_DIGITAL(E2_AUTO_FAN_PIN, __LINE__ ) #endif +#if PIN_EXISTS(E2_CS) + REPORT_NAME_DIGITAL(E2_CS_PIN, __LINE__ ) +#endif #if PIN_EXISTS(E2_DIR) REPORT_NAME_DIGITAL(E2_DIR_PIN, __LINE__ ) #endif #if PIN_EXISTS(E2_ENABLE) REPORT_NAME_DIGITAL(E2_ENABLE_PIN, __LINE__ ) #endif +#if PIN_EXISTS(E2_MS1) + REPORT_NAME_DIGITAL(E2_MS1_PIN, __LINE__ ) +#endif +#if PIN_EXISTS(E2_MS2) + REPORT_NAME_DIGITAL(E2_MS2_PIN, __LINE__ ) +#endif #if PIN_EXISTS(E2_STEP) REPORT_NAME_DIGITAL(E2_STEP_PIN, __LINE__ ) #endif #if PIN_EXISTS(E3_AUTO_FAN) REPORT_NAME_DIGITAL(E3_AUTO_FAN_PIN, __LINE__ ) #endif +#if PIN_EXISTS(E3_CS) + REPORT_NAME_DIGITAL(E3_CS_PIN, __LINE__ ) +#endif #if PIN_EXISTS(E3_DIR) REPORT_NAME_DIGITAL(E3_DIR_PIN, __LINE__ ) #endif #if PIN_EXISTS(E3_ENABLE) REPORT_NAME_DIGITAL(E3_ENABLE_PIN, __LINE__ ) #endif +#if PIN_EXISTS(E3_MS1) + REPORT_NAME_DIGITAL(E3_MS1_PIN, __LINE__ ) +#endif +#if PIN_EXISTS(E3_MS2) + REPORT_NAME_DIGITAL(E3_MS2_PIN, __LINE__ ) +#endif #if PIN_EXISTS(E3_STEP) REPORT_NAME_DIGITAL(E3_STEP_PIN, __LINE__ ) #endif #if PIN_EXISTS(E4_AUTO_FAN) REPORT_NAME_DIGITAL(E4_AUTO_FAN_PIN, __LINE__ ) #endif +#if PIN_EXISTS(E4_CS) + REPORT_NAME_DIGITAL(E4_CS_PIN, __LINE__ ) +#endif #if PIN_EXISTS(E4_DIR) REPORT_NAME_DIGITAL(E4_DIR_PIN, __LINE__ ) #endif #if PIN_EXISTS(E4_ENABLE) REPORT_NAME_DIGITAL(E4_ENABLE_PIN, __LINE__ ) #endif +#if PIN_EXISTS(E4_MS1) + REPORT_NAME_DIGITAL(E4_MS1_PIN, __LINE__ ) +#endif +#if PIN_EXISTS(E4_MS2) + REPORT_NAME_DIGITAL(E4_MS2_PIN, __LINE__ ) +#endif #if PIN_EXISTS(E4_STEP) REPORT_NAME_DIGITAL(E4_STEP_PIN, __LINE__ ) #endif