Merge pull request #5676 from Bob-the-Kuhn/configuration.h
Configuration.h - reword Z PROBE section
This commit is contained in:
		
						commit
						3b9ff2cb12
					
				| @ -530,122 +530,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -665,12 +713,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   10 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -530,122 +530,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -665,12 +713,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 1 | ||||
|  | ||||
| @ -513,122 +513,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -648,12 +696,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -513,122 +513,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -648,12 +696,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -522,122 +522,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| #define Z_MIN_PROBE_ENDSTOP | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
 | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -657,12 +705,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -524,122 +524,170 @@ | ||||
| #define DEFAULT_EJERK                  1.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| #define FIX_MOUNTED_PROBE | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 34  // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 15  // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -659,12 +707,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   0 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES 2 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -2 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX  0 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -559,122 +559,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -694,9 +742,7 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   10 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
|  | ||||
| @ -530,122 +530,170 @@ | ||||
| #define DEFAULT_EJERK                 20.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -665,12 +713,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -530,122 +530,170 @@ | ||||
| #define DEFAULT_EJERK                 20.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -665,12 +713,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -530,122 +530,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -665,12 +713,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -529,122 +529,170 @@ | ||||
| #define DEFAULT_EJERK                 5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -664,12 +712,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -545,122 +545,170 @@ | ||||
| #define DEFAULT_EJERK                 3.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -680,12 +728,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -551,122 +551,170 @@ | ||||
| #define DEFAULT_EJERK                 10.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| #define FIX_MOUNTED_PROBE | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -686,12 +734,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -581,117 +581,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 10  // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 10  // Y offset: -front +behind [the nozzle]
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 34  // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 15  // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -711,9 +764,7 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   10 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
|  | ||||
| @ -522,122 +522,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -657,12 +705,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -530,122 +530,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
|  //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -665,12 +713,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -588,81 +588,112 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| #define FIX_MOUNTED_PROBE | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 0   // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0.25  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 2000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| #define PROBE_DOUBLE_TOUCH | ||||
| 
 | ||||
| // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
| // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
| /**
 | ||||
|  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|  * Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. | ||||
|  */ | ||||
| //#define Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| #if ENABLED(Z_PROBE_ALLEN_KEY) | ||||
| @ -709,49 +740,67 @@ | ||||
| 
 | ||||
| #endif // Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| #define Z_MIN_PROBE_PIN Z_MIN_PIN | ||||
| /**
 | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP // A3K leave disable!
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| #define Z_MIN_PROBE_REPEATABILITY_TEST | ||||
| 
 | ||||
| /**
 | ||||
| @ -771,12 +820,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   50 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -575,81 +575,113 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 4000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
| // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
| 
 | ||||
| /**
 | ||||
|  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|  * Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. | ||||
|  */ | ||||
| //#define Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| #if ENABLED(Z_PROBE_ALLEN_KEY) | ||||
| @ -693,49 +725,66 @@ | ||||
| 
 | ||||
| #endif // Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| #define Z_MIN_PROBE_ENDSTOP | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
 | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -755,12 +804,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -575,81 +575,105 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 0     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -10   // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 4000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
| // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
| /**
 | ||||
|  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|  * Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. | ||||
|  */ | ||||
| #define Z_PROBE_ALLEN_KEY | ||||
| 
 | ||||
| #if ENABLED(Z_PROBE_ALLEN_KEY) | ||||
| @ -696,49 +720,66 @@ | ||||
| 
 | ||||
| #endif // Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -758,12 +799,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   50 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -569,83 +569,115 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -23 // KosselPro actual: -22.919
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -6  // KosselPro actual: -6.304
 | ||||
| // Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of
 | ||||
| // not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed.
 | ||||
| /**
 | ||||
|  * Kossel Pro note: The correct value is likely -17.45 but I'd rather err on the side of | ||||
|  * not giving someone a head crash. Use something like G29 Z-0.2 to adjust as needed. | ||||
|  */ | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -17.25  // Increase this if the first layer is too thin (remember: it's a negative number so increase means closer to zero).
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
| // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
| /**
 | ||||
|  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|  * Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. | ||||
|  */ | ||||
| #define Z_PROBE_ALLEN_KEY | ||||
| 
 | ||||
