|
713 | 713 | //#define CLOSED_LOOP_MOVE_COMPLETE_PIN -1 |
714 | 714 | #endif |
715 | 715 |
|
716 | | -/** |
717 | | - * Dual Steppers / Dual Endstops |
718 | | - * |
719 | | - * This section will allow you to use extra E drivers to drive a second motor for X, Y, or Z axes. |
720 | | - * |
721 | | - * For example, set X_DUAL_STEPPER_DRIVERS setting to use a second motor. If the motors need to |
722 | | - * spin in opposite directions set INVERT_X2_VS_X_DIR. If the second motor needs its own endstop |
723 | | - * set X_DUAL_ENDSTOPS. This can adjust for "racking." Use X2_USE_ENDSTOP to set the endstop plug |
724 | | - * that should be used for the second endstop. Extra endstops will appear in the output of 'M119'. |
725 | | - * |
726 | | - * Use X_DUAL_ENDSTOP_ADJUSTMENT to adjust for mechanical imperfection. After homing both motors |
727 | | - * this offset is applied to the X2 motor. To find the offset home the X axis, and measure the error |
728 | | - * in X2. Dual endstop offsets can be set at runtime with 'M666 X<offset> Y<offset> Z<offset>'. |
729 | | - */ |
730 | | - |
731 | | -//#define X_DUAL_STEPPER_DRIVERS |
732 | | -#if ENABLED(X_DUAL_STEPPER_DRIVERS) |
733 | | - //#define INVERT_X2_VS_X_DIR // Enable if X2 direction signal is opposite to X |
734 | | - //#define X_DUAL_ENDSTOPS |
735 | | - #if ENABLED(X_DUAL_ENDSTOPS) |
736 | | - #define X2_USE_ENDSTOP _XMAX_ |
737 | | - #define X2_ENDSTOP_ADJUSTMENT 0 |
738 | | - #endif |
739 | | -#endif |
740 | | - |
741 | | -//#define Y_DUAL_STEPPER_DRIVERS |
742 | | -#if ENABLED(Y_DUAL_STEPPER_DRIVERS) |
743 | | - //#define INVERT_Y2_VS_Y_DIR // Enable if Y2 direction signal is opposite to Y |
744 | | - //#define Y_DUAL_ENDSTOPS |
745 | | - #if ENABLED(Y_DUAL_ENDSTOPS) |
746 | | - #define Y2_USE_ENDSTOP _YMAX_ |
747 | | - #define Y2_ENDSTOP_ADJUSTMENT 0 |
748 | | - #endif |
749 | | -#endif |
750 | | - |
751 | | -// |
752 | | -// For Z set the number of stepper drivers |
753 | | -// |
754 | | -#define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many |
755 | | - |
756 | | -#if NUM_Z_STEPPER_DRIVERS > 1 |
757 | | - // Enable if Z motor direction signals are the opposite of Z1 |
758 | | - //#define INVERT_Z2_VS_Z_DIR |
759 | | - //#define INVERT_Z3_VS_Z_DIR |
760 | | - //#define INVERT_Z4_VS_Z_DIR |
761 | | - |
762 | | - //#define Z_MULTI_ENDSTOPS |
763 | | - #if ENABLED(Z_MULTI_ENDSTOPS) |
764 | | - #define Z2_USE_ENDSTOP _XMAX_ |
765 | | - #define Z2_ENDSTOP_ADJUSTMENT 0 |
766 | | - #if NUM_Z_STEPPER_DRIVERS >= 3 |
767 | | - #define Z3_USE_ENDSTOP _YMAX_ |
768 | | - #define Z3_ENDSTOP_ADJUSTMENT 0 |
769 | | - #endif |
770 | | - #if NUM_Z_STEPPER_DRIVERS >= 4 |
771 | | - #define Z4_USE_ENDSTOP _ZMAX_ |
772 | | - #define Z4_ENDSTOP_ADJUSTMENT 0 |
773 | | - #endif |
774 | | - #endif |
775 | | -#endif |
776 | | - |
777 | | -// Drive the E axis with two synchronized steppers |
778 | | -//#define E_DUAL_STEPPER_DRIVERS |
779 | | -#if ENABLED(E_DUAL_STEPPER_DRIVERS) |
780 | | - //#define INVERT_E1_VS_E0_DIR // Enable if the E motors need opposite DIR states |
781 | | -#endif |
782 | | - |
783 | 716 | /** |
784 | 717 | * Dual X Carriage |
785 | 718 | * |
|
830 | 763 | //#define EVENT_GCODE_IDEX_AFTER_MODECHANGE "G28X" |
831 | 764 | #endif |
832 | 765 |
|
| 766 | +/** |
| 767 | + * Multi-Stepper / Multi-Endstop |
| 768 | + * |
| 769 | + * When X2_DRIVER_TYPE is defined, this indicates that the X and X2 motors work in tandem. |
| 770 | + * The following explanations for X also apply to Y and Z multi-stepper setups. |
| 771 | + * Endstop offsets may be changed by 'M666 X<offset> Y<offset> Z<offset>' and stored to EEPROM. |
| 772 | + * |
| 773 | + * - Enable INVERT_X2_VS_X_DIR if the X2 motor requires an opposite DIR signal from X. |
| 774 | + * |
| 775 | + * - Enable X_DUAL_ENDSTOPS if the second motor has its own endstop, with adjustable offset. |
| 776 | + * |
| 777 | + * - Extra endstops are included in the output of 'M119'. |
| 778 | + * |
| 779 | + * - Set X_DUAL_ENDSTOP_ADJUSTMENT to the known error in the X2 endstop. |
| 780 | + * Applied to the X2 motor on 'G28' / 'G28 X'. |
| 781 | + * Get the offset by homing X and measuring the error. |
| 782 | + * Also set with 'M666 X<offset>' and stored to EEPROM with 'M500'. |
| 783 | + * |
| 784 | + * - Use X2_USE_ENDSTOP to set the endstop plug by name. (_XMIN_, _XMAX_, _YMIN_, _YMAX_, _ZMIN_, _ZMAX_) |
| 785 | + */ |
| 786 | +#if HAS_X2_STEPPER && DISABLED(DUAL_X_CARRIAGE) |
| 787 | + //#define INVERT_X2_VS_X_DIR // X2 direction signal is the opposite of X |
| 788 | + //#define X_DUAL_ENDSTOPS // X2 has its own endstop |
| 789 | + #if ENABLED(X_DUAL_ENDSTOPS) |
| 790 | + #define X2_USE_ENDSTOP _XMAX_ // X2 endstop board plug. Don't forget to enable USE_*_PLUG. |
| 791 | + #define X2_ENDSTOP_ADJUSTMENT 0 // X2 offset relative to X endstop |
| 792 | + #endif |
| 793 | +#endif |
| 794 | + |
| 795 | +#if HAS_DUAL_Y_STEPPERS |
| 796 | + //#define INVERT_Y2_VS_Y_DIR // Y2 direction signal is the opposite of Y |
| 797 | + //#define Y_DUAL_ENDSTOPS // Y2 has its own endstop |
| 798 | + #if ENABLED(Y_DUAL_ENDSTOPS) |
| 799 | + #define Y2_USE_ENDSTOP _YMAX_ // Y2 endstop board plug. Don't forget to enable USE_*_PLUG. |
| 800 | + #define Y2_ENDSTOP_ADJUSTMENT 0 // Y2 offset relative to Y endstop |
| 801 | + #endif |
| 802 | +#endif |
| 803 | + |
| 804 | +// |
| 805 | +// Multi-Z steppers |
| 806 | +// |
| 807 | +#ifdef Z2_DRIVER_TYPE |
| 808 | + //#define INVERT_Z2_VS_Z_DIR // Z2 direction signal is the opposite of Z |
| 809 | + |
| 810 | + //#define Z_MULTI_ENDSTOPS // Other Z axes have their own endstops |
| 811 | + #if ENABLED(Z_MULTI_ENDSTOPS) |
| 812 | + #define Z2_USE_ENDSTOP _XMAX_ // Z2 endstop board plug. Don't forget to enable USE_*_PLUG. |
| 813 | + #define Z2_ENDSTOP_ADJUSTMENT 0 // Z2 offset relative to Y endstop |
| 814 | + #endif |
| 815 | + #ifdef Z3_DRIVER_TYPE |
| 816 | + //#define INVERT_Z3_VS_Z_DIR // Z3 direction signal is the opposite of Z |
| 817 | + #if ENABLED(Z_MULTI_ENDSTOPS) |
| 818 | + #define Z3_USE_ENDSTOP _YMAX_ // Z3 endstop board plug. Don't forget to enable USE_*_PLUG. |
| 819 | + #define Z3_ENDSTOP_ADJUSTMENT 0 // Z3 offset relative to Y endstop |
| 820 | + #endif |
| 821 | + #endif |
| 822 | + #ifdef Z4_DRIVER_TYPE |
| 823 | + //#define INVERT_Z4_VS_Z_DIR // Z4 direction signal is the opposite of Z |
| 824 | + #if ENABLED(Z_MULTI_ENDSTOPS) |
| 825 | + #define Z4_USE_ENDSTOP _ZMAX_ // Z4 endstop board plug. Don't forget to enable USE_*_PLUG. |
| 826 | + #define Z4_ENDSTOP_ADJUSTMENT 0 // Z4 offset relative to Y endstop |
| 827 | + #endif |
| 828 | + #endif |
| 829 | +#endif |
| 830 | + |
| 831 | +// Drive the E axis with two synchronized steppers |
| 832 | +//#define E_DUAL_STEPPER_DRIVERS |
| 833 | +#if ENABLED(E_DUAL_STEPPER_DRIVERS) |
| 834 | + //#define INVERT_E1_VS_E0_DIR // E direction signals are opposites |
| 835 | +#endif |
| 836 | + |
833 | 837 | // Activate a solenoid on the active extruder with M380. Disable all with M381. |
834 | 838 | // Define SOL0_PIN, SOL1_PIN, etc., for each extruder that has a solenoid. |
835 | 839 | //#define EXT_SOLENOID |
|
963 | 967 |
|
964 | 968 | /** |
965 | 969 | * Z Stepper positions for more rapid convergence in bed alignment. |
966 | | - * Requires NUM_Z_STEPPER_DRIVERS to be 3 or 4. |
| 970 | + * Requires 3 or 4 Z steppers. |
967 | 971 | * |
968 | 972 | * Define Stepper XY positions for Z1, Z2, Z3... corresponding to the screw |
969 | 973 | * positions in the bed carriage, with one position per Z stepper in stepper |
|
2461 | 2465 |
|
2462 | 2466 | /** |
2463 | 2467 | * Extra G-code to run while executing tool-change commands. Can be used to use an additional |
2464 | | - * stepper motor (I axis, see option NUM_AXES in Configuration.h) to drive the tool-changer. |
| 2468 | + * stepper motor (e.g., I axis in Configuration.h) to drive the tool-changer. |
2465 | 2469 | */ |
2466 | 2470 | //#define EVENT_GCODE_TOOLCHANGE_T0 "G28 A\nG1 A0" // Extra G-code to run while executing tool-change command T0 |
2467 | 2471 | //#define EVENT_GCODE_TOOLCHANGE_T1 "G1 A10" // Extra G-code to run while executing tool-change command T1 |
|
0 commit comments