Pārlūkot izejas kodu

Fix up, improve endstop pin auto-assignment

Followup for #16723
Scott Lahteine 4 gadus atpakaļ
vecāks
revīzija
62f52ebb3a

+ 3
- 9
Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h Parādīt failu

@@ -36,11 +36,10 @@
36 36
  * Limit Switches
37 37
  */
38 38
 #if X_STALL_SENSITIVITY
39
+  #define X_STOP_PIN         X_DIAG_PIN
39 40
   #if X_HOME_DIR < 0
40
-    #define X_MIN_PIN        X_DIAG_PIN
41 41
     #define X_MAX_PIN        P1_28   // X+
42 42
   #else
43
-    #define X_MAX_PIN        X_DIAG_PIN
44 43
     #define X_MIN_PIN        P1_28   // X+
45 44
   #endif
46 45
 #else
@@ -49,11 +48,10 @@
49 48
 #endif
50 49
 
51 50
 #if Y_STALL_SENSITIVITY
51
+  #define Y_STOP_PIN         Y_DIAG_PIN
52 52
   #if Y_HOME_DIR < 0
53
-    #define Y_MIN_PIN        Y_DIAG_PIN
54 53
     #define Y_MAX_PIN        P1_26   // Y+
55 54
   #else
56
-    #define Y_MAX_PIN        Y_DIAG_PIN
57 55
     #define Y_MIN_PIN        P1_26   // Y+
58 56
   #endif
59 57
 #else
@@ -62,11 +60,10 @@
62 60
 #endif
63 61
 
64 62
 #if Z_STALL_SENSITIVITY
63
+  #define Z_STOP_PIN         Z_DIAG_PIN
65 64
   #if Z_HOME_DIR < 0
66
-    #define Z_MIN_PIN        Z_DIAG_PIN
67 65
     #define Z_MAX_PIN        P1_24   // Z+
68 66
   #else
69
-    #define Z_MAX_PIN        Z_DIAG_PIN
70 67
     #define Z_MIN_PIN        P1_24   // Z+
71 68
   #endif
72 69
 #else
@@ -184,9 +181,6 @@
184 181
   #define E1_SERIAL_TX_PIN P1_04
185 182
   #define E1_SERIAL_RX_PIN P1_01
186 183
 
187
-  #define Z2_SERIAL_TX_PIN P1_04
188
-  #define Z2_SERIAL_RX_PIN P1_01
189
-
190 184
   // Reduce baud rate to improve software serial reliability
191 185
   #define TMC_BAUD_RATE 19200
192 186
 #endif

+ 3
- 6
Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h Parādīt failu

@@ -50,11 +50,10 @@
50 50
 // Limit Switches
51 51
 //
52 52
 #if X_STALL_SENSITIVITY
53
+  #define X_STOP_PIN       X_DIAG_PIN
53 54
   #if X_HOME_DIR < 0
54
-    #define X_MIN_PIN      X_DIAG_PIN
55 55
     #define X_MAX_PIN      P1_26   // E0DET
56 56
   #else
57
-    #define X_MAX_PIN      X_DIAG_PIN
58 57
     #define X_MIN_PIN      P1_26   // E0DET
59 58
   #endif
60 59
 #else
@@ -62,11 +61,10 @@
62 61
 #endif
63 62
 
64 63
 #if Y_STALL_SENSITIVITY
64
+  #define Y_STOP_PIN       Y_DIAG_PIN
65 65
   #if Y_HOME_DIR < 0
66
-    #define Y_MIN_PIN      Y_DIAG_PIN
67 66
     #define Y_MAX_PIN      P1_25   // E1DET
68 67
   #else
69
-    #define Y_MAX_PIN      Y_DIAG_PIN
70 68
     #define Y_MIN_PIN      P1_25   // E1DET
71 69
   #endif
72 70
 #else
@@ -74,11 +72,10 @@
74 72
 #endif