| #if ENABLED(Z_PROBE_ALLEN_KEY) | ||||
| @ -695,49 +727,66 @@ | ||||
| 
 | ||||
| #endif // Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -756,10 +805,9 @@ | ||||
|  */ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   100 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES   5 // Z Clearance between probe points
 | ||||
|   | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -15 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX   5 | ||||
| 
 | ||||
|  | ||||
| @ -588,81 +588,112 @@ | ||||
| #define DEFAULT_EJERK                 20.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| #define FIX_MOUNTED_PROBE | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER 0.0     // Z probe to nozzle X offset: -left  +right
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER 0.0     // Z probe to nozzle Y offset: -front +behind
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER 0.3     // Z probe to nozzle Z offset: -below (always!)
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
| // Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN.
 | ||||
| /**
 | ||||
|  * Allen key retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
 | ||||
|  * Deploys by touching z-axis belt. Retracts by pushing the probe down. Uses Z_MIN_PIN. | ||||
|  */ | ||||
| //#define Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| #if ENABLED(Z_PROBE_ALLEN_KEY) | ||||
| @ -706,49 +737,65 @@ | ||||
| 
 | ||||
| #endif // Z_PROBE_ALLEN_KEY
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| #define Z_MIN_PROBE_ENDSTOP | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
 | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -768,12 +815,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   20 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES 10 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -533,122 +533,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -668,12 +716,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 0 | ||||
|  | ||||
| @ -526,122 +526,170 @@ | ||||
| #define DEFAULT_EJERK                  5.0 | ||||
| 
 | ||||
| 
 | ||||
| //===========================================================================
 | ||||
| //============================= Z Probe Options =============================
 | ||||
| //===========================================================================
 | ||||
| // @section probes
 | ||||
| /**
 | ||||
|  * =========================================================================== | ||||
|  * ============================= Z Probe Options ============================= | ||||
|  * =========================================================================== | ||||
|  *    @section probes | ||||
|  * | ||||
|  * | ||||
|  *   Probe Type | ||||
|  *   Probes are sensors/switches that are activated / deactivated before/after use. | ||||
|  * | ||||
|  *   Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc. | ||||
|  *   You must activate one of these to use Auto Bed Leveling below. | ||||
|  * | ||||
|  *   Use M851 to set the Z probe vertical offset from the nozzle. Store with M500. | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // Probe Type
 | ||||
| // Probes are sensors/switches that are activated / deactivated before/after use.
 | ||||
| //
 | ||||
| // Allen Key Probes, Servo Probes, Z-Sled Probes, FIX_MOUNTED_PROBE, etc.
 | ||||
| // You must activate one of these to use Auto Bed Leveling below.
 | ||||
| //
 | ||||
| // Use M851 to set the Z probe vertical offset from the nozzle. Store with M500.
 | ||||
| //
 | ||||
| 
 | ||||
| // The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe.
 | ||||
| // Use G29 repeatedly, adjusting the Z height at each point with movement commands
 | ||||
| // or (with LCD_BED_LEVELING) the LCD controller.
 | ||||
| /**
 | ||||
|  *   The "Manual Probe" provides a means to do "Auto" Bed Leveling without a probe. | ||||
|  *   Use G29 repeatedly, adjusting the Z height at each point with movement commands | ||||
|  *   or (with LCD_BED_LEVELING) the LCD controller. | ||||
|  */ | ||||
| //#define PROBE_MANUALLY
 | ||||
| 
 | ||||
| // A Fix-Mounted Probe either doesn't deploy or needs manual deployment.
 | ||||
| // For example an inductive probe, or a setup that uses the nozzle to probe.
 | ||||
| // An inductive probe must be deactivated to go below
 | ||||
| // its trigger-point if hardware endstops are active.
 | ||||
| /**
 | ||||
|  *   A Fix-Mounted Probe either doesn't deploy or needs manual deployment. | ||||
|  *   For example an inductive probe, or a setup that uses the nozzle to probe. | ||||
|  *   An inductive probe must be deactivated to go below | ||||
|  *   its trigger-point if hardware endstops are active. | ||||
|  */ | ||||
| //#define FIX_MOUNTED_PROBE
 | ||||
