ソースを参照

Fix up, improve endstop pin auto-assignment

Followup for #16723
Scott Lahteine 5年前
コミット
62f52ebb3a

+ 3
- 9
Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_3.h ファイルの表示

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

+ 3
- 6
Marlin/src/pins/lpc1768/pins_BTT_SKR_V1_4.h ファイルの表示

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

+ 37
- 13
Marlin/src/pins/pins.h ファイルの表示

1026
 #ifdef X_STOP_PIN
1026
 #ifdef X_STOP_PIN
1027
   #if X_HOME_DIR < 0
1027
   #if X_HOME_DIR < 0
1028
     #define X_MIN_PIN X_STOP_PIN
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
   #else
1032
   #else
1031
-    #define X_MIN_PIN -1
1032
     #define X_MAX_PIN X_STOP_PIN
1033
     #define X_MAX_PIN X_STOP_PIN
1034
+    #ifndef X_MIN_PIN
1035
+      #define X_MIN_PIN -1
1036
+    #endif
1033
   #endif
1037
   #endif
1034
 #elif X_HOME_DIR < 0
1038
 #elif X_HOME_DIR < 0
1035
   #define X_STOP_PIN X_MIN_PIN
1039
   #define X_STOP_PIN X_MIN_PIN
1040
 #ifdef Y_STOP_PIN
1044
 #ifdef Y_STOP_PIN
1041
   #if Y_HOME_DIR < 0
1045
   #if Y_HOME_DIR < 0
1042
     #define Y_MIN_PIN Y_STOP_PIN
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
   #else
1050
   #else
1045
-    #define Y_MIN_PIN -1
1046
     #define Y_MAX_PIN Y_STOP_PIN
1051
     #define Y_MAX_PIN Y_STOP_PIN
1052
+    #ifndef Y_MIN_PIN
1053
+      #define Y_MIN_PIN -1
1054
+    #endif
1047
   #endif
1055
   #endif
1048
 #elif Y_HOME_DIR < 0
1056
 #elif Y_HOME_DIR < 0
1049
   #define Y_STOP_PIN Y_MIN_PIN
1057
   #define Y_STOP_PIN Y_MIN_PIN
1054
 #ifdef Z_STOP_PIN
1062
 #ifdef Z_STOP_PIN
1055
   #if Z_HOME_DIR < 0
1063
   #if Z_HOME_DIR < 0
1056
     #define Z_MIN_PIN Z_STOP_PIN
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
   #else
1068
   #else
1059
-    #define Z_MIN_PIN -1
1060
     #define Z_MAX_PIN Z_STOP_PIN
1069
     #define Z_MAX_PIN Z_STOP_PIN
1070
+    #ifndef Z_MIN_PIN
1071
+      #define Z_MIN_PIN -1
1072
+    #endif
1061
   #endif
1073
   #endif
1062
 #elif Z_HOME_DIR < 0
1074
 #elif Z_HOME_DIR < 0
1063
   #define Z_STOP_PIN Z_MIN_PIN
1075
   #define Z_STOP_PIN Z_MIN_PIN
1127
  * overridden in Configuration.h or Configuration_adv.h.
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
 #define __EPIN(p,q) E##p##_##q##_PIN
1144
 #define __EPIN(p,q) E##p##_##q##_PIN
1131
 #define _EPIN(p,q) __EPIN(p,q)
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
 // The X2 axis, if any, should be the next open extruder port
1148
 // The X2 axis, if any, should be the next open extruder port
1135
 #define X2_E_INDEX E_STEPPERS
1149
 #define X2_E_INDEX E_STEPPERS
1167
   //
1181
   //
1168
   // Auto-assign pins for stallGuard sensorless homing
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
     #if   DIAG_REMAPPED(X2, X_MIN)      // If already remapped in the pins file...
1186
     #if   DIAG_REMAPPED(X2, X_MIN)      // If already remapped in the pins file...
1172
       #define X2_USE_ENDSTOP _XMIN_
1187
       #define X2_USE_ENDSTOP _XMIN_
1173
     #elif DIAG_REMAPPED(X2, Y_MIN)
1188
     #elif DIAG_REMAPPED(X2, Y_MIN)
1184
       #define _X2_USE_ENDSTOP(P) _E##P##_DIAG_
1199
       #define _X2_USE_ENDSTOP(P) _E##P##_DIAG_
1185
       #define X2_USE_ENDSTOP _X2_USE_ENDSTOP(X2_E_INDEX)
1200
       #define X2_USE_ENDSTOP _X2_USE_ENDSTOP(X2_E_INDEX)
1186
     #endif
1201
     #endif
1202
+    #undef X2_DIAG_PIN
1187
   #endif
1203
   #endif
1188
 
1204
 
1189
   #define Y2_E_INDEX INCREMENT(X2_E_INDEX)
1205
   #define Y2_E_INDEX INCREMENT(X2_E_INDEX)
1234
       #define Y2_SERIAL_RX_PIN _EPIN(Y2_E_INDEX, SERIAL_RX)
1250
       #define Y2_SERIAL_RX_PIN _EPIN(Y2_E_INDEX, SERIAL_RX)
1235
     #endif
1251
     #endif
1236
   #endif
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
     #if   DIAG_REMAPPED(Y2, X_MIN)
1255
     #if   DIAG_REMAPPED(Y2, X_MIN)
