Bladeren bron

Don't protect unused CS pins (#13647)

ManuelMcLure 5 jaren geleden
bovenliggende
commit
492883859e
3 gewijzigde bestanden met toevoegingen van 51 en 29 verwijderingen
  1. 38
    13
      Marlin/src/core/drivers.h
  2. 0
    3
      Marlin/src/inc/Conditionals_post.h
  3. 13
    13
      Marlin/src/pins/sensitive_pins.h

+ 38
- 13
Marlin/src/core/drivers.h Bestand weergeven

@@ -65,20 +65,45 @@
65 65
 
66 66
 #define AXIS_DRIVER_TYPE(A,T) AXIS_DRIVER_TYPE_##A(T)
67 67
 
68
-#define HAS_DRIVER(T)  (AXIS_DRIVER_TYPE_X(T)  || AXIS_DRIVER_TYPE_X2(T) || \
69
-                        AXIS_DRIVER_TYPE_Y(T)  || AXIS_DRIVER_TYPE_Y2(T) || \
70
-                        AXIS_DRIVER_TYPE_Z(T)  || AXIS_DRIVER_TYPE_Z2(T) || AXIS_DRIVER_TYPE_Z3(T) || \
71
-                        AXIS_DRIVER_TYPE_E0(T) || AXIS_DRIVER_TYPE_E1(T) || \
72
-                        AXIS_DRIVER_TYPE_E2(T) || AXIS_DRIVER_TYPE_E3(T) || \
73
-                        AXIS_DRIVER_TYPE_E4(T) || AXIS_DRIVER_TYPE_E5(T) )
68
+#define HAS_DRIVER(T) (    AXIS_DRIVER_TYPE_X(T)  || AXIS_DRIVER_TYPE_X2(T) \
69
+                        || AXIS_DRIVER_TYPE_Y(T)  || AXIS_DRIVER_TYPE_Y2(T) \
70
+                        || AXIS_DRIVER_TYPE_Z(T)  || AXIS_DRIVER_TYPE_Z2(T) || AXIS_DRIVER_TYPE_Z3(T) \
71
+                        || AXIS_DRIVER_TYPE_E0(T) || AXIS_DRIVER_TYPE_E1(T) \
72
+                        || AXIS_DRIVER_TYPE_E2(T) || AXIS_DRIVER_TYPE_E3(T) \
73
+                        || AXIS_DRIVER_TYPE_E4(T) || AXIS_DRIVER_TYPE_E5(T) )
74 74
 
75 75
 // Test for supported TMC drivers that require advanced configuration
76 76
 // Does not match standalone configurations
77
-#define HAS_TRINAMIC ( HAS_DRIVER(TMC2130) || HAS_DRIVER(TMC2160) || HAS_DRIVER(TMC2208) || HAS_DRIVER(TMC2660) || HAS_DRIVER(TMC5130) || HAS_DRIVER(TMC5160) )
77
+#define HAS_TRINAMIC (    HAS_DRIVER(TMC2130) \
78
+                       || HAS_DRIVER(TMC2160) \
79
+                       || HAS_DRIVER(TMC2208) \
80
+                       || HAS_DRIVER(TMC2660) \
81
+                       || HAS_DRIVER(TMC5130) \
82
+                       || HAS_DRIVER(TMC5160) )
78 83
 