| 
 | ||||
| // The BLTouch probe emulates a servo probe.
 | ||||
| // The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
 | ||||
| /**
 | ||||
|  *   Z Servo Probe, such as an endstop switch on a rotating arm. | ||||
|  *   NUM_SERVOS also needs to be set.  This is found later in this file.  Set it to | ||||
|  *   1 + the number of other servos in your system. | ||||
|  */ | ||||
| //#define Z_ENDSTOP_SERVO_NR 0   // Defaults to SERVO 0 connector.
 | ||||
| //#define Z_SERVO_ANGLES {70,0}  // Z Servo Deploy and Stow angles
 | ||||
| 
 | ||||
|  /**
 | ||||
|  *   The BLTouch probe emulates a servo probe. | ||||
|  *   If using a BLTouch then NUM_SERVOS, Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES | ||||
|  *   are setup for you in the background and you shouldn't need to set/modify/enable them | ||||
|  *   with the possible exception of Z_ENDSTOP_SERVO_NR. | ||||
|  */ | ||||
| //#define BLTOUCH
 | ||||
| //#define BLTOUCH_DELAY 375 // (ms) Enable and increase if needed
 | ||||
| 
 | ||||
| // Z Servo Probe, such as an endstop switch on a rotating arm.
 | ||||
| //#define Z_ENDSTOP_SERVO_NR 0
 | ||||
| //#define Z_SERVO_ANGLES {70,0} // Z Servo Deploy and Stow angles
 | ||||
| /**
 | ||||
|  *   BLTouch WARNING  -  ONLY APPLIES TO VERSIONS OF MARLIN BEFORE 15 FEB 2017 | ||||
|  *   Unless using interrupt endstops, there is a MINIMUM feedrate for Marlin to reliably | ||||
|  *   sense the BLTouch.  If the feedrate is too slow then G28 & G29 can sometimes result | ||||
|  *   in the print head being driven into the bed until manual intervention. | ||||
|  *   The minimum feedrate calculation is: | ||||
|  * | ||||
|  *     feedrate minimum =  24000 / DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  *        where feedrate is in "mm/minute" or "inches/minute" depending on the units used | ||||
|  *        in DEFAULT_AXIS_STEPS_PER_UNIT | ||||
|  * | ||||
|  *   This applies to the HOMING_FEEDRATE_Z and Z_PROBE_SPEED_FAST.  If PROBE_DOUBLE_TOUCH | ||||
|  *   is enabled then it also applies to Z_PROBE_SPEED_SLOW. | ||||
|  */ | ||||
| 
 | ||||
| // Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.
 | ||||
| /*   Enable if you have a Z probe mounted on a sled like those designed by Charles Bell.  */ | ||||
| //#define Z_PROBE_SLED
 | ||||
| //#define SLED_DOCKING_OFFSET 5 // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| //#define SLED_DOCKING_OFFSET 5  // The extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.
 | ||||
| 
 | ||||
| //
 | ||||
| // Allen Key Probe is defined in the Delta example configurations.
 | ||||
| //
 | ||||
| 
 | ||||
| // Z Probe to nozzle (X,Y) offset, relative to (0, 0).
 | ||||
| // X and Y offsets must be integers.
 | ||||
| //
 | ||||
| // In the following example the X and Y offsets are both positive:
 | ||||
| // #define X_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| // #define Y_PROBE_OFFSET_FROM_EXTRUDER 10
 | ||||
| //
 | ||||
| //    +-- BACK ---+
 | ||||
| //    |           |
 | ||||
| //  L |    (+) P  | R <-- probe (20,20)
 | ||||
| //  E |           | I
 | ||||
| //  F | (-) N (+) | G <-- nozzle (10,10)
 | ||||
| //  T |           | H
 | ||||
| //    |    (-)    | T
 | ||||
| //    |           |
 | ||||
| //    O-- FRONT --+
 | ||||
| //  (0,0)
 | ||||
