Преглед на файлове

Add Dual Steppers / Endstops to configs

Scott Lahteine преди 7 години
родител
ревизия
e04425281d
променени са 32 файла, в които са добавени 1176 реда и са изтрити 431 реда
  1. 29
    28
      Marlin/Configuration_adv.h
  2. 37
    13
      Marlin/src/config/default/Configuration_adv.h
  3. 37
    13
      Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h
  4. 37
    13
      Marlin/src/config/examples/Anet/A6/Configuration_adv.h
  5. 37
    13
      Marlin/src/config/examples/Anet/A8/Configuration_adv.h
  6. 37
    13
      Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h
  7. 37
    13
      Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h
  8. 37
    13
      Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h
  9. 37
    13
      Marlin/src/config/examples/Cartesio/Configuration_adv.h
  10. 37
    13
      Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h
  11. 37
    13
      Marlin/src/config/examples/Felix/Configuration_adv.h
  12. 37
    13
      Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h
  13. 37
    13
      Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h
  14. 37
    13
      Marlin/src/config/examples/Malyan/M150/Configuration_adv.h
  15. 37
    13
      Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h
  16. 37
    13
      Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h
  17. 37
    13
      Marlin/src/config/examples/RigidBot/Configuration_adv.h
  18. 37
    13
      Marlin/src/config/examples/SCARA/Configuration_adv.h
  19. 37
    13
      Marlin/src/config/examples/Sanguinololu/Configuration_adv.h
  20. 37
    13
      Marlin/src/config/examples/TinyBoy2/Configuration_adv.h
  21. 37
    13
      Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h
  22. 37
    13
      Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h
  23. 37
    13
      Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h
  24. 37
    13
      Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h
  25. 37
    13
      Marlin/src/config/examples/delta/generic/Configuration_adv.h
  26. 37
    13
      Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h
  27. 37
    13
      Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h
  28. 37
    13
      Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h
  29. 37
    13
      Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h
  30. 37
    13
      Marlin/src/config/examples/makibox/Configuration_adv.h
  31. 37
    13
      Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h
  32. 37
    13
      Marlin/src/config/examples/wt150/Configuration_adv.h

+ 29
- 28
Marlin/Configuration_adv.h Целия файл

@@ -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

+ 37
- 13
Marlin/src/config/default/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/AlephObjects/TAZ4/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Anet/A6/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Anet/A8/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/BQ/Hephestos/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/BQ/Hephestos_2/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/BQ/WITBOX/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Cartesio/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Creality/CR-10/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Felix/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/FolgerTech/i3-2020/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Infitary/i3-M508/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Malyan/M150/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Micromake/C1/enhanced/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Mks/Sbase/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 #define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
284 297
 
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.
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
293 307
 
294
-  //#define Z_DUAL_ENDSTOPS
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
295 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
320
+  //#define Z_DUAL_ENDSTOPS
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/RigidBot/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/SCARA/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Sanguinololu/Configuration_adv.h Целия файл

@@ -269,25 +269,49 @@
269 269
 // The next unused E driver will be assigned to the second Z stepper.
270 270
 //#define Z_DUAL_STEPPER_DRIVERS
271 271
 
272
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
272
+/**
273
+ * Dual Steppers / Dual Endstops
274
+ *
275
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
276
+ *
277
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
278
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
279
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
280
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
281
+ *
282
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
283
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
284
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
285
+ */
286
+
287
+//#define X_DUAL_STEPPER_DRIVERS
288
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
289
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
290
+  //#define X_DUAL_ENDSTOPS
291
+  #if ENABLED(X_DUAL_ENDSTOPS)
292
+    #define X2_USE_ENDSTOP _XMAX_
293
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
294
+  #endif
295
+#endif
273 296
 