79
-#define AXIS_IS_TMC(A) ( AXIS_DRIVER_TYPE_##A(TMC2130) || \
80
-                         AXIS_DRIVER_TYPE_##A(TMC2160) || \
81
-                         AXIS_DRIVER_TYPE_##A(TMC2208) || \
82
-                         AXIS_DRIVER_TYPE_##A(TMC2660) || \
83
-                         AXIS_DRIVER_TYPE_##A(TMC5130) || \
84
-                         AXIS_DRIVER_TYPE_##A(TMC5160))
84
+#define AXIS_IS_TMC(A)   (    AXIS_DRIVER_TYPE(A,TMC2130) \
85
+                           || AXIS_DRIVER_TYPE(A,TMC2160) \
86
+                           || AXIS_DRIVER_TYPE(A,TMC2208) \
87
+                           || AXIS_DRIVER_TYPE(A,TMC2660) \
88
+                           || AXIS_DRIVER_TYPE(A,TMC5130) \
89
+                           || AXIS_DRIVER_TYPE(A,TMC5160) )
90
+
91
+// Test for a driver that uses SPI - this allows checking whether a _CS_ pin
92
+// is considered sensitive
93
+#define AXIS_HAS_SPI(A)  (    AXIS_DRIVER_TYPE(A,TMC2130) \
94
+                           || AXIS_DRIVER_TYPE(A,TMC2160) \
95
+                           || AXIS_DRIVER_TYPE(A,TMC2660) \
96
+                           || AXIS_DRIVER_TYPE(A,TMC5130) \
97
+                           || AXIS_DRIVER_TYPE(A,TMC5160) )
98
+
99
+#define AXIS_HAS_STALLGUARD(A)   (    AXIS_DRIVER_TYPE(A,TMC2130) \
100
+                                   || AXIS_DRIVER_TYPE(A,TMC2160) \
101
+                                   || AXIS_DRIVER_TYPE(A,TMC2660) \
102
+                                   || AXIS_DRIVER_TYPE(A,TMC5130) \
103
+                                   || AXIS_DRIVER_TYPE(A,TMC5160) )
104
+
105
+#define AXIS_HAS_STEALTHCHOP(A)  (    AXIS_DRIVER_TYPE(A,TMC2130) \
106
+                                   || AXIS_DRIVER_TYPE(A,TMC2160) \
107
+                                   || AXIS_DRIVER_TYPE(A,TMC2208) \
108
+                                   || AXIS_DRIVER_TYPE(A,TMC5130) \
109
+                                   || AXIS_DRIVER_TYPE(A,TMC5160) )

+ 0
- 3
Marlin/src/inc/Conditionals_post.h Bestand weergeven

@@ -873,9 +873,6 @@
873 873
   #define TMC_HAS_SPI       (HAS_TMCX1X0 || HAS_DRIVER(TMC2660))
874 874
   #define HAS_STALLGUARD    (HAS_TMCX1X0 || HAS_DRIVER(TMC2660))
875 875
   #define HAS_STEALTHCHOP   (HAS_TMCX1X0 || HAS_DRIVER(TMC2208))
876
-  #define AXIS_HAS_SPI(ST)         (AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2160) || AXIS_DRIVER_TYPE(ST, TMC2660))
877
-  #define AXIS_HAS_STALLGUARD(ST)  (AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2160) || AXIS_DRIVER_TYPE(ST, TMC2660) || AXIS_DRIVER_TYPE(ST, TMC5130) || AXIS_DRIVER_TYPE(ST, TMC5160))
878
-  #define AXIS_HAS_STEALTHCHOP(ST) (AXIS_DRIVER_TYPE(ST, TMC2130) || AXIS_DRIVER_TYPE(ST, TMC2160) || AXIS_DRIVER_TYPE(ST, TMC2208) || AXIS_DRIVER_TYPE(ST, TMC5130) || AXIS_DRIVER_TYPE(ST, TMC5160))
879 876
 
880 877
   #define STEALTHCHOP_ENABLED ANY(STEALTHCHOP_XY, STEALTHCHOP_Z, STEALTHCHOP_E)
881 878
   #define USE_SENSORLESS EITHER(SENSORLESS_HOMING, SENSORLESS_PROBING)

+ 13
- 13
Marlin/src/pins/sensitive_pins.h Bestand weergeven

@@ -35,7 +35,7 @@
35 35
 #else
36 36
   #define _X_MAX
37 37
 #endif
38
-#if PIN_EXISTS(X_CS)
38
+#if PIN_EXISTS(X_CS) && AXIS_HAS_SPI(X)
39 39
   #define _X_CS X_CS_PIN,
40 40
 #else
41 41
   #define _X_CS
@@ -68,7 +68,7 @@
68 68
 #else
69 69
   #define _Y_MAX
70 70
 #endif
71
-#if PIN_EXISTS(Y_CS)
71
+#if PIN_EXISTS(Y_CS) && AXIS_HAS_SPI(Y)
72 72
   #define _Y_CS Y_CS_PIN,
73 73
 #else
74 74
   #define _Y_CS
@@ -101,7 +101,7 @@
101 101
 #else
102 102
   #define _Z_MAX
103 103
 #endif
104
-#if PIN_EXISTS(Z_CS)
104
+#if PIN_EXISTS(Z_CS) && AXIS_HAS_SPI(Z)
105 105
   #define _Z_CS Z_CS_PIN,
106 106
 #else
107 107
   #define _Z_CS