1239
       #define Y2_USE_ENDSTOP _XMIN_
1256
       #define Y2_USE_ENDSTOP _XMIN_
1240
     #elif DIAG_REMAPPED(Y2, Y_MIN)
1257
     #elif DIAG_REMAPPED(Y2, Y_MIN)
1251
       #define _Y2_USE_ENDSTOP(P) _E##P##_DIAG_
1268
       #define _Y2_USE_ENDSTOP(P) _E##P##_DIAG_
1252
       #define Y2_USE_ENDSTOP _Y2_USE_ENDSTOP(Y2_E_INDEX)
1269
       #define Y2_USE_ENDSTOP _Y2_USE_ENDSTOP(Y2_E_INDEX)
1253
     #endif
1270
     #endif
1271
+    #undef Y2_DIAG_PIN
1254
   #endif
1272
   #endif
1255
   #define Z2_E_INDEX INCREMENT(Y2_E_INDEX)
1273
   #define Z2_E_INDEX INCREMENT(Y2_E_INDEX)
1256
 #else
1274
 #else
1300
       #define Z2_SERIAL_RX_PIN _EPIN(Z2_E_INDEX, SERIAL_RX)
1318
       #define Z2_SERIAL_RX_PIN _EPIN(Z2_E_INDEX, SERIAL_RX)
1301
     #endif
1319
     #endif
1302
   #endif
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
     #if   DIAG_REMAPPED(Z2, X_MIN)
1323
     #if   DIAG_REMAPPED(Z2, X_MIN)
1305
       #define Z2_USE_ENDSTOP _XMIN_
1324
       #define Z2_USE_ENDSTOP _XMIN_
1306
     #elif DIAG_REMAPPED(Z2, Y_MIN)
1325
     #elif DIAG_REMAPPED(Z2, Y_MIN)
1317
       #define _Z2_USE_ENDSTOP(P) _E##P##_DIAG_
1336
       #define _Z2_USE_ENDSTOP(P) _E##P##_DIAG_
1318
       #define Z2_USE_ENDSTOP _Z2_USE_ENDSTOP(Z2_E_INDEX)
1337
       #define Z2_USE_ENDSTOP _Z2_USE_ENDSTOP(Z2_E_INDEX)
1319
     #endif
1338
     #endif
1339
+    #undef Z2_DIAG_PIN
1320
   #endif
1340
   #endif
1321
   #define Z3_E_INDEX INCREMENT(Z2_E_INDEX)
1341
   #define Z3_E_INDEX INCREMENT(Z2_E_INDEX)
1322
 #else
1342
 #else
1367
       #define Z3_SERIAL_RX_PIN _EPIN(Z3_E_INDEX, SERIAL_RX)
1387
       #define Z3_SERIAL_RX_PIN _EPIN(Z3_E_INDEX, SERIAL_RX)
1368
     #endif
1388
     #endif
1369
   #endif
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
     #if   DIAG_REMAPPED(Z3, X_MIN)
1392
     #if   DIAG_REMAPPED(Z3, X_MIN)
1372
       #define Z3_USE_ENDSTOP _XMIN_
1393
       #define Z3_USE_ENDSTOP _XMIN_
1373
     #elif DIAG_REMAPPED(Z3, Y_MIN)
1394
     #elif DIAG_REMAPPED(Z3, Y_MIN)
1382
       #define Z3_USE_ENDSTOP _ZMAX_
1403
       #define Z3_USE_ENDSTOP _ZMAX_
1383
     #else
1404
     #else
1384
       #define _Z3_USE_ENDSTOP(P) _E##P##_DIAG_
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
     #endif
1407
     #endif
1408
+    #undef Z3_DIAG_PIN
1387
   #endif
1409
   #endif
1388
   #define Z4_E_INDEX INCREMENT(Z3_E_INDEX)
1410
   #define Z4_E_INDEX INCREMENT(Z3_E_INDEX)
1389
 #endif
1411
 #endif
1432
       #define Z4_SERIAL_RX_PIN _EPIN(Z4_E_INDEX, SERIAL_RX)
1454
       #define Z4_SERIAL_RX_PIN _EPIN(Z4_E_INDEX, SERIAL_RX)
1433
     #endif
1455
     #endif
1434
   #endif
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
     #if   DIAG_REMAPPED(Z4, X_MIN)
1459
     #if   DIAG_REMAPPED(Z4, X_MIN)
1437
       #define Z4_USE_ENDSTOP _XMIN_
1460
       #define Z4_USE_ENDSTOP _XMIN_
1438
     #elif DIAG_REMAPPED(Z4, Y_MIN)
1461
     #elif DIAG_REMAPPED(Z4, Y_MIN)
1449
       #define _Z4_USE_ENDSTOP(P) _E##P##_DIAG_
1472
       #define _Z4_USE_ENDSTOP(P) _E##P##_DIAG_
1450
       #define Z4_USE_ENDSTOP _Z4_USE_ENDSTOP(Z4_E_INDEX)
1473
       #define Z4_USE_ENDSTOP _Z4_USE_ENDSTOP(Z4_E_INDEX)
1451
     #endif
1474
     #endif
1475
+    #undef Z4_DIAG_PIN
1452
   #endif
1476
   #endif
1453
 #endif
1477
 #endif
1454
 
1478
 

読み込み中…
キャンセル
保存