diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index f19dc3db040413756c8d20586d200a4de36aecf1..58d0955290ffd312f1dd5e1737e008c2c5804847 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -144,10 +144,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -161,8 +157,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/configurator/config/Configuration_adv.h b/Marlin/configurator/config/Configuration_adv.h index 7a12bec5b373b5ccab0add52d4c2d08c9393ed88..8ef93375a097c7b200b139a8212feb14f67e3a0a 100644 --- a/Marlin/configurator/config/Configuration_adv.h +++ b/Marlin/configurator/config/Configuration_adv.h @@ -144,10 +144,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -161,8 +157,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/Felix/Configuration_adv.h b/Marlin/example_configurations/Felix/Configuration_adv.h index 36064d3cee1ccaf706f58193aa38ea3b8994931b..06f909997ce45d51dfae3236952773b811a81f20 100644 --- a/Marlin/example_configurations/Felix/Configuration_adv.h +++ b/Marlin/example_configurations/Felix/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/Hephestos/Configuration_adv.h b/Marlin/example_configurations/Hephestos/Configuration_adv.h index 2fac324e9245377a012cc3fd6d6286ad9de8c9f8..dc21c0c387e92590500a44664b35d015ca89bcc9 100644 --- a/Marlin/example_configurations/Hephestos/Configuration_adv.h +++ b/Marlin/example_configurations/Hephestos/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/K8200/Configuration_adv.h b/Marlin/example_configurations/K8200/Configuration_adv.h index 2a034dc53107067668a191cb8d4cc23189489187..52b7466f6d32a10d55010fc9e5a613f1f3f07c19 100644 --- a/Marlin/example_configurations/K8200/Configuration_adv.h +++ b/Marlin/example_configurations/K8200/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/RigidBot/Configuration_adv.h b/Marlin/example_configurations/RigidBot/Configuration_adv.h index e68085ba742851a2d3d8a8caadc256d80f6fa5ad..7e3eda258fb74bf4665c5784d6013e8d14da8638 100644 --- a/Marlin/example_configurations/RigidBot/Configuration_adv.h +++ b/Marlin/example_configurations/RigidBot/Configuration_adv.h @@ -144,10 +144,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -161,8 +157,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/SCARA/Configuration_adv.h b/Marlin/example_configurations/SCARA/Configuration_adv.h index e2c4571a27887c33d38055ed65da14e549a009c1..cc80b88bbda63e907994b1c214cd4bb482f639a3 100644 --- a/Marlin/example_configurations/SCARA/Configuration_adv.h +++ b/Marlin/example_configurations/SCARA/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/TAZ4/Configuration_adv.h b/Marlin/example_configurations/TAZ4/Configuration_adv.h index 400f44f34ee52a13ff23a0b7d63bfa36f57444e4..e12918530d7ddf078c7cc724dcc6d3fbda35cbe0 100644 --- a/Marlin/example_configurations/TAZ4/Configuration_adv.h +++ b/Marlin/example_configurations/TAZ4/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/WITBOX/Configuration_adv.h b/Marlin/example_configurations/WITBOX/Configuration_adv.h index d4a047343485baea3e314c176a7a12a9701aea9f..71492d2de6c7262ad918842a5f14f431e5dece00 100644 --- a/Marlin/example_configurations/WITBOX/Configuration_adv.h +++ b/Marlin/example_configurations/WITBOX/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h b/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h index f53723952e823528f9024b59170418ab4c55b693..f6d6afda7a446314255f7f664568b976c2485937 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/delta/generic/Configuration_adv.h b/Marlin/example_configurations/delta/generic/Configuration_adv.h index 923e10792e1a5fddc46a110cdb5c4ad65899fd81..bc5f1c40a3cc516e3122d3242780d5fdc7f020b1 100644 --- a/Marlin/example_configurations/delta/generic/Configuration_adv.h +++ b/Marlin/example_configurations/delta/generic/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h index e2899efde942b229b3770eeb85cb3672623fa332..49f54146a5e90aec99571c9fb0b7cceb8cc79831 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h index a4250d36fb76fa2dfc8f82503dde319d8698a8f8..935eaca6a063fe25198e341d979bd528dd42b00a 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration_adv.h @@ -40,15 +40,6 @@ #define THERMAL_PROTECTION_BED_HYSTERESIS 2 // Degrees Celsius #endif -#if ENABLED(PIDTEMP) - // this adds an experimental additional term to the heating power, proportional to the extrusion speed. - // if Kc is chosen well, the additional required power due to increased melting should be compensated. - #define PID_ADD_EXTRUSION_RATE - #if ENABLED(PID_ADD_EXTRUSION_RATE) - #define DEFAULT_Kc (1) //heating power=Kc*(e_speed) - #endif -#endif - /** * Automatic Temperature: * The hotend target temperature is calculated by all the buffered lines of gcode. @@ -59,6 +50,23 @@ * Also, if the temperature is set to a value below mintemp, it will not be changed by autotemp. * On an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode */ +#if ENABLED(PIDTEMP) + // this adds an experimental additional term to the heating power, proportional to the extrusion speed. + // if Kc is chosen well, the additional required power due to increased melting should be compensated. + #define PID_ADD_EXTRUSION_RATE + #if ENABLED(PID_ADD_EXTRUSION_RATE) + #define DEFAULT_Kc (1) //heating power=Kc*(e_speed) + #endif +#endif + + +//automatic temperature: The hot end target temperature is calculated by all the buffered lines of gcode. +//The maximum buffered steps/sec of the extruder motor are called "se". +//You enter the autotemp mode by a M109 S<mintemp> B<maxtemp> F<factor> +// the target temperature is set to mintemp+factor*se[steps/sec] and limited by mintemp and maxtemp +// you exit the value by any M109 without F* +// Also, if the temperature is set to a value <mintemp, it is not changed by autotemp. +// on an Ultimaker, some initial testing worked with M109 S215 B260 F1 in the start.gcode #define AUTOTEMP #if ENABLED(AUTOTEMP) #define AUTOTEMP_OLDWEIGHT 0.98 @@ -128,53 +136,6 @@ // @section extras -//// AUTOSET LOCATIONS OF LIMIT SWITCHES -//// Added by ZetaPhoenix 09-15-2012 -#if ENABLED(MANUAL_HOME_POSITIONS) // Use manual limit switch locations - #define X_HOME_POS MANUAL_X_HOME_POS - #define Y_HOME_POS MANUAL_Y_HOME_POS - #define Z_HOME_POS MANUAL_Z_HOME_POS -#else //Set min/max homing switch positions based upon homing direction and min/max travel limits - //X axis - #if X_HOME_DIR == -1 - #if ENABLED(BED_CENTER_AT_0_0) - #define X_HOME_POS X_MAX_LENGTH * -0.5 - #else - #define X_HOME_POS X_MIN_POS - #endif //BED_CENTER_AT_0_0 - #else - #if ENABLED(BED_CENTER_AT_0_0) - #define X_HOME_POS X_MAX_LENGTH * 0.5 - #else - #define X_HOME_POS X_MAX_POS - #endif //BED_CENTER_AT_0_0 - #endif //X_HOME_DIR == -1 - - //Y axis - #if Y_HOME_DIR == -1 - #if ENABLED(BED_CENTER_AT_0_0) - #define Y_HOME_POS Y_MAX_LENGTH * -0.5 - #else - #define Y_HOME_POS Y_MIN_POS - #endif //BED_CENTER_AT_0_0 - #else - #if ENABLED(BED_CENTER_AT_0_0) - #define Y_HOME_POS Y_MAX_LENGTH * 0.5 - #else - #define Y_HOME_POS Y_MAX_POS - #endif //BED_CENTER_AT_0_0 - #endif //Y_HOME_DIR == -1 - - // Z axis - #if Z_HOME_DIR == -1 //BED_CENTER_AT_0_0 not used - #define Z_HOME_POS Z_MIN_POS - #else - #define Z_HOME_POS Z_MAX_POS - #endif //Z_HOME_DIR == -1 -#endif //End auto min/max positions -//END AUTOSET LOCATIONS OF LIMIT SWITCHES -ZP - - //#define Z_LATE_ENABLE // Enable Z the last moment. Needed if your Z driver overheats. // A single Z stepper driver is usually used to drive 2 stepper motors. @@ -185,23 +146,32 @@ //#define Z_DUAL_STEPPER_DRIVERS #if ENABLED(Z_DUAL_STEPPER_DRIVERS) - #undef EXTRUDERS - #define EXTRUDERS 1 -#endif + + // 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. + // That way the machine is capable to align the bed during home, since both Z steppers are homed. + // There is also an implementation of M666 (software endstops adjustment) to this feature. + // After Z homing, this adjustment is applied to just one of the steppers in order to align the bed. + // 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. + // 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. + // Play a little bit with small adjustments (0.5mm) and check the behaviour. + // The M119 (endstops report) will start reporting the Z2 Endstop as well. + + // #define Z_DUAL_ENDSTOPS + + #if ENABLED(Z_DUAL_ENDSTOPS) + #define Z2_MAX_PIN 36 //Endstop used for Z2 axis. In this case I'm using XMAX in a Rumba Board (pin 36) + const bool Z2_MAX_ENDSTOP_INVERTING = false; + #define DISABLE_XMAX_ENDSTOP //Better to disable the XMAX to avoid conflict. Just rename "XMAX_ENDSTOP" by the endstop you are using for Z2 axis. + #endif + +#endif // Z_DUAL_STEPPER_DRIVERS // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true - #if ENABLED(Y_DUAL_STEPPER_DRIVERS) - #undef EXTRUDERS - #define EXTRUDERS 1 -#endif - -#if defined (Z_DUAL_STEPPER_DRIVERS) && defined (Y_DUAL_STEPPER_DRIVERS) - #error "You cannot have dual drivers for both Y and Z" + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true #endif // Enable this for dual x-carriage printers. @@ -266,11 +236,6 @@ // @section machine -#if ENABLED(CONFIG_STEPPERS_TOSHIBA) -#define MAX_STEP_FREQUENCY 10000 // Max step frequency for Toshiba Stepper Controllers -#else -#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step) -#endif //By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step. #define INVERT_X_STEP_PIN false #define INVERT_Y_STEP_PIN false @@ -296,7 +261,6 @@ #define DEFAULT_MINSEGMENTTIME 20000 // If defined the movements slow down when the look ahead buffer is only half full -// (don't use SLOWDOWN with DELTA because DELTA generates hundreds of segments per second) //#define SLOWDOWN // Frequency limit @@ -309,13 +273,6 @@ // if unwanted behavior is observed on a user's machine when running at very slow speeds. #define MINIMUM_PLANNER_SPEED 0.05// (mm/sec) -// MS1 MS2 Stepper Driver Microstepping mode table -#define MICROSTEP1 LOW,LOW -#define MICROSTEP2 HIGH,LOW -#define MICROSTEP4 LOW,HIGH -#define MICROSTEP8 HIGH,HIGH -#define MICROSTEP16 HIGH,HIGH - // Microstep setting (Only functional when stepper driver microstep pins are connected to MCU. #define MICROSTEP_MODES {16,16,16,16,16} // [1,2,4,8,16] @@ -333,6 +290,10 @@ //=============================Additional Features=========================== //=========================================================================== +#define ENCODER_RATE_MULTIPLIER // If defined, certain menu edit operations automatically multiply the steps when the encoder is moved quickly +#define ENCODER_10X_STEPS_PER_SEC 75 // If the encoder steps per sec exceeds this value, multiply steps moved x10 to quickly advance the value +#define ENCODER_100X_STEPS_PER_SEC 160 // If the encoder steps per sec exceeds this value, multiply steps moved x100 to really quickly advance the value + //#define CHDK 4 //Pin for triggering CHDK to take a picture see how to use it here http://captain-slow.dk/2014/03/09/3d-printing-timelapses/ #define CHDK_DELAY 50 //How long in ms the pin should stay HIGH before going LOW again @@ -391,6 +352,7 @@ //#define USE_SMALL_INFOFONT #endif // DOGLCD + // @section more // The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation. @@ -413,18 +375,9 @@ #define BABYSTEP_XY //not only z, but also XY in the menu. more clutter, more functions #define BABYSTEP_INVERT_Z false //true for inverse movements in Z #define BABYSTEP_Z_MULTIPLICATOR 2 //faster z movements +#endif // @section extruder - #if ENABLED(COREXY) - #error BABYSTEPPING not implemented for COREXY yet. - #endif - - #if ENABLED(DELTA) - #if ENABLED(BABYSTEP_XY) - #error BABYSTEPPING only implemented for Z axis on deltabots. - #endif - #endif -#endif // extruder advance constant (s2/mm3) // @@ -437,14 +390,11 @@ #if ENABLED(ADVANCE) #define EXTRUDER_ADVANCE_K .0 - #define D_FILAMENT 2.85 #define STEPS_MM_E 836 - #define EXTRUSION_AREA (0.25 * D_FILAMENT * D_FILAMENT * 3.14159) - #define STEPS_PER_CUBIC_MM_E (axis_steps_per_unit[E_AXIS]/ EXTRUSION_AREA) +#endif // @section extras -#endif // ADVANCE // Arc interpretation settings: #define MM_PER_ARC_SEGMENT 1 @@ -452,25 +402,7 @@ const unsigned int dropsegments=5; //everything with less than this number of steps will be ignored as move and joined with the next movement -#if ENABLED(ULTIPANEL) - #undef SD_DETECT_INVERTED -#endif - -// Power Signal Control Definitions -// By default use ATX definition -#ifndef POWER_SUPPLY - #define POWER_SUPPLY 1 -#endif -// 1 = ATX -#if (POWER_SUPPLY == 1) - #define PS_ON_AWAKE LOW - #define PS_ON_ASLEEP HIGH -#endif -// 2 = X-Box 360 203W -#if (POWER_SUPPLY == 2) - #define PS_ON_AWAKE HIGH - #define PS_ON_ASLEEP LOW -#endif +// @section temperature // Control heater 0 and heater 1 in parallel. //#define HEATERS_PARALLEL @@ -483,10 +415,10 @@ const unsigned int dropsegments=5; //everything with less than this number of st // The number of linear motions that can be in the plan at any give time. // THE BLOCK_BUFFER_SIZE NEEDS TO BE A POWER OF 2, i.g. 8,16,32 because shifts and ors are used to do the ring-buffering. -#if defined SDSUPPORT +#if ENABLED(SDSUPPORT) #define BLOCK_BUFFER_SIZE 16 // SD,LCD,Buttons take more memory, block buffer needs to be smaller #else - #define BLOCK_BUFFER_SIZE 64 // maximize block buffer + #define BLOCK_BUFFER_SIZE 16 // maximize block buffer #endif // @section more @@ -526,7 +458,7 @@ const unsigned int dropsegments=5; //everything with less than this number of st // Add support for experimental filament exchange support M600; requires display #if ENABLED(ULTIPANEL) - #define FILAMENTCHANGEENABLE + //#define FILAMENTCHANGEENABLE #if ENABLED(FILAMENTCHANGEENABLE) #define FILAMENTCHANGE_XPOS 3 #define FILAMENTCHANGE_YPOS 3 @@ -598,69 +530,79 @@ const unsigned int dropsegments=5; //everything with less than this number of st #endif -#if ENABLED(FILAMENTCHANGEENABLE) - #if ENABLED(EXTRUDER_RUNOUT_PREVENT) - #error EXTRUDER_RUNOUT_PREVENT currently incompatible with FILAMENTCHANGE - #endif -#endif +/******************************************************************************\ + * enable this section if you have L6470 motor drivers. + * you need to import the L6470 library into the arduino IDE for this + ******************************************************************************/ -//=========================================================================== -//============================= Define Defines ============================ -//=========================================================================== -#if EXTRUDERS > 1 && defined TEMP_SENSOR_1_AS_REDUNDANT - #error "You cannot use TEMP_SENSOR_1_AS_REDUNDANT if EXTRUDERS > 1" -#endif +// @section l6470 -#if EXTRUDERS > 1 && defined HEATERS_PARALLEL - #error "You cannot use HEATERS_PARALLEL if EXTRUDERS > 1" -#endif +//#define HAVE_L6470DRIVER +#if ENABLED(HAVE_L6470DRIVER) -#if TEMP_SENSOR_0 > 0 - #define THERMISTORHEATER_0 TEMP_SENSOR_0 - #define HEATER_0_USES_THERMISTOR -#endif -#if TEMP_SENSOR_1 > 0 - #define THERMISTORHEATER_1 TEMP_SENSOR_1 - #define HEATER_1_USES_THERMISTOR -#endif -#if TEMP_SENSOR_2 > 0 - #define THERMISTORHEATER_2 TEMP_SENSOR_2 - #define HEATER_2_USES_THERMISTOR -#endif -#if TEMP_SENSOR_BED > 0 - #define THERMISTORBED TEMP_SENSOR_BED - #define BED_USES_THERMISTOR -#endif -#if TEMP_SENSOR_0 == -1 - #define HEATER_0_USES_AD595 -#endif -#if TEMP_SENSOR_1 == -1 - #define HEATER_1_USES_AD595 -#endif -#if TEMP_SENSOR_2 == -1 - #define HEATER_2_USES_AD595 -#endif -#if TEMP_SENSOR_BED == -1 - #define BED_USES_AD595 -#endif -#if TEMP_SENSOR_0 == -2 - #define HEATER_0_USES_MAX6675 -#endif -#if TEMP_SENSOR_0 == 0 - #undef HEATER_0_MINTEMP - #undef HEATER_0_MAXTEMP -#endif -#if TEMP_SENSOR_1 == 0 - #undef HEATER_1_MINTEMP - #undef HEATER_1_MAXTEMP -#endif -#if TEMP_SENSOR_2 == 0 - #undef HEATER_2_MINTEMP - #undef HEATER_2_MAXTEMP -#endif -#if TEMP_SENSOR_BED == 0 - #undef BED_MINTEMP - #undef BED_MAXTEMP +// #define X_IS_L6470 + #define X_MICROSTEPS 16 //number of microsteps + #define X_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define X_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define X_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define X2_IS_L6470 + #define X2_MICROSTEPS 16 //number of microsteps + #define X2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define X2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define X2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Y_IS_L6470 + #define Y_MICROSTEPS 16 //number of microsteps + #define Y_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Y_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Y_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Y2_IS_L6470 + #define Y2_MICROSTEPS 16 //number of microsteps + #define Y2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Y2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Y2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Z_IS_L6470 + #define Z_MICROSTEPS 16 //number of microsteps + #define Z_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Z_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Z_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define Z2_IS_L6470 + #define Z2_MICROSTEPS 16 //number of microsteps + #define Z2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define Z2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define Z2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E0_IS_L6470 + #define E0_MICROSTEPS 16 //number of microsteps + #define E0_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E0_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E0_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E1_IS_L6470 + #define E1_MICROSTEPS 16 //number of microsteps + #define E1_MICROSTEPS 16 //number of microsteps + #define E1_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E1_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E1_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E2_IS_L6470 + #define E2_MICROSTEPS 16 //number of microsteps + #define E2_MICROSTEPS 16 //number of microsteps + #define E2_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E2_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E2_STALLCURRENT 1500 //current in mA where the driver will detect a stall + +// #define E3_IS_L6470 + #define E3_MICROSTEPS 16 //number of microsteps + #define E3_MICROSTEPS 16 //number of microsteps + #define E3_K_VAL 50 // 0 - 255, Higher values, are higher power. Be carefull not to go too high + #define E3_OVERCURRENT 2000 //maxc current in mA. If the current goes over this value, the driver will switch off + #define E3_STALLCURRENT 1500 //current in mA where the driver will detect a stall + #endif #include "Conditionals.h" diff --git a/Marlin/example_configurations/makibox/Configuration_adv.h b/Marlin/example_configurations/makibox/Configuration_adv.h index e40f082bfa87f33cf6ac9873a5e465a186e21548..518aa906fe66ea164db7ab1edb474fd20ca10619 100644 --- a/Marlin/example_configurations/makibox/Configuration_adv.h +++ b/Marlin/example_configurations/makibox/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h index 112bd9e9a4c0e34fcb8b13d1ef5ca5e40c478d53..5218014c0cbcd58f25f55f73df5257b059aca7d1 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration_adv.h @@ -152,10 +152,6 @@ // Play a little bit with small adjustments (0.5mm) and check the behaviour. // The M119 (endstops report) will start reporting the Z2 Endstop as well. - #define Z2_STEP_PIN E2_STEP_PIN // Stepper to be used to Z2 axis. - #define Z2_DIR_PIN E2_DIR_PIN - #define Z2_ENABLE_PIN E2_ENABLE_PIN - // #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) @@ -169,8 +165,10 @@ // Same again but for Y Axis. //#define Y_DUAL_STEPPER_DRIVERS -// Define if the two Y drives need to rotate in opposite directions -#define INVERT_Y2_VS_Y_DIR true +#if ENABLED(Y_DUAL_STEPPER_DRIVERS) + // Define if the two Y drives need to rotate in opposite directions + #define INVERT_Y2_VS_Y_DIR true +#endif // Enable this for dual x-carriage printers. // A dual x-carriage design has the advantage that the inactive extruder can be parked which diff --git a/Marlin/pins.h b/Marlin/pins.h index de47c6a29b3987321c8781adad4fc2f8f6058585..4c6768eece8dbfe17bbef46cc4d818581173497b 100644 --- a/Marlin/pins.h +++ b/Marlin/pins.h @@ -143,6 +143,9 @@ #define _E3_PINS E3_STEP_PIN, E3_DIR_PIN, E3_ENABLE_PIN, HEATER_3_PIN, analogInputToDigitalPin(TEMP_3_PIN), #endif #endif +#elif ENABLED(Y_DUAL_STEPPER_DRIVERS) || ENABLED(Z_DUAL_STEPPER_DRIVERS) + #undef _E1_PINS + #define _E1_PINS E1_STEP_PIN, E1_DIR_PIN, E1_ENABLE_PIN, #endif #ifdef X_STOP_PIN @@ -227,6 +230,18 @@ #define Z_MIN_PIN -1 #endif +#ifndef Y2_STEP_PIN + #define Y2_STEP_PIN E1_STEP_PIN + #define Y2_DIR_PIN E1_DIR_PIN + #define Y2_ENABLE_PIN E1_ENABLE_PIN +#endif + +#ifndef Z2_STEP_PIN + #define Z2_STEP_PIN E1_STEP_PIN + #define Z2_DIR_PIN E1_DIR_PIN + #define Z2_ENABLE_PIN E1_ENABLE_PIN +#endif + #define SENSITIVE_PINS { 0, 1, \ X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, \ Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, \ diff --git a/Marlin/pins_LEAPFROG.h b/Marlin/pins_LEAPFROG.h index b25b244554c1391b15bed8a1a406eb2931e3db88..e42260ffac6ebf139a1c197153397c79f2bc743c 100644 --- a/Marlin/pins_LEAPFROG.h +++ b/Marlin/pins_LEAPFROG.h @@ -32,14 +32,6 @@ #define E1_DIR_PIN 40 //40 #define E1_ENABLE_PIN 36 //36 -#define Y2_STEP_PIN 37 -#define Y2_DIR_PIN 40 -#define Y2_ENABLE_PIN 36 - -#define Z2_STEP_PIN 37 -#define Z2_DIR_PIN 40 -#define Z2_ENABLE_PIN 36 - #define SDPOWER -1 #define SDSS 11 #define SD_DETECT_PIN -1 // 10 optional also used as mode pin diff --git a/Marlin/pins_RAMPS_13.h b/Marlin/pins_RAMPS_13.h index e6173e5bd4206be0683b5b61094adbe7c454a25c..7f651f36589cc8b263936146d1c4ab81432bcff0 100644 --- a/Marlin/pins_RAMPS_13.h +++ b/Marlin/pins_RAMPS_13.h @@ -42,18 +42,6 @@ #define Z_MAX_PIN 19 #define Z_MIN_PROBE_PIN -1 -#define Y2_STEP_PIN 36 -#define Y2_DIR_PIN 34 -#define Y2_ENABLE_PIN 30 - -#undef Z2_STEP_PIN -#undef Z2_DIR_PIN -#undef Z2_ENABLE_PIN - -#define Z2_STEP_PIN 36 -#define Z2_DIR_PIN 34 -#define Z2_ENABLE_PIN 30 - #define E0_STEP_PIN 26 #define E0_DIR_PIN 28 #define E0_ENABLE_PIN 24