Browse Source

🐛 Fix up endstop flags (#22487)

Scott Lahteine 3 years ago
parent
commit
0060dbc49e
No account linked to committer's email address

+ 39
- 32
Marlin/src/inc/Conditionals_post.h View File

2122
 #define IS_Z4_ENDSTOP(A,M) (ENABLED(Z_MULTI_ENDSTOPS) && NUM_Z_STEPPER_DRIVERS >= 4 && Z4_USE_ENDSTOP == _##A##M##_)
2122
 #define IS_Z4_ENDSTOP(A,M) (ENABLED(Z_MULTI_ENDSTOPS) && NUM_Z_STEPPER_DRIVERS >= 4 && Z4_USE_ENDSTOP == _##A##M##_)
2123
 
2123
 
2124
 #define _HAS_STOP(A,M) (PIN_EXISTS(A##_##M) && !IS_PROBE_PIN(A,M) && !IS_X2_ENDSTOP(A,M) && !IS_Y2_ENDSTOP(A,M) && !IS_Z2_ENDSTOP(A,M) && !IS_Z3_ENDSTOP(A,M) && !IS_Z4_ENDSTOP(A,M))
2124
 #define _HAS_STOP(A,M) (PIN_EXISTS(A##_##M) && !IS_PROBE_PIN(A,M) && !IS_X2_ENDSTOP(A,M) && !IS_Y2_ENDSTOP(A,M) && !IS_Z2_ENDSTOP(A,M) && !IS_Z3_ENDSTOP(A,M) && !IS_Z4_ENDSTOP(A,M))
2125
-#if _HAS_STOP(X,MIN)
2125
+#if BOTH(X_HOME_TO_MIN, USE_XMIN_PLUG) && _HAS_STOP(X,MIN)
2126
   #define HAS_X_MIN 1
2126
   #define HAS_X_MIN 1
2127
 #endif
2127
 #endif
2128
-#if _HAS_STOP(X,MAX)
2128
+#if (BOTH(X_HOME_TO_MAX, USE_XMAX_PLUG) || ENABLED(DUAL_X_CARRIAGE)) && _HAS_STOP(X,MAX)
2129
   #define HAS_X_MAX 1
2129
   #define HAS_X_MAX 1
2130
 #endif
2130
 #endif
2131
-#if HAS_Y_AXIS && _HAS_STOP(Y,MIN)
2131
+#if ALL(HAS_Y_AXIS, Y_HOME_TO_MIN, USE_YMIN_PLUG) && _HAS_STOP(Y,MIN)
2132
   #define HAS_Y_MIN 1
2132
   #define HAS_Y_MIN 1
2133
 #endif
2133
 #endif
2134
-#if HAS_Y_AXIS && _HAS_STOP(Y,MAX)
2134
+#if ALL(HAS_Y_AXIS, Y_HOME_TO_MAX, USE_YMAX_PLUG) && _HAS_STOP(Y,MAX)
2135
   #define HAS_Y_MAX 1
2135
   #define HAS_Y_MAX 1
2136
 #endif
2136
 #endif
2137
 #if BOTH(HAS_Z_AXIS, USE_ZMIN_PLUG) && _HAS_STOP(Z,MIN)
2137
 #if BOTH(HAS_Z_AXIS, USE_ZMIN_PLUG) && _HAS_STOP(Z,MIN)
2138
   #define HAS_Z_MIN 1
2138
   #define HAS_Z_MIN 1
2139
 #endif
2139
 #endif
2140
-#if BOTH(HAS_Z_AXIS, USE_ZMAX_PLUG) && _HAS_STOP(Z,MAX)
2140
+#if ALL(HAS_Z_AXIS, Z_HOME_TO_MAX, USE_ZMAX_PLUG) && _HAS_STOP(Z,MAX)
2141
   #define HAS_Z_MAX 1
2141
   #define HAS_Z_MAX 1
2142
 #endif
2142
 #endif
2143
-#if _HAS_STOP(I,MIN)
2143
+#if LINEAR_AXES >= 4 && BOTH(I_HOME_TO_MIN, USE_IMIN_PLUG) && _HAS_STOP(I,MIN)
2144
   #define HAS_I_MIN 1
2144
   #define HAS_I_MIN 1
2145
 #endif
2145
 #endif
2146
-#if _HAS_STOP(I,MAX)
2146
+#if LINEAR_AXES >= 4 && BOTH(I_HOME_TO_MAX, USE_IMAX_PLUG) && _HAS_STOP(I,MAX)
2147
   #define HAS_I_MAX 1
2147
   #define HAS_I_MAX 1
2148
 #endif
2148
 #endif
2149
-#if _HAS_STOP(J,MIN)
2149
+#if LINEAR_AXES >= 5 && BOTH(J_HOME_TO_MIN, USE_JMIN_PLUG) && _HAS_STOP(J,MIN)
2150
   #define HAS_J_MIN 1
2150
   #define HAS_J_MIN 1
2151
 #endif
2151
 #endif
2152
-#if _HAS_STOP(J,MAX)
2152
+#if LINEAR_AXES >= 5 && BOTH(J_HOME_TO_MAX, USE_JMAX_PLUG) && _HAS_STOP(J,MAX)
2153
   #define HAS_J_MAX 1
2153
   #define HAS_J_MAX 1
2154
 #endif
2154
 #endif
2155
-#if _HAS_STOP(K,MIN)
2155
+#if LINEAR_AXES >= 6 && BOTH(K_HOME_TO_MIN, USE_KMIN_PLUG) && _HAS_STOP(K,MIN)
2156
   #define HAS_K_MIN 1
2156
   #define HAS_K_MIN 1
2157
 #endif
2157
 #endif
2158
-#if _HAS_STOP(K,MAX)
2158
+#if LINEAR_AXES >= 6 && BOTH(K_HOME_TO_MAX, USE_KMAX_PLUG) && _HAS_STOP(K,MAX)
2159
   #define HAS_K_MAX 1
2159
   #define HAS_K_MAX 1
2160
 #endif
2160
 #endif
2161
-#if PIN_EXISTS(X2_MIN)
2161
+#if BOTH(X_HOME_TO_MIN, X_DUAL_ENDSTOPS) && PIN_EXISTS(X2_MIN)
2162
   #define HAS_X2_MIN 1
2162
   #define HAS_X2_MIN 1
2163
 #endif
2163
 #endif
2164
-#if PIN_EXISTS(X2_MAX)
2164
+#if BOTH(X_HOME_TO_MAX, X_DUAL_ENDSTOPS) && PIN_EXISTS(X2_MAX)
2165
   #define HAS_X2_MAX 1
2165
   #define HAS_X2_MAX 1
2166
 #endif
2166
 #endif
2167
-#if PIN_EXISTS(Y2_MIN)
2167
+#if BOTH(Y_HOME_TO_MIN, Y_DUAL_ENDSTOPS) && PIN_EXISTS(Y2_MIN)
2168
   #define HAS_Y2_MIN 1
2168
   #define HAS_Y2_MIN 1
2169
 #endif
2169
 #endif
2170
-#if PIN_EXISTS(Y2_MAX)
2170
+#if BOTH(Y_HOME_TO_MAX, Y_DUAL_ENDSTOPS) && PIN_EXISTS(Y2_MAX)
2171
   #define HAS_Y2_MAX 1
2171
   #define HAS_Y2_MAX 1
2172
 #endif
2172
 #endif
2173
-#if PIN_EXISTS(Z2_MIN)
2174
-  #define HAS_Z2_MIN 1
2175
-#endif
2176
-#if PIN_EXISTS(Z2_MAX)
2177
-  #define HAS_Z2_MAX 1
2178
-#endif
2179
-#if PIN_EXISTS(Z3_MIN)
2180
-  #define HAS_Z3_MIN 1
2181
-#endif
2182
-#if PIN_EXISTS(Z3_MAX)
2183
-  #define HAS_Z3_MAX 1
2184
-#endif
2185
-#if PIN_EXISTS(Z4_MIN)
2186
-  #define HAS_Z4_MIN 1
2187
-#endif
2188
-#if PIN_EXISTS(Z4_MAX)
2189
-  #define HAS_Z4_MAX 1
2173
+#if ENABLED(Z_MULTI_ENDSTOPS)
2174
+  #if Z_HOME_TO_MIN && PIN_EXISTS(Z2_MIN)
2175
+    #define HAS_Z2_MIN 1
2176
+  #endif
2177
+  #if Z_HOME_TO_MAX && PIN_EXISTS(Z2_MAX)
2178
+    #define HAS_Z2_MAX 1
2179
+  #endif
2180
+  #if NUM_Z_STEPPER_DRIVERS >= 3
2181
+    #if Z_HOME_TO_MIN && PIN_EXISTS(Z3_MIN)
2182
+      #define HAS_Z3_MIN 1
2183
+    #endif
2184
+    #if Z_HOME_TO_MAX && PIN_EXISTS(Z3_MAX)
2185
+      #define HAS_Z3_MAX 1
2186
+    #endif
2187
+    #if NUM_Z_STEPPER_DRIVERS >= 4
2188
+      #if Z_HOME_TO_MIN && PIN_EXISTS(Z4_MIN)
2189
+        #define HAS_Z4_MIN 1
2190
+      #endif
2191
+      #if Z_HOME_TO_MAX && PIN_EXISTS(Z4_MAX)
2192
+        #define HAS_Z4_MAX 1
2193
+      #endif
2194
+    #endif
2195
+  #endif
2190
 #endif
2196
 #endif
2197
+
2191
 #if HAS_BED_PROBE && PIN_EXISTS(Z_MIN_PROBE)
2198
 #if HAS_BED_PROBE && PIN_EXISTS(Z_MIN_PROBE)
2192
   #define HAS_Z_MIN_PROBE_PIN 1
2199
   #define HAS_Z_MIN_PROBE_PIN 1
2193
 #endif
2200
 #endif

+ 10
- 20
Marlin/src/module/endstops.h View File

47
   _ES_ITEM(HAS_K_MAX, K_MAX)
47
   _ES_ITEM(HAS_K_MAX, K_MAX)
48
 
48
 
49
   // Extra Endstops for XYZ
49
   // Extra Endstops for XYZ
50
-  #if ENABLED(X_DUAL_ENDSTOPS)
51
-    _ES_ITEM(HAS_X_MIN, X2_MIN)
52
-    _ES_ITEM(HAS_X_MAX, X2_MAX)
53
-  #endif
54
-  #if ENABLED(Y_DUAL_ENDSTOPS)
55
-    _ES_ITEM(HAS_Y_MIN, Y2_MIN)
56
-    _ES_ITEM(HAS_Y_MAX, Y2_MAX)
57
-  #endif
58
-  #if ENABLED(Z_MULTI_ENDSTOPS)
59
-    _ES_ITEM(HAS_Z_MIN, Z2_MIN)
60
-    _ES_ITEM(HAS_Z_MAX, Z2_MAX)
61
-    #if NUM_Z_STEPPER_DRIVERS >= 3
62
-      _ES_ITEM(HAS_Z_MIN, Z3_MIN)
63
-      _ES_ITEM(HAS_Z_MAX, Z3_MAX)
64
-    #endif
65
-    #if NUM_Z_STEPPER_DRIVERS >= 4
66
-      _ES_ITEM(HAS_Z_MIN, Z4_MIN)
67
-      _ES_ITEM(HAS_Z_MAX, Z4_MAX)
68
-    #endif
69
-  #endif
50
+  _ES_ITEM(HAS_X2_MIN, X2_MIN)
51
+  _ES_ITEM(HAS_X2_MAX, X2_MAX)
52
+  _ES_ITEM(HAS_Y2_MIN, Y2_MIN)
53
+  _ES_ITEM(HAS_Y2_MAX, Y2_MAX)
54
+  _ES_ITEM(HAS_Z2_MIN, Z2_MIN)
55
+  _ES_ITEM(HAS_Z2_MAX, Z2_MAX)
56
+  _ES_ITEM(HAS_Z3_MIN, Z3_MIN)
57
+  _ES_ITEM(HAS_Z3_MAX, Z3_MAX)
58
+  _ES_ITEM(HAS_Z4_MIN, Z4_MIN)
59
+  _ES_ITEM(HAS_Z4_MAX, Z4_MAX)
70
 
60
 
71
   // Bed Probe state is distinct or shared with Z_MIN (i.e., when the probe is the only Z endstop)
61
   // Bed Probe state is distinct or shared with Z_MIN (i.e., when the probe is the only Z endstop)
72
   _ES_ITEM(HAS_BED_PROBE, Z_MIN_PROBE IF_DISABLED(USES_Z_MIN_PROBE_PIN, = Z_MIN))
62
   _ES_ITEM(HAS_BED_PROBE, Z_MIN_PROBE IF_DISABLED(USES_Z_MIN_PROBE_PIN, = Z_MIN))

+ 1
- 1
buildroot/tests/teensy35 View File

100
 # Enable Dual Z with Dual Z endstops
100
 # Enable Dual Z with Dual Z endstops
101
 #
101
 #
102
 restore_configs
102
 restore_configs
103
-opt_set MOTHERBOARD BOARD_TEENSY35_36 NUM_Z_STEPPER_DRIVERS 2 Z2_MAX_PIN 2
103
+opt_set MOTHERBOARD BOARD_TEENSY35_36 NUM_Z_STEPPER_DRIVERS 2 Z2_MIN_PIN 2
104
 opt_enable Z_MULTI_ENDSTOPS USE_XMAX_PLUG
104
 opt_enable Z_MULTI_ENDSTOPS USE_XMAX_PLUG
105
 pins_set ramps/RAMPS X_MAX_PIN -1
105
 pins_set ramps/RAMPS X_MAX_PIN -1
106
 exec_test $1 $2 "Dual Z with Dual Z endstops" "$3"
106
 exec_test $1 $2 "Dual Z with Dual Z endstops" "$3"

+ 1
- 1
buildroot/tests/teensy41 View File

103
 # Enable Dual Z with Dual Z endstops
103
 # Enable Dual Z with Dual Z endstops
104
 #
104
 #
105
 restore_configs
105
 restore_configs
106
-opt_set MOTHERBOARD BOARD_TEENSY41 NUM_Z_STEPPER_DRIVERS 2 Z2_MAX_PIN 2
106
+opt_set MOTHERBOARD BOARD_TEENSY41 NUM_Z_STEPPER_DRIVERS 2 Z2_MIN_PIN 2
107
 opt_enable Z_MULTI_ENDSTOPS USE_XMAX_PLUG
107
 opt_enable Z_MULTI_ENDSTOPS USE_XMAX_PLUG
108
 pins_set ramps/RAMPS X_MAX_PIN -1
108
 pins_set ramps/RAMPS X_MAX_PIN -1
109
 exec_test $1 $2 "Dual Z with Dual Z endstops" "$3"
109
 exec_test $1 $2 "Dual Z with Dual Z endstops" "$3"

Loading…
Cancel
Save