75 73
 
76 74
 #if Z_STALL_SENSITIVITY
75
+  #define Z_STOP_PIN       Z_DIAG_PIN
77 76
   #if Z_HOME_DIR < 0
78
-    #define Z_MIN_PIN      Z_DIAG_PIN
79 77
     #define Z_MAX_PIN      P1_24   // PWRDET
80 78
   #else
81
-    #define Z_MAX_PIN      Z_DIAG_PIN
82 79
     #define Z_MIN_PIN      P1_24   // PWRDET
83 80
   #endif
84 81
 #else

+ 37
- 13
Marlin/src/pins/pins.h Parādīt failu

@@ -1026,10 +1026,14 @@
1026 1026
 #ifdef X_STOP_PIN
1027 1027
   #if X_HOME_DIR < 0
1028 1028
     #define X_MIN_PIN X_STOP_PIN
1029
-    #define X_MAX_PIN -1
1029
+    #ifndef X_MAX_PIN
1030
+      #define X_MAX_PIN -1
1031
+    #endif
1030 1032
   #else
1031
-    #define X_MIN_PIN -1
1032 1033
     #define X_MAX_PIN X_STOP_PIN
1034
+    #ifndef X_MIN_PIN
1035
+      #define X_MIN_PIN -1
1036
+    #endif
1033 1037
   #endif
1034 1038
 #elif X_HOME_DIR < 0
1035 1039
   #define X_STOP_PIN X_MIN_PIN
@@ -1040,10 +1044,14 @@
1040 1044
 #ifdef Y_STOP_PIN
1041 1045
   #if Y_HOME_DIR < 0
1042 1046
     #define Y_MIN_PIN Y_STOP_PIN
1043
-    #define Y_MAX_PIN -1
1047
+    #ifndef Y_MAX_PIN
1048
+      #define Y_MAX_PIN -1
1049
+    #endif
1044 1050
   #else
1045
-    #define Y_MIN_PIN -1
1046 1051
     #define Y_MAX_PIN Y_STOP_PIN
1052
+    #ifndef Y_MIN_PIN
1053
+      #define Y_MIN_PIN -1
1054
+    #endif
1047 1055
   #endif
1048 1056
 #elif Y_HOME_DIR < 0
1049 1057
   #define Y_STOP_PIN Y_MIN_PIN
@@ -1054,10 +1062,14 @@
1054 1062
 #ifdef Z_STOP_PIN
1055 1063
   #if Z_HOME_DIR < 0
1056 1064
     #define Z_MIN_PIN Z_STOP_PIN
1057
-    #define Z_MAX_PIN -1
1065
+    #ifndef Z_MAX_PIN
1066
+      #define Z_MAX_PIN -1
1067
+    #endif
1058 1068
   #else
1059
-    #define Z_MIN_PIN -1
1060 1069
     #define Z_MAX_PIN Z_STOP_PIN
1070
+    #ifndef Z_MIN_PIN
1071
+      #define Z_MIN_PIN -1
1072
+    #endif
1061 1073
   #endif
1062 1074
 #elif Z_HOME_DIR < 0
1063 1075
   #define Z_STOP_PIN Z_MIN_PIN
@@ -1127,9 +1139,11 @@
1127 1139
  * overridden in Configuration.h or Configuration_adv.h.
1128 1140
  */
1129 1141
 
1142
+#define __PEXI(p,q) PIN_EXISTS(E##p##_##q)
1143
+#define _PEXI(p,q) __PEXI(p,q)
1130 1144
 #define __EPIN(p,q) E##p##_##q##_PIN
1131 1145
 #define _EPIN(p,q) __EPIN(p,q)
1132
-#define DIAG_REMAPPED(P,Q) (PIN_EXISTS(Q) && (P##_DIAG_PIN == Q##_PIN))
1146
+#define DIAG_REMAPPED(p,q) (PIN_EXISTS(q) && _EPIN(p##_E_INDEX, DIAG) == q##_PIN)
1133 1147
 