| /**
 | ||||
|  *   Z Probe to nozzle (X,Y) offset, relative to (0, 0). | ||||
|  *   X and Y offsets must be integers. | ||||
|  * | ||||
|  *   In the following example the X and Y offsets are both positive: | ||||
|  *   #define X_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  *   #define Y_PROBE_OFFSET_FROM_EXTRUDER 10 | ||||
|  * | ||||
|  *      +-- BACK ---+ | ||||
|  *      |           | | ||||
|  *    L |    (+) P  | R <-- probe (20,20) | ||||
|  *    E |           | I | ||||
|  *    F | (-) N (+) | G <-- nozzle (10,10) | ||||
|  *    T |           | H | ||||
|  *      |    (-)    | T | ||||
|  *      |           | | ||||
|  *      O-- FRONT --+ | ||||
|  *    (0,0) | ||||
|  */ | ||||
| #define X_PROBE_OFFSET_FROM_EXTRUDER -25     // X offset: -left  +right  [of the nozzle]
 | ||||
| #define Y_PROBE_OFFSET_FROM_EXTRUDER -29     // Y offset: -front +behind [the nozzle]
 | ||||
| #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35  // Z offset: -below +above  [the nozzle]
 | ||||
| 
 | ||||
| // X and Y axis travel speed (mm/m) between probes
 | ||||
| /*   X and Y axis travel speed (mm/m) between probes */ | ||||
| #define XY_PROBE_SPEED 8000 | ||||
| // Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH)
 | ||||
| 
 | ||||
| /*   Speed for the first approach when double-probing (with PROBE_DOUBLE_TOUCH) */ | ||||
| #define Z_PROBE_SPEED_FAST HOMING_FEEDRATE_Z | ||||
| // Speed for the "accurate" probe of each point
 | ||||
| 
 | ||||
| /*   Speed for the "accurate" probe of each point  */ | ||||
| #define Z_PROBE_SPEED_SLOW (Z_PROBE_SPEED_FAST / 2) | ||||
| // Use double touch for probing
 | ||||
| 
 | ||||
| /*   Use double touch for probing  */ | ||||
| //#define PROBE_DOUBLE_TOUCH
 | ||||
| 
 | ||||
| // *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! ***
 | ||||
| //
 | ||||
| // To continue using the Z-min-endstop for homing, be sure to disable Z_SAFE_HOMING.
 | ||||
| // Example: To park the head outside the bed area when homing with G28.
 | ||||
| //
 | ||||
| // To use a separate Z probe, your board must define a Z_MIN_PROBE_PIN.
 | ||||
| //
 | ||||
| // For a servo-based Z probe, just set Z_ENDSTOP_SERVO_NR and Z_SERVO_ANGLES above.
 | ||||
| //
 | ||||
| // - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin.
 | ||||
| // - Use 5V for powered (usu. inductive) sensors.
 | ||||
| // - Otherwise connect:
 | ||||
| //   - normally-closed switches to GND and D32.
 | ||||
| //   - normally-open switches to 5V and D32.
 | ||||
| //
 | ||||
| // Normally-closed switches are advised and are the default.
 | ||||
| //
 | ||||