274
-  // 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.
275
-  // That way the machine is capable to align the bed during home, since both Z steppers are homed.
276
-  // There is also an implementation of M666 (software endstops adjustment) to this feature.
277
-  // After Z homing, this adjustment is applied to just one of the steppers in order to align the bed.
278
-  // 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.
279
-  // 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.
280
-  // Play a little bit with small adjustments (0.5mm) and check the behaviour.
281
-  // The M119 (endstops report) will start reporting the Z2 Endstop as well.
297
+//#define Y_DUAL_STEPPER_DRIVERS
298
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
299
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
300
+  //#define Y_DUAL_ENDSTOPS
301
+  #if ENABLED(Y_DUAL_ENDSTOPS)
302
+    #define Y2_USE_ENDSTOP _YMAX_
303
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
304
+  #endif
305
+#endif
282 306
 
307
+//#define Z_DUAL_STEPPER_DRIVERS
308
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283 309
   //#define Z_DUAL_ENDSTOPS
284
-
285 310
   #if ENABLED(Z_DUAL_ENDSTOPS)
286 311
     #define Z2_USE_ENDSTOP _XMAX_
287
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
312
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
288 313
   #endif
289
-
290
-#endif // Z_DUAL_STEPPER_DRIVERS
314
+#endif
291 315
 
292 316
 // Enable this for dual x-carriage printers.
293 317
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/TinyBoy2/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Velleman/K8200/Configuration_adv.h Целия файл

@@ -293,25 +293,49 @@
293 293
 // The next unused E driver will be assigned to the second Z stepper.
294 294
 //#define Z_DUAL_STEPPER_DRIVERS
295 295
 
296
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
296
+/**
297
+ * Dual Steppers / Dual Endstops
298
+ *
299
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
300
+ *
301
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
302
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
303
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
304
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
305
+ *
306
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
307
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
308
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
309
+ */
310
+
311
+//#define X_DUAL_STEPPER_DRIVERS
312
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
313
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
314
+  //#define X_DUAL_ENDSTOPS
315
+  #if ENABLED(X_DUAL_ENDSTOPS)
316
+    #define X2_USE_ENDSTOP _XMAX_
317
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
318
+  #endif
319
+#endif
297 320
 
298
-  // 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.
299
-  // That way the machine is capable to align the bed during home, since both Z steppers are homed.
300
-  // There is also an implementation of M666 (software endstops adjustment) to this feature.
301
-  // After Z homing, this adjustment is applied to just one of the steppers in order to align the bed.
302
-  // 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.
303
-  // 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.
304
-  // Play a little bit with small adjustments (0.5mm) and check the behaviour.
305
-  // The M119 (endstops report) will start reporting the Z2 Endstop as well.
321
+//#define Y_DUAL_STEPPER_DRIVERS
322
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
323
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
324
+  //#define Y_DUAL_ENDSTOPS
325
+  #if ENABLED(Y_DUAL_ENDSTOPS)
326
+    #define Y2_USE_ENDSTOP _YMAX_
327
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
328
+  #endif
329
+#endif
306 330
 
331
+//#define Z_DUAL_STEPPER_DRIVERS
332
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
307 333
   //#define Z_DUAL_ENDSTOPS
308
-
309 334
   #if ENABLED(Z_DUAL_ENDSTOPS)
310 335
     #define Z2_USE_ENDSTOP _XMAX_
311
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
336
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
312 337
   #endif
313
-
314
-#endif // Z_DUAL_STEPPER_DRIVERS
338
+#endif
315 339
 
316 340
 // Enable this for dual x-carriage printers.
317 341
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/Velleman/K8400/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/delta/generic/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/delta/kossel_mini/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/delta/kossel_pro/Configuration_adv.h Целия файл

@@ -285,25 +285,49 @@
285 285
 // The next unused E driver will be assigned to the second Z stepper.
286 286
 //#define Z_DUAL_STEPPER_DRIVERS
287 287
 
288
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
288
+/**
289
+ * Dual Steppers / Dual Endstops
290
+ *
291
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
292
+ *
293
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
294
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
295
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
296
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
297
+ *
298
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
299
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
300
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
301
+ */
302
+
303
+//#define X_DUAL_STEPPER_DRIVERS
304
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
305
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
306
+  //#define X_DUAL_ENDSTOPS
307
+  #if ENABLED(X_DUAL_ENDSTOPS)
308
+    #define X2_USE_ENDSTOP _XMAX_
309
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
310
+  #endif
311
+#endif
289 312
 