1134 1148
 // The X2 axis, if any, should be the next open extruder port
1135 1149
 #define X2_E_INDEX E_STEPPERS
@@ -1167,7 +1181,8 @@
1167 1181
   //
1168 1182
   // Auto-assign pins for stallGuard sensorless homing
1169 1183
   //
1170
-  #if X2_STALL_SENSITIVITY && ENABLED(X_DUAL_ENDSTOPS) && _EPIN(X2_E_INDEX, DIAG) > 0
1184
+  #if X2_STALL_SENSITIVITY && ENABLED(X_DUAL_ENDSTOPS) && _PEXI(X2_E_INDEX, DIAG)
1185
+    #define X2_DIAG_PIN _EPIN(X2_E_INDEX, DIAG)
1171 1186
     #if   DIAG_REMAPPED(X2, X_MIN)      // If already remapped in the pins file...
1172 1187
       #define X2_USE_ENDSTOP _XMIN_
1173 1188
     #elif DIAG_REMAPPED(X2, Y_MIN)
@@ -1184,6 +1199,7 @@
1184 1199
       #define _X2_USE_ENDSTOP(P) _E##P##_DIAG_
1185 1200
       #define X2_USE_ENDSTOP _X2_USE_ENDSTOP(X2_E_INDEX)
1186 1201
     #endif
1202
+    #undef X2_DIAG_PIN
1187 1203
   #endif
1188 1204
 
1189 1205
   #define Y2_E_INDEX INCREMENT(X2_E_INDEX)
@@ -1234,7 +1250,8 @@
1234 1250
       #define Y2_SERIAL_RX_PIN _EPIN(Y2_E_INDEX, SERIAL_RX)
1235 1251
     #endif
1236 1252
   #endif
1237
-  #if Y2_STALL_SENSITIVITY && ENABLED(X_DUAL_ENDSTOPS) && _EPIN(Y2_E_INDEX, DIAG) > 0
1253
+  #if Y2_STALL_SENSITIVITY && ENABLED(Y_DUAL_ENDSTOPS) && _PEXI(Y2_E_INDEX, DIAG)
1254
+    #define Y2_DIAG_PIN _EPIN(Y2_E_INDEX, DIAG)
1238 1255
     #if   DIAG_REMAPPED(Y2, X_MIN)
1239 1256
       #define Y2_USE_ENDSTOP _XMIN_
1240 1257
     #elif DIAG_REMAPPED(Y2, Y_MIN)
@@ -1251,6 +1268,7 @@
1251 1268
       #define _Y2_USE_ENDSTOP(P) _E##P##_DIAG_
1252 1269
       #define Y2_USE_ENDSTOP _Y2_USE_ENDSTOP(Y2_E_INDEX)
1253 1270
     #endif
1271
+    #undef Y2_DIAG_PIN
1254 1272
   #endif
1255 1273
   #define Z2_E_INDEX INCREMENT(Y2_E_INDEX)
1256 1274
 #else
@@ -1300,7 +1318,8 @@
1300 1318
       #define Z2_SERIAL_RX_PIN _EPIN(Z2_E_INDEX, SERIAL_RX)
1301 1319
     #endif
1302 1320
   #endif
1303
-  #if Z2_STALL_SENSITIVITY && ENABLED(X_DUAL_ENDSTOPS) && _EPIN(Z2_E_INDEX, DIAG) > 0
1321
+  #if Z2_STALL_SENSITIVITY && ENABLED(Z_MULTI_ENDSTOPS) && NUM_Z_STEPPER_DRIVERS >= 2 && _PEXI(Z2_E_INDEX, DIAG)
1322
+    #define Z2_DIAG_PIN _EPIN(Z2_E_INDEX, DIAG)
1304 1323
     #if   DIAG_REMAPPED(Z2, X_MIN)