@@ -139,7 +139,7 @@
139 139
 #define _E0_MS3
140 140
 
141 141
 #if E_NEEDED(0)
142
-  #if PIN_EXISTS(E0_CS)
142
+  #if PIN_EXISTS(E0_CS) && AXIS_HAS_SPI(E0)
143 143
     #undef _E0_CS
144 144
     #define _E0_CS E0_CS_PIN,
145 145
   #endif
@@ -163,7 +163,7 @@
163 163
 #define _E1_MS3
164 164
 
165 165
 #if E_NEEDED(1)
166
-  #if PIN_EXISTS(E1_CS)
166
+  #if PIN_EXISTS(E1_CS) && AXIS_HAS_SPI(E1)
167 167
     #undef _E1_CS
168 168
     #define _E1_CS E1_CS_PIN,
169 169
   #endif
@@ -187,7 +187,7 @@
187 187
 #define _E2_MS3
188 188
 
189 189
 #if E_NEEDED(2)
190
-  #if PIN_EXISTS(E2_CS)
190
+  #if PIN_EXISTS(E2_CS) && AXIS_HAS_SPI(E2)
191 191
     #undef _E2_CS
192 192
     #define _E2_CS E2_CS_PIN,
193 193
   #endif
@@ -211,7 +211,7 @@
211 211
 #define _E3_MS3
212 212
 
213 213
 #if E_NEEDED(3)
214
-  #if PIN_EXISTS(E3_CS)
214
+  #if PIN_EXISTS(E3_CS) && AXIS_HAS_SPI(E3)
215 215
     #undef _E3_CS
216 216
     #define _E3_CS E3_CS_PIN,
217 217
   #endif
@@ -235,7 +235,7 @@
235 235
 #define _E4_MS3
236 236
 
237 237
 #if E_NEEDED(4)
238
-  #if PIN_EXISTS(E4_CS)
238
+  #if PIN_EXISTS(E4_CS) && AXIS_HAS_SPI(E4)
239 239
     #undef _E4_CS
240 240
     #define _E4_CS E4_CS_PIN,
241 241
   #endif
@@ -259,7 +259,7 @@
259 259
 #define _E5_MS3
260 260
 
261 261
 #if E_NEEDED(5)
262
-  #if PIN_EXISTS(E5_CS)
262
+  #if PIN_EXISTS(E5_CS) && AXIS_HAS_SPI(E5)
263 263
     #undef _E5_CS
264 264
     #define _E5_CS E5_CS_PIN,
265 265
   #endif
@@ -368,7 +368,7 @@
368 368
 //
369 369
 
370 370
 #if EITHER(DUAL_X_CARRIAGE, X_DUAL_STEPPER_DRIVERS)
371
-  #if PIN_EXISTS(X2_CS)
371
+  #if PIN_EXISTS(X2_CS) && AXIS_HAS_SPI(X2)
372 372
     #define _X2_CS X2_CS_PIN,
373 373
   #else
374 374
     #define _X2_CS
@@ -394,7 +394,7 @@
394 394
 #endif
395 395
 
396 396
 #if ENABLED(Y_DUAL_STEPPER_DRIVERS)
397
-  #if PIN_EXISTS(Y2_CS)
397
+  #if PIN_EXISTS(Y2_CS) && AXIS_HAS_SPI(Y2)
398 398
     #define _Y2_CS Y2_CS_PIN,
399 399
   #else
400 400
     #define _Y2_CS
@@ -420,7 +420,7 @@
420 420
 #endif
421 421
 
422 422
 #if Z_MULTI_STEPPER_DRIVERS
423
-  #if PIN_EXISTS(Z2_CS)
423
+  #if PIN_EXISTS(Z2_CS) && AXIS_HAS_SPI(Z2)
424 424
     #define _Z2_CS Z2_CS_PIN,
425 425
   #else
426 426
     #define _Z2_CS
@@ -446,7 +446,7 @@
446 446
 #endif
447 447
 
448 448
 #if ENABLED(Z_TRIPLE_STEPPER_DRIVERS)
449
-  #if PIN_EXISTS(Z3_CS)
449
+  #if PIN_EXISTS(Z3_CS) && AXIS_HAS_SPI(Z3)
450 450
     #define _Z3_CS Z3_CS_PIN,
451 451
   #else
452 452
     #define _Z3_CS

Laden…
Annuleren
Opslaan