| /**
 | ||||
|  *   Allen Key Probe is defined in the Delta example configurations. | ||||
|  * | ||||
|  * | ||||
|  *   *** PLEASE READ ALL INSTRUCTIONS BELOW FOR SAFETY! *** | ||||
|  * | ||||
|  *   - RAMPS 1.3/1.4 boards may be able to use the 5V, GND, and Aux4->D32 pin. | ||||
|  *   - Use 5V for powered (usu. inductive) sensors. | ||||
|  *   - Otherwise connect: | ||||
|  *     - normally-closed switches to GND and D32. | ||||
|  *     - normally-open switches to 5V and D32. | ||||
|  * | ||||
|  *   Normally-closed switches are advised and are the default. | ||||
|  * | ||||
|  * | ||||
|  *   PIN OPTIONS\SETUP FOR Z PROBES | ||||
|  * | ||||
|  * | ||||
|  *   WARNING: | ||||
|  *   Setting the wrong pin may have unexpected and potentially disastrous consequences. | ||||
|  *   Use with caution and do your homework. | ||||
|  * | ||||
|  * | ||||
|  *   All Z PROBE pin options are configured by defining (or not defining) | ||||
|  *   the following five items: | ||||
|  *       Z_MIN_PROBE_ENDSTOP – defined below | ||||
|  *       Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN – defined below | ||||
|  *       Z_MIN_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  *       Z_MIN_PROBE_PIN - defined in the pins_YOUR_BOARD.h file | ||||
|  * | ||||
|  *   If you're using a probe then you need to tell Marlin which pin to use as | ||||
|  *   the Z MIN ENDSTOP.  Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN determines if the | ||||
|  *   Z_MIN_PIN or if the Z_MIN_PROBE_PIN is used. | ||||
|  * | ||||
|  *   The pin selected for the probe is ONLY checked during probing operations. | ||||
|  *   If you want to use the Z_MIN_PIN as an endstop AND you want to have a Z PROBE | ||||
|  *   then you’ll need to use the Z_MIN_PROBE_PIN option. | ||||
|  * | ||||
|  *   Z_MIN_PROBE_ENDSTOP also needs to be enabled if you want to use Z_MIN_PROBE_PIN. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PROBE_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. define Z_MIN_PROBE_PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. disable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. enable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTE – if Z_MIN_PIN is defined then it’ll be checked during all moves in the | ||||
|  *          negative Z direction. | ||||
|  * | ||||
|  *   The settings needed to use the Z_MIN_PIN are: | ||||
|  *       1. select the type of probe you're using | ||||
|  *       2. enable Z_MIN _PIN in your pins_YOUR_BOARD.h file | ||||
|  *       3. enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
|  *       4. disable Z_MIN_PROBE_ENDSTOP | ||||
|  *   NOTES – if Z_MIN_PROBE_PIN is defined in the pins_YOUR_BOARD.h file then it’ll be | ||||
|  *          ignored by Marlin | ||||
|  */ | ||||
| 
 | ||||
| //
 | ||||
| // The Z_MIN_PROBE_PIN sets the Arduino pin to use. (See your board's pins file.)
 | ||||
| // Since the RAMPS Aux4->D32 pin maps directly to the Arduino D32 pin, D32 is the
 | ||||
| // default pin for all RAMPS-based boards. Most boards use the X_MAX_PIN by default.
 | ||||
| // To use a different pin you can override it here.
 | ||||
| //
 | ||||
| // WARNING:
 | ||||
| // Setting the wrong pin may have unexpected and potentially disastrous consequences.
 | ||||
| // Use with caution and do your homework.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_PIN X_MAX_PIN
 | ||||
| 
 | ||||
| //
 | ||||
| // Enable Z_MIN_PROBE_ENDSTOP to use _both_ a Z Probe and a Z-min-endstop on the same machine.
 | ||||
| // With this option the Z_MIN_PROBE_PIN will only be used for probing, never for homing.
 | ||||
| //
 | ||||
| //#define Z_MIN_PROBE_ENDSTOP
 | ||||
| 
 | ||||
| // Enable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN to use the Z_MIN_PIN for your Z_MIN_PROBE.
 | ||||
| // The Z_MIN_PIN will then be used for both Z-homing and probing.
 | ||||
| #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN | ||||
| 
 | ||||
| // To use a probe you must enable one of the two options above!
 | ||||
| 
 | ||||
| // Enable Z Probe Repeatability test to see how accurate your probe is
 | ||||
| /* Enable Z Probe Repeatability test to see how accurate your probe is  */ | ||||
| //#define Z_MIN_PROBE_REPEATABILITY_TEST
 | ||||
| 
 | ||||
| /**
 | ||||
| @ -661,12 +709,11 @@ | ||||
| #define Z_CLEARANCE_DEPLOY_PROBE   15 // Z Clearance for Deploy/Stow
 | ||||
| #define Z_CLEARANCE_BETWEEN_PROBES  5 // Z Clearance between probe points
 | ||||
| 
 | ||||
| //
 | ||||
| // For M851 give a range for adjusting the Z probe offset
 | ||||
| //
 | ||||
| /* For M851 give a range for adjusting the Z probe offset */ | ||||
| #define Z_PROBE_OFFSET_RANGE_MIN -20 | ||||
| #define Z_PROBE_OFFSET_RANGE_MAX 20 | ||||
| 
 | ||||
| 
 | ||||
| // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1
 | ||||
| // :{ 0:'Low', 1:'High' }
 | ||||
| #define X_ENABLE_ON 1 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user