1305 1324
       #define Z2_USE_ENDSTOP _XMIN_
1306 1325
     #elif DIAG_REMAPPED(Z2, Y_MIN)
@@ -1317,6 +1336,7 @@
1317 1336
       #define _Z2_USE_ENDSTOP(P) _E##P##_DIAG_
1318 1337
       #define Z2_USE_ENDSTOP _Z2_USE_ENDSTOP(Z2_E_INDEX)
1319 1338
     #endif
1339
+    #undef Z2_DIAG_PIN
1320 1340
   #endif
1321 1341
   #define Z3_E_INDEX INCREMENT(Z2_E_INDEX)
1322 1342
 #else
@@ -1367,7 +1387,8 @@
1367 1387
       #define Z3_SERIAL_RX_PIN _EPIN(Z3_E_INDEX, SERIAL_RX)
1368 1388
     #endif
1369 1389
   #endif
1370
-  #if Z3_STALL_SENSITIVITY && ENABLED(X_DUAL_ENDSTOPS) && _EPIN(Z3_E_INDEX, DIAG) > 0
1390
+  #if Z3_STALL_SENSITIVITY && ENABLED(Z_MULTI_ENDSTOPS) && NUM_Z_STEPPER_DRIVERS >= 3 && _PEXI(Z3_E_INDEX, DIAG)
1391
+    #define Z3_DIAG_PIN _EPIN(Z3_E_INDEX, DIAG)
1371 1392
     #if   DIAG_REMAPPED(Z3, X_MIN)
1372 1393
       #define Z3_USE_ENDSTOP _XMIN_
1373 1394
     #elif DIAG_REMAPPED(Z3, Y_MIN)
@@ -1382,8 +1403,9 @@
1382 1403
       #define Z3_USE_ENDSTOP _ZMAX_
1383 1404
     #else
1384 1405
       #define _Z3_USE_ENDSTOP(P) _E##P##_DIAG_
1385
-      #define Z3_USE_ENDSTOP _Y2_USE_ENDSTOP(Y2_E_INDEX)
1406
+      #define Z3_USE_ENDSTOP _Z3_USE_ENDSTOP(Z3_E_INDEX)
1386 1407
     #endif
1408
+    #undef Z3_DIAG_PIN
1387 1409
   #endif
1388 1410
   #define Z4_E_INDEX INCREMENT(Z3_E_INDEX)
1389 1411
 #endif
@@ -1432,7 +1454,8 @@
1432 1454
       #define Z4_SERIAL_RX_PIN _EPIN(Z4_E_INDEX, SERIAL_RX)
1433 1455
     #endif
1434 1456
   #endif
1435
-  #if Z4_STALL_SENSITIVITY && ENABLED(X_DUAL_ENDSTOPS) && _EPIN(Z4_E_INDEX, DIAG) > 0
1457
+  #if Z4_STALL_SENSITIVITY && ENABLED(Z_MULTI_ENDSTOPS) && NUM_Z_STEPPER_DRIVERS >= 4 && _PEXI(Z4_E_INDEX, DIAG)
1458
+    #define Z4_DIAG_PIN _EPIN(Z4_E_INDEX, DIAG)
1436 1459
     #if   DIAG_REMAPPED(Z4, X_MIN)
1437 1460
       #define Z4_USE_ENDSTOP _XMIN_
1438 1461
     #elif DIAG_REMAPPED(Z4, Y_MIN)
@@ -1449,6 +1472,7 @@
1449 1472
       #define _Z4_USE_ENDSTOP(P) _E##P##_DIAG_
1450 1473
       #define Z4_USE_ENDSTOP _Z4_USE_ENDSTOP(Z4_E_INDEX)
1451 1474
     #endif
1475
+    #undef Z4_DIAG_PIN
1452 1476
   #endif
1453 1477
 #endif
1454 1478
 

Notiek ielāde…
Atcelt
Saglabāt