290
-  // 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.
291
-  // That way the machine is capable to align the bed during home, since both Z steppers are homed.
292
-  // There is also an implementation of M666 (software endstops adjustment) to this feature.
293
-  // After Z homing, this adjustment is applied to just one of the steppers in order to align the bed.
294
-  // 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.
295
-  // 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.
296
-  // Play a little bit with small adjustments (0.5mm) and check the behaviour.
297
-  // The M119 (endstops report) will start reporting the Z2 Endstop as well.
313
+//#define Y_DUAL_STEPPER_DRIVERS
314
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
315
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
316
+  //#define Y_DUAL_ENDSTOPS
317
+  #if ENABLED(Y_DUAL_ENDSTOPS)
318
+    #define Y2_USE_ENDSTOP _YMAX_
319
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
320
+  #endif
321
+#endif
298 322
 
323
+//#define Z_DUAL_STEPPER_DRIVERS
324
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
299 325
   //#define Z_DUAL_ENDSTOPS
300
-
301 326
   #if ENABLED(Z_DUAL_ENDSTOPS)
302 327
     #define Z2_USE_ENDSTOP _XMAX_
303
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
328
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
304 329
   #endif
305
-
306
-#endif // Z_DUAL_STEPPER_DRIVERS
330
+#endif
307 331
 
308 332
 // Enable this for dual x-carriage printers.
309 333
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/delta/kossel_xl/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/gCreate/gMax1.5+/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/makibox/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/tvrrug/Round2/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

+ 37
- 13
Marlin/src/config/examples/wt150/Configuration_adv.h Целия файл

@@ -280,25 +280,49 @@
280 280
 // The next unused E driver will be assigned to the second Z stepper.
281 281
 //#define Z_DUAL_STEPPER_DRIVERS
282 282
 
283
-#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
283
+/**
284
+ * Dual Steppers / Dual Endstops
285
+ *
286
+ * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes.
287
+ *
288
+ * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to
289
+ * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop
290
+ * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug
291
+ * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'.
292
+ *
293
+ * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors
294
+ * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error
295
+ * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'.
296
+ */
297
+
298
+//#define X_DUAL_STEPPER_DRIVERS
299
+#if ENABLED(X_DUAL_STEPPER_DRIVERS)
300
+  #define INVERT_X2_VS_X_DIR true   // Set 'true' if X motors should rotate in opposite directions
301
+  //#define X_DUAL_ENDSTOPS
302
+  #if ENABLED(X_DUAL_ENDSTOPS)
303
+    #define X2_USE_ENDSTOP _XMAX_
304
+    #define X_DUAL_ENDSTOPS_ADJUSTMENT  0
305
+  #endif
306
+#endif
284 307
 
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.
308
+//#define Y_DUAL_STEPPER_DRIVERS
309
+#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
310
+  #define INVERT_Y2_VS_Y_DIR true   // Set 'true' if Y motors should rotate in opposite directions
311
+  //#define Y_DUAL_ENDSTOPS
312
+  #if ENABLED(Y_DUAL_ENDSTOPS)
313
+    #define Y2_USE_ENDSTOP _YMAX_
314
+    #define Y_DUAL_ENDSTOPS_ADJUSTMENT  0
315
+  #endif
316
+#endif
293 317
 
318
+//#define Z_DUAL_STEPPER_DRIVERS
319
+#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
294 320
   //#define Z_DUAL_ENDSTOPS
295
-
296 321
   #if ENABLED(Z_DUAL_ENDSTOPS)
297 322
     #define Z2_USE_ENDSTOP _XMAX_
298
-    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0  // Use M666 to determine/test this value
323
+    #define Z_DUAL_ENDSTOPS_ADJUSTMENT  0
299 324
   #endif
300
-
301
-#endif // Z_DUAL_STEPPER_DRIVERS
325
+#endif
302 326
 
303 327
 // Enable this for dual x-carriage printers.
304 328
 // A dual x-carriage design has the advantage that the inactive extruder can be parked which

Loading…
Отказ
Запис