diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 8fc9f74785..bc85cc2fb8 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -530,122 +530,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/Cartesio/Configuration.h b/Marlin/example_configurations/Cartesio/Configuration.h index 46119be60f..a11bb7d70b 100644 --- a/Marlin/example_configurations/Cartesio/Configuration.h +++ b/Marlin/example_configurations/Cartesio/Configuration.h @@ -530,122 +530,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index 0d2b6553ba..f327479d11 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -513,122 +513,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/Felix/DUAL/Configuration.h b/Marlin/example_configurations/Felix/DUAL/Configuration.h index f3c6d9be43..bf60c1be59 100644 --- a/Marlin/example_configurations/Felix/DUAL/Configuration.h +++ b/Marlin/example_configurations/Felix/DUAL/Configuration.h @@ -513,122 +513,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index 5b6d17b836..3c12c03c98 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -522,122 +522,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/Hephestos_2/Configuration.h b/Marlin/example_configurations/Hephestos_2/Configuration.h index efaa962fd7..e01cc0ee82 100644 --- a/Marlin/example_configurations/Hephestos_2/Configuration.h +++ b/Marlin/example_configurations/Hephestos_2/Configuration.h @@ -524,122 +524,170 @@ #define DEFAULT_EJERK 1.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 75f6377883..1b6ff0645e 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -559,122 +559,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/K8400/Configuration.h b/Marlin/example_configurations/K8400/Configuration.h index 61bde92d18..ac16107a53 100644 --- a/Marlin/example_configurations/K8400/Configuration.h +++ b/Marlin/example_configurations/K8400/Configuration.h @@ -530,122 +530,170 @@ #define DEFAULT_EJERK 20.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/K8400/Dual-head/Configuration.h b/Marlin/example_configurations/K8400/Dual-head/Configuration.h index e798a9c822..b40eb460e5 100644 --- a/Marlin/example_configurations/K8400/Dual-head/Configuration.h +++ b/Marlin/example_configurations/K8400/Dual-head/Configuration.h @@ -530,122 +530,170 @@ #define DEFAULT_EJERK 20.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index 75f1eb700d..20ca7ae84c 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -530,122 +530,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index 8494788ebd..5ccf190359 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -529,122 +529,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index 08cd979c37..f118d361f1 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -545,122 +545,170 @@ #define DEFAULT_EJERK 3.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/TAZ4/Configuration.h b/Marlin/example_configurations/TAZ4/Configuration.h index 26c7ca69ea..8793a41a15 100644 --- a/Marlin/example_configurations/TAZ4/Configuration.h +++ b/Marlin/example_configurations/TAZ4/Configuration.h @@ -551,122 +551,170 @@ #define DEFAULT_EJERK 10.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/TinyBoy2/Configuration.h b/Marlin/example_configurations/TinyBoy2/Configuration.h index c8d108fa77..952d95f135 100644 --- a/Marlin/example_configurations/TinyBoy2/Configuration.h +++ b/Marlin/example_configurations/TinyBoy2/Configuration.h @@ -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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index fdd62abe08..dd8c3d759a 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -522,122 +522,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 23d58e3e82..e55e394a13 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -530,122 +530,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h b/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h index 53ee50da63..f71c9c4c37 100644 --- a/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/flsun_kossel_mini/Configuration.h @@ -588,81 +588,112 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 1290d44b8f..2060eace9e 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -575,81 +575,113 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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. -// - -// -// 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 +/** + * + * *** 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 - -// 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 diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 67db5b00c4..4e82838ede 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -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 - -// 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) @@ -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. -// - -// -// 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 +/** + * + * *** 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 - -// 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 diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index f5e040e608..2d3b215020 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -569,83 +569,115 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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. -// - -// -// 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 +/** + * + * *** 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 - -// 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 diff --git a/Marlin/example_configurations/delta/kossel_xl/Configuration.h b/Marlin/example_configurations/delta/kossel_xl/Configuration.h index fb3cbe3ede..bb0a094abb 100644 --- a/Marlin/example_configurations/delta/kossel_xl/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_xl/Configuration.h @@ -588,81 +588,112 @@ #define DEFAULT_EJERK 20.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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. -// - -// -// 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 +/** + * *** 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 - -// 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 diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index 86cead4347..71df0a5d11 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -533,122 +533,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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 diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index 50f0c20e08..d2aaaf147f 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -526,122 +526,170 @@ #define DEFAULT_EJERK 5.0 -//=========================================================================== -//============================= 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. -// +/** + * =========================================================================== + * ============================= 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. + */ -// 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. - -// -// Allen Key Probe is defined in the Delta example configurations. -// +//#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. -// 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 -//#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. -// +/* Use double touch for probing */ +//#define PROBE_DOUBLE_TOUCH -// -// 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 +/** + * 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 + */ -// -// 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