Browse Source

Add Dual Steppers / Endstops to configs

Scott Lahteine 6 years ago
parent
commit
7e1232269a
30 changed files with 1305 additions and 28 deletions
  1. 29
    28
      Marlin/Configuration_adv.h
  2. 44
    0
      Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h
  3. 44
    0
      Marlin/example_configurations/Anet/A6/Configuration_adv.h
  4. 44
    0
      Marlin/example_configurations/Anet/A8/Configuration_adv.h
  5. 44
    0
      Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h
  6. 44
    0
      Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h
  7. 44
    0
      Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h
  8. 44
    0
      Marlin/example_configurations/Cartesio/Configuration_adv.h
  9. 44
    0
      Marlin/example_configurations/Creality/CR-10/Configuration_adv.h
  10. 44
    0
      Marlin/example_configurations/Felix/Configuration_adv.h
  11. 44
    0
      Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h
  12. 44
    0
      Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h
  13. 44
    0
      Marlin/example_configurations/Malyan/M150/Configuration_adv.h
  14. 44
    0
      Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h
  15. 44
    0
      Marlin/example_configurations/RigidBot/Configuration_adv.h
  16. 44
    0
      Marlin/example_configurations/SCARA/Configuration_adv.h
  17. 44
    0
      Marlin/example_configurations/Sanguinololu/Configuration_adv.h
  18. 44
    0
      Marlin/example_configurations/TinyBoy2/Configuration_adv.h
  19. 44
    0
      Marlin/example_configurations/Velleman/K8200/Configuration_adv.h
  20. 44
    0
      Marlin/example_configurations/Velleman/K8400/Configuration_adv.h
  21. 44
    0
      Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h
  22. 44
    0
      Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h
  23. 44
    0
      Marlin/example_configurations/delta/generic/Configuration_adv.h
  24. 44
    0
      Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h
  25. 44
    0
      Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h
  26. 44
    0
      Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h
  27. 44
    0
      Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h
  28. 44
    0
      Marlin/example_configurations/makibox/Configuration_adv.h
  29. 44
    0
      Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h
  30. 44
    0
      Marlin/example_configurations/wt150/Configuration_adv.h

+ 29
- 28
Marlin/Configuration_adv.h View File

@@ -257,48 +257,49 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
-// Dual X Steppers
261
-// Uncomment this option to drive two X axis motors.
262
-// The next unused E driver will be assigned to the second X stepper.
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
263 275
 //#define X_DUAL_STEPPER_DRIVERS
264 276
 #if ENABLED(X_DUAL_STEPPER_DRIVERS)
265
-  // Set true if the two X motors need to rotate in opposite directions
266
-  #define INVERT_X2_VS_X_DIR true
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
267 283
 #endif
268 284
 
269
-// Dual Y Steppers
270
-// Uncomment this option to drive two Y axis motors.
271
-// The next unused E driver will be assigned to the second Y stepper.
272 285
 //#define Y_DUAL_STEPPER_DRIVERS
273 286
 #if ENABLED(Y_DUAL_STEPPER_DRIVERS)
274
-  // Set true if the two Y motors need to rotate in opposite directions
275
-  #define INVERT_Y2_VS_Y_DIR true
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
276 293
 #endif
277 294
 
278
-// A single Z stepper driver is usually used to drive 2 stepper motors.
279
-// Uncomment this option to use a separate stepper driver for each Z axis motor.
280
-// The next unused E driver will be assigned to the second Z stepper.
281 295
 //#define Z_DUAL_STEPPER_DRIVERS
282
-
283 296
 #if ENABLED(Z_DUAL_STEPPER_DRIVERS)
284
-
285
-  // Z_DUAL_ENDSTOPS is a feature to enable the use of 2 endstops for both Z steppers - Let's call them Z stepper and Z2 stepper.
286
-  // That way the machine is capable to align the bed during home, since both Z steppers are homed.
287
-  // There is also an implementation of M666 (software endstops adjustment) to this feature.
288
-  // After Z homing, this adjustment is applied to just one of the steppers in order to align the bed.
289
-  // One just need to home the Z axis and measure the distance difference between both Z axis and apply the math: Z adjust = Z - Z2.
290
-  // If the Z stepper axis is closer to the bed, the measure Z > Z2 (yes, it is.. think about it) and the Z adjust would be positive.
291
-  // Play a little bit with small adjustments (0.5mm) and check the behaviour.
292
-  // The M119 (endstops report) will start reporting the Z2 Endstop as well.
293
-
294 297
   //#define Z_DUAL_ENDSTOPS
295
-
296 298
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 299
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 301
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
302
+#endif
302 303
 
303 304
 // Enable this for dual x-carriage printers.
304 305
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 44
- 0
Marlin/example_configurations/AlephObjects/TAZ4/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Anet/A6/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Anet/A8/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/BQ/Hephestos/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/BQ/Hephestos_2/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/BQ/WITBOX/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Cartesio/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Creality/CR-10/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Felix/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/FolgerTech/i3-2020/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Infitary/i3-M508/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Malyan/M150/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Micromake/C1/enhanced/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/RigidBot/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/SCARA/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Sanguinololu/Configuration_adv.h View File

@@ -246,6 +246,50 @@
246 246
 
247 247
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
248 248
 
