Browse Source

🐛 Fix up endstop flags (#22487)

Scott Lahteine 2 years ago
parent
commit
0060dbc49e
No account linked to committer's email address
4 changed files with 51 additions and 54 deletions
  1. 39
    32
      Marlin/src/inc/Conditionals_post.h
  2. 10
    20
      Marlin/src/module/endstops.h
  3. 1
    1
      buildroot/tests/teensy35
  4. 1
    1
      buildroot/tests/teensy41

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

@@ -2122,72 +2122,79 @@
2122 2122
 #define IS_Z4_ENDSTOP(A,M) (ENABLED(Z_MULTI_ENDSTOPS) && NUM_Z_STEPPER_DRIVERS >= 4 && Z4_USE_ENDSTOP == _##A##M##_)
2123 2123
 
2124 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 2126
   #define HAS_X_MIN 1
2127 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 2129
   #define HAS_X_MAX 1
2130 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 2132
   #define HAS_Y_MIN 1
2133 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 2135
   #define HAS_Y_MAX 1
2136 2136
 #endif
2137 2137
 #if BOTH(HAS_Z_AXIS, USE_ZMIN_PLUG) && _HAS_STOP(Z,MIN)
2138 2138
   #define HAS_Z_MIN 1
2139 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 2141
   #define HAS_Z_MAX 1
2142 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 2144
   #define HAS_I_MIN 1
2145 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 2147
   #define HAS_I_MAX 1
2148 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 2150
   #define HAS_J_MIN 1
2151 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 2153
   #define HAS_J_MAX 1
2154 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 2156
   #define HAS_K_MIN 1
2157 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 2159
   #define HAS_K_MAX 1
2160 2160
 #endif
2161
-#if PIN_EXISTS(X2_MIN)
2161
+#if BOTH(X_HOME_TO_MIN, X_DUAL_ENDSTOPS) && PIN_EXISTS(X2_MIN)
2162 2162
   #define HAS_X2_MIN 1
2163 2163
 #endif
2164
-#if PIN_EXISTS(X2_MAX)
2164
+#if BOTH(X_HOME_TO_MAX, X_DUAL_ENDSTOPS) && PIN_EXISTS(X2_MAX)
2165 2165
   #define HAS_X2_MAX 1
2166 2166
 #endif
2167
-#if PIN_EXISTS(Y2_MIN)
2167
+#if BOTH(Y_HOME_TO_MIN, Y_DUAL_ENDSTOPS) && PIN_EXISTS(Y2_MIN)
2168 2168
   #define HAS_Y2_MIN 1
2169 2169
 #endif
2170
-#if PIN_EXISTS(Y2_MAX)
2170
+#if BOTH(Y_HOME_TO_MAX, Y_DUAL_ENDSTOPS) && PIN_EXISTS(Y2_MAX)
2171 2171
   #define HAS_Y2_MAX 1
2172 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 2196
 #endif
2197
+
2191 2198
 #if HAS_BED_PROBE && PIN_EXISTS(Z_MIN_PROBE)
2192 2199
   #define HAS_Z_MIN_PROBE_PIN 1
2193 2200
 #endif

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

@@ -47,26 +47,16 @@ enum EndstopEnum : char {
47 47
   _ES_ITEM(HAS_K_MAX, K_MAX)
48 48
 
49 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 61
   // Bed Probe state is distinct or shared with Z_MIN (i.e., when the probe is the only Z endstop)
72 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,7 +100,7 @@ exec_test $1 $2 "Teensy 3.5/3.6 COREXZ | BACKLASH" "$3"
100 100
 # Enable Dual Z with Dual Z endstops
101 101
 #
102 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 104
 opt_enable Z_MULTI_ENDSTOPS USE_XMAX_PLUG
105 105
 pins_set ramps/RAMPS X_MAX_PIN -1
106 106
 exec_test $1 $2 "Dual Z with Dual Z endstops" "$3"

+ 1
- 1
buildroot/tests/teensy41 View File

@@ -103,7 +103,7 @@ exec_test $1 $2 "Teensy 4.0/4.1 COREXZ" "$3"
103 103
 # Enable Dual Z with Dual Z endstops
104 104
 #
105 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 107
 opt_enable Z_MULTI_ENDSTOPS USE_XMAX_PLUG
108 108
 pins_set ramps/RAMPS X_MAX_PIN -1
109 109
 exec_test $1 $2 "Dual Z with Dual Z endstops" "$3"

Loading…
Cancel
Save