249
+/**
250
+ * Dual Steppers / Dual Endstops
251
+ *
252
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
253
+ *
254
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
255
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
256
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
257
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
258
+ *
259
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
260
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
261
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
262
+ */
263
+
264
+//#define X_DUAL_STEPPER_DRIVERS
265
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
266
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
267
+  //#define X_DUAL_ENDSTOPS
268
+  #if ENABLED(X_DUAL_ENDSTOPS)
269
+    #define X2_USE_ENDSTOP _XMAX_
270
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
271
+  #endif
272
+#endif
273
+
274
+//#define Y_DUAL_STEPPER_DRIVERS
275
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
276
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
277
+  //#define Y_DUAL_ENDSTOPS
278
+  #if ENABLED(Y_DUAL_ENDSTOPS)
279
+    #define Y2_USE_ENDSTOP _YMAX_
280
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
281
+  #endif
282
+#endif
283
+
284
+//#define Z_DUAL_STEPPER_DRIVERS
285
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
286
+  //#define Z_DUAL_ENDSTOPS
287
+  #if ENABLED(Z_DUAL_ENDSTOPS)
288
+    #define Z2_USE_ENDSTOP _XMAX_
289
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
290
+  #endif
291
+#endif
292
+
249 293
 // Dual X Steppers
250 294
 // Uncomment this option to drive two X axis motors.
251 295
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/TinyBoy2/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Velleman/K8200/Configuration_adv.h View File

@@ -270,6 +270,50 @@
270 270
 
271 271
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
272 272
 
273
+/**
274
+ * Dual Steppers / Dual Endstops
275
+ *
276
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
277
+ *
278
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
279
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
280
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
281
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
282
+ *
283
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
284
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
285
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
286
+ */
287
+
288
+//#define X_DUAL_STEPPER_DRIVERS
289
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
290
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
291
+  //#define X_DUAL_ENDSTOPS
292
+  #if ENABLED(X_DUAL_ENDSTOPS)
293
+    #define X2_USE_ENDSTOP _XMAX_
294
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
295
+  #endif
296
+#endif
297
+
298
+//#define Y_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
301
+  //#define Y_DUAL_ENDSTOPS
302
+  #if ENABLED(Y_DUAL_ENDSTOPS)
303
+    #define Y2_USE_ENDSTOP _YMAX_
304
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
307
+
308
+//#define Z_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
310
+  //#define Z_DUAL_ENDSTOPS
311
+  #if ENABLED(Z_DUAL_ENDSTOPS)
312
+    #define Z2_USE_ENDSTOP _XMAX_
313
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
314
+  #endif
315
+#endif
316
+
273 317
 // Dual X Steppers
274 318
 // Uncomment this option to drive two X axis motors.
275 319
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/Velleman/K8400/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/delta/FLSUN/auto_calibrate/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/delta/FLSUN/kossel_mini/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/delta/generic/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h View File

@@ -262,6 +262,50 @@
262 262
 
263 263
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
264 264
 
265
+/**
266
+ * Dual Steppers / Dual Endstops
267
+ *
268
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
269
+ *
270
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
271
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
272
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
273
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
274
+ *
275
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
276
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
277
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
278
+ */
279
+
280
+//#define X_DUAL_STEPPER_DRIVERS
281
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
282
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
283
+  //#define X_DUAL_ENDSTOPS
284
+  #if ENABLED(X_DUAL_ENDSTOPS)
285
+    #define X2_USE_ENDSTOP _XMAX_
286
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
287
+  #endif
288
+#endif
289
+
290
+//#define Y_DUAL_STEPPER_DRIVERS
291
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
292
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
293
+  //#define Y_DUAL_ENDSTOPS
294
+  #if ENABLED(Y_DUAL_ENDSTOPS)
295
+    #define Y2_USE_ENDSTOP _YMAX_
296
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
297
+  #endif
298
+#endif
299
+
300
+//#define Z_DUAL_STEPPER_DRIVERS
301
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
302
+  //#define Z_DUAL_ENDSTOPS
303
+  #if ENABLED(Z_DUAL_ENDSTOPS)
304
+    #define Z2_USE_ENDSTOP _XMAX_
305
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
306
+  #endif
307
+#endif
308
+
265 309
 // Dual X Steppers
266 310
 // Uncomment this option to drive two X axis motors.
267 311
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/delta/kossel_xl/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/gCreate/gMax1.5+/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/makibox/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

+ 44
- 0
Marlin/example_configurations/wt150/Configuration_adv.h View File

@@ -257,6 +257,50 @@
257 257
 
258 258
 //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats.
259 259
 
260
+/**
261
+ * Dual Steppers / Dual Endstops
262
+ *
263
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
264
+ *
265
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
266
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
267
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
268
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
269
+ *
270
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
271
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
272
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
273
+ */
274
+
275
+//#define X_DUAL_STEPPER_DRIVERS
276
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
277
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
278
+  //#define X_DUAL_ENDSTOPS
279
+  #if ENABLED(X_DUAL_ENDSTOPS)
280
+    #define X2_USE_ENDSTOP _XMAX_
281
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
282
+  #endif
283
+#endif
284
+
285
+//#define Y_DUAL_STEPPER_DRIVERS
286
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
287
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
288
+  //#define Y_DUAL_ENDSTOPS
289
+  #if ENABLED(Y_DUAL_ENDSTOPS)
290
+    #define Y2_USE_ENDSTOP _YMAX_
291
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
292
+  #endif
293
+#endif
294
+
295
+//#define Z_DUAL_STEPPER_DRIVERS
296
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
297
+  //#define Z_DUAL_ENDSTOPS
298
+  #if ENABLED(Z_DUAL_ENDSTOPS)
299
+    #define Z2_USE_ENDSTOP _XMAX_
300
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
301
+  #endif
302
+#endif
303
+
260 304
 // Dual X Steppers
261 305
 // Uncomment this option to drive two X axis motors.
262 306
 // The next unused E driver will be assigned to the second X stepper.

Loading…
Cancel
Save