From 9897a9147c7f6aea4ea7318bbc1ebd21af40a52b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Lefranc=CC=A7ois?= Date: Thu, 20 Aug 2015 10:07:55 -0400 Subject: [PATCH] Update ABL comments (PR#95) * Updates the auto bed leveling comments ONLY. * Renames "Z probe" word usage in //comments and #errors properly. --- Marlin/Configuration.h | 127 +++++++++------- Marlin/Marlin_main.cpp | 74 ++++----- Marlin/SanityCheck.h | 32 ++-- Marlin/configurator/config/Configuration.h | 127 +++++++++------- .../Felix/Configuration.h | 132 +++++++++------- .../Felix/Configuration_DUAL.h | 142 +++++++++++------- .../Hephestos/Configuration.h | 132 +++++++++------- .../K8200/Configuration.h | 132 +++++++++------- .../RepRapWorld/Megatronics/Configuration.h | 132 +++++++++------- .../RigidBot/Configuration.h | 127 +++++++++------- .../SCARA/Configuration.h | 132 +++++++++------- .../WITBOX/Configuration.h | 132 +++++++++------- .../adafruit/ST7565/Configuration.h | 132 +++++++++------- .../delta/biv2.5/Configuration.h | 136 ++++++++++------- .../delta/generic/Configuration.h | 132 +++++++++------- .../delta/kossel_mini/Configuration.h | 132 +++++++++------- .../delta/kossel_pro/Configuration.h | 126 +++++++++------- .../makibox/Configuration.h | 132 +++++++++------- .../tvrrug/Round2/Configuration.h | 132 +++++++++------- Marlin/pins_BRAINWAVE_PRO.h | 2 +- 20 files changed, 1357 insertions(+), 988 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 827cfd2cee..772683877d 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe minimum square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -785,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 45b48288d7..88c5bfc8d4 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -88,8 +88,8 @@ * G10 - retract filament according to settings of M207 * G11 - retract recover filament according to settings of M208 * G28 - Home one or more axes - * G29 - Detailed Z-Probe, probes the bed at 3 or more points. Will fail if you haven't homed yet. - * G30 - Single Z Probe, probes bed at current XY location. + * G29 - Detailed Z probe, probes the bed at 3 or more points. Will fail if you haven't homed yet. + * G30 - Single Z probe, probes bed at current XY location. * G31 - Dock sled (Z_PROBE_SLED only) * G32 - Undock sled (Z_PROBE_SLED only) * G90 - Use Absolute Coordinates @@ -179,8 +179,8 @@ * M380 - Activate solenoid on active extruder * M381 - Disable all solenoids * M400 - Finish all moves - * M401 - Lower z-probe if present - * M402 - Raise z-probe if present + * M401 - Lower Z probe if present + * M402 - Raise Z probe if present * M404 - N Enter the nominal filament width (3mm, 1.75mm ) or will display nominal filament width without parameters * M405 - Turn on Filament Sensor extrusion control. Optional D to set delay in centimeters between sensor and extruder * M406 - Turn off Filament Sensor extrusion control @@ -214,7 +214,7 @@ * * ************ Custom codes - This can change to suit future G-code regulations * M100 - Watch Free Memory (For Debugging Only) - * M851 - Set probe's Z offset (mm above extruder -- The value will always be negative) + * M851 - Set Z probe's Z offset (mm above extruder -- The value will always be negative) * M928 - Start SD logging (M928 filename.g) - ended by M29 @@ -1239,7 +1239,7 @@ static void setup_for_endstop_move() { plan_bed_level_matrix.set_to_identity(); feedrate = homing_feedrate[Z_AXIS]; - // Move down until the probe (or endstop?) is triggered + // Move down until the Z probe (or endstop?) is triggered float zPosition = -(Z_MAX_LENGTH + 10); line_to_z(zPosition); st_synchronize(); @@ -1329,7 +1329,7 @@ static void setup_for_endstop_move() { #elif ENABLED(Z_PROBE_ALLEN_KEY) feedrate = Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE; - // If endstop is already false, the probe is deployed + // If endstop is already false, the Z probe is deployed #if ENABLED(Z_MIN_PROBE_ENDSTOP) bool z_probe_endstop = (READ(Z_MIN_PROBE_PIN) != Z_MIN_PROBE_ENDSTOP_INVERTING); if (z_probe_endstop) @@ -1443,7 +1443,7 @@ static void setup_for_endstop_move() { destination[Z_AXIS] = Z_PROBE_ALLEN_KEY_STOW_1_Z; prepare_move_raw(); - // Move the nozzle down to push the probe into retracted position + // Move the nozzle down to push the Z probe into retracted position if (Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE != Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE) { feedrate = Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE; } @@ -1506,7 +1506,7 @@ static void setup_for_endstop_move() { // Probe bed height at position (x,y), returns the measured z value static float probe_pt(float x, float y, float z_before, ProbeAction probe_action=ProbeDeployAndStow, int verbose_level=1) { - // Move Z up to the z_before height, then move the probe to the given XY + // Move Z up to the z_before height, then move the Z probe to the given XY do_blocking_move_to_z(z_before); // this also updates current_position do_blocking_move_to_xy(x - X_PROBE_OFFSET_FROM_EXTRUDER, y - Y_PROBE_OFFSET_FROM_EXTRUDER); // this also updates current_position @@ -1678,7 +1678,7 @@ static void homeaxis(AxisEnum axis) { #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED) - // Deploy a probe if there is one, and homing towards the bed + // Deploy a Z probe if there is one, and homing towards the bed if (axis == Z_AXIS) { if (axis_home_dir < 0) deploy_z_probe(); } @@ -1770,7 +1770,7 @@ static void homeaxis(AxisEnum axis) { axis_known_position[axis] = true; #if ENABLED(Z_PROBE_SLED) - // bring probe back + // bring Z probe back if (axis == Z_AXIS) { if (axis_home_dir < 0) dock_sled(true); } @@ -1778,7 +1778,7 @@ static void homeaxis(AxisEnum axis) { #if SERVO_LEVELING && DISABLED(Z_PROBE_SLED) - // Deploy a probe if there is one, and homing towards the bed + // Deploy a Z probe if there is one, and homing towards the bed if (axis == Z_AXIS) { if (axis_home_dir < 0) stow_z_probe(); } @@ -2157,7 +2157,7 @@ inline void gcode_G28() { sync_plan_position(); // - // Set the probe (or just the nozzle) destination to the safe homing point + // Set the Z probe (or just the nozzle) destination to the safe homing point // // NOTE: If current_position[X_AXIS] or current_position[Y_AXIS] were set above // then this may not work as expected. @@ -2182,8 +2182,8 @@ inline void gcode_G28() { // Let's see if X and Y are homed if (axis_known_position[X_AXIS] && axis_known_position[Y_AXIS]) { - // Make sure the probe is within the physical limits - // NOTE: This doesn't necessarily ensure the probe is also within the bed! + // Make sure the Z probe is within the physical limits + // NOTE: This doesn't necessarily ensure the Z probe is also within the bed! float cpx = current_position[X_AXIS], cpy = current_position[Y_AXIS]; if ( cpx >= X_MIN_POS - X_PROBE_OFFSET_FROM_EXTRUDER && cpx <= X_MAX_POS - X_PROBE_OFFSET_FROM_EXTRUDER @@ -2265,7 +2265,7 @@ inline void gcode_G28() { enum MeshLevelingState { MeshReport, MeshStart, MeshNext, MeshSet }; /** - * G29: Mesh-based Z-Probe, probes a grid and produces a + * G29: Mesh-based Z probe, probes a grid and produces a * mesh to compensate for variable bed height * * Parameters With MESH_BED_LEVELING: @@ -2404,7 +2404,7 @@ inline void gcode_G28() { } /** - * G29: Detailed Z-Probe, probes the bed at 3 or more points. + * G29: Detailed Z probe, probes the bed at 3 or more points. * Will fail if the printer has not been homed with G28. * * Enhanced G29 Auto Bed Leveling Probe Routine @@ -2435,9 +2435,9 @@ inline void gcode_G28() { * * Global Parameters: * - * E/e By default G29 will engage the probe, test the bed, then disengage. - * Include "E" to engage/disengage the probe for each sample. - * There's no extra effect if you have a fixed probe. + * E/e By default G29 will engage the Z probe, test the bed, then disengage. + * Include "E" to engage/disengage the Z probe for each sample. + * There's no extra effect if you have a fixed Z probe. * Usage: "G29 E" or "G29 e" * */ @@ -2519,7 +2519,7 @@ inline void gcode_G28() { #endif // AUTO_BED_LEVELING_GRID #if ENABLED(Z_PROBE_SLED) - dock_sled(false); // engage (un-dock) the probe + dock_sled(false); // engage (un-dock) the Z probe #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING deploy_z_probe(); #endif @@ -2755,23 +2755,23 @@ inline void gcode_G28() { plan_bed_level_matrix.debug(" \n\nBed Level Correction Matrix:"); if (!dryrun) { - // Correct the Z height difference from z-probe position and hotend tip position. - // The Z height on homing is measured by Z-Probe, but the probe is quite far from the hotend. + // Correct the Z height difference from Z probe position and nozzle tip position. + // The Z height on homing is measured by Z probe, but the Z probe is quite far from the nozzle. // When the bed is uneven, this height must be corrected. float x_tmp = current_position[X_AXIS] + X_PROBE_OFFSET_FROM_EXTRUDER, y_tmp = current_position[Y_AXIS] + Y_PROBE_OFFSET_FROM_EXTRUDER, z_tmp = current_position[Z_AXIS], real_z = st_get_position_mm(Z_AXIS); //get the real Z (since plan_get_position is now correcting the plane) - apply_rotation_xyz(plan_bed_level_matrix, x_tmp, y_tmp, z_tmp); // Apply the correction sending the probe offset + apply_rotation_xyz(plan_bed_level_matrix, x_tmp, y_tmp, z_tmp); // Apply the correction sending the Z probe offset // Get the current Z position and send it to the planner. // // >> (z_tmp - real_z) : The rotated current Z minus the uncorrected Z (most recent plan_set_position/sync_plan_position) // - // >> zprobe_zoffset : Z distance from nozzle to probe (set by default, M851, EEPROM, or Menu) + // >> zprobe_zoffset : Z distance from nozzle to Z probe (set by default, M851, EEPROM, or Menu) // - // >> Z_RAISE_AFTER_PROBING : The distance the probe will have lifted after the last probe + // >> Z_RAISE_AFTER_PROBING : The distance the Z probe will have lifted after the last probe // // >> Should home_offset[Z_AXIS] be included? // @@ -2786,13 +2786,13 @@ inline void gcode_G28() { + Z_RAISE_AFTER_PROBING #endif ; - // current_position[Z_AXIS] += home_offset[Z_AXIS]; // The probe determines Z=0, not "Z home" + // current_position[Z_AXIS] += home_offset[Z_AXIS]; // The Z probe determines Z=0, not "Z home" sync_plan_position(); } #endif // !DELTA #if ENABLED(Z_PROBE_SLED) - dock_sled(true); // dock the probe + dock_sled(true); // dock the Z probe #elif ENABLED(Z_PROBE_ALLEN_KEY) //|| SERVO_LEVELING stow_z_probe(); #endif @@ -3121,14 +3121,14 @@ inline void gcode_M42() { // This is redundant since the SanityCheck.h already checks for a valid Z_MIN_PROBE_PIN, but here for clarity. #if ENABLED(Z_MIN_PROBE_ENDSTOP) #if !HAS_Z_PROBE - #error You must define Z_MIN_PROBE_PIN to enable Z-Probe repeatability calculation. + #error You must define Z_MIN_PROBE_PIN to enable Z probe repeatability calculation. #endif #elif !HAS_Z_MIN - #error You must define Z_MIN_PIN to enable Z-Probe repeatability calculation. + #error You must define Z_MIN_PIN to enable Z probe repeatability calculation. #endif /** - * M48: Z-Probe repeatability measurement function. + * M48: Z probe repeatability measurement function. * * Usage: * M48 @@ -3136,11 +3136,11 @@ inline void gcode_M42() { * X = Sample X position * Y = Sample Y position * V = Verbose level (0-4, default=1) - * E = Engage probe for each reading + * E = Engage Z probe for each reading * L = Number of legs of movement before probe * * This function assumes the bed has been homed. Specifically, that a G28 command - * as been issued prior to invoking the M48 Z-Probe repeatability measurement function. + * as been issued prior to invoking the M48 Z probe repeatability measurement function. * Any information generated by a prior G29 Bed leveling command will be lost and need to be * regenerated. */ @@ -3203,7 +3203,7 @@ inline void gcode_M42() { } // - // Do all the preliminary setup work. First raise the probe. + // Do all the preliminary setup work. First raise the Z probe. // st_synchronize(); @@ -5283,7 +5283,7 @@ void process_next_command() { break; #if ENABLED(ENABLE_AUTO_BED_LEVELING) || ENABLED(MESH_BED_LEVELING) - case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points. + case 29: // G29 Detailed Z probe, probes the bed at 3 or more points. gcode_G29(); break; #endif @@ -5292,7 +5292,7 @@ void process_next_command() { #if DISABLED(Z_PROBE_SLED) - case 30: // G30 Single Z Probe + case 30: // G30 Single Z probe gcode_G30(); break; @@ -5378,7 +5378,7 @@ void process_next_command() { break; #if ENABLED(ENABLE_AUTO_BED_LEVELING) && ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST) - case 48: // M48 Z-Probe repeatability + case 48: // M48 Z probe repeatability gcode_M48(); break; #endif // ENABLE_AUTO_BED_LEVELING && Z_MIN_PROBE_REPEATABILITY_TEST diff --git a/Marlin/SanityCheck.h b/Marlin/SanityCheck.h index 883f767835..bf8dc1752f 100644 --- a/Marlin/SanityCheck.h +++ b/Marlin/SanityCheck.h @@ -130,20 +130,20 @@ #if ENABLED(ENABLE_AUTO_BED_LEVELING) /** - * Require a Z Min pin + * Require a Z min pin */ #if !PIN_EXISTS(Z_MIN) - #if !PIN_EXISTS(Z_MIN_PROBE) || (DISABLED(Z_MIN_PROBE_ENDSTOP) || ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)) // It's possible for someone to set a pin for the Z Probe, but not enable it. + #if !PIN_EXISTS(Z_MIN_PROBE) || (DISABLED(Z_MIN_PROBE_ENDSTOP) || ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)) // It's possible for someone to set a pin for the Z probe, but not enable it. #if ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST) - #error You must have a Z_MIN or Z_PROBE endstop to enable Z_MIN_PROBE_REPEATABILITY_TEST. + #error You must have a Z min or Z probe endstop to enable Z_MIN_PROBE_REPEATABILITY_TEST. #else - #error ENABLE_AUTO_BED_LEVELING requires a Z_MIN or Z_PROBE endstop. Z_MIN_PIN or Z_MIN_PROBE_PIN must point to a valid hardware pin. + #error ENABLE_AUTO_BED_LEVELING requires a Z min or Z probe endstop. Z_MIN_PIN or Z_MIN_PROBE_PIN must point to a valid hardware pin. #endif #endif #endif /** - * Require a Z Probe Pin if Z_MIN_PROBE_ENDSTOP is enabled. + * Require a Z probe pin if Z_MIN_PROBE_ENDSTOP is enabled. */ #if ENABLED(Z_MIN_PROBE_ENDSTOP) #ifndef Z_MIN_PROBE_PIN @@ -179,30 +179,30 @@ #endif // Make sure probing points are reachable #if LEFT_PROBE_BED_POSITION < MIN_PROBE_X - #error "The given LEFT_PROBE_BED_POSITION can't be reached by the probe." + #error "The given LEFT_PROBE_BED_POSITION can't be reached by the Z probe." #elif RIGHT_PROBE_BED_POSITION > MAX_PROBE_X - #error "The given RIGHT_PROBE_BED_POSITION can't be reached by the probe." + #error "The given RIGHT_PROBE_BED_POSITION can't be reached by the Z probe." #elif FRONT_PROBE_BED_POSITION < MIN_PROBE_Y - #error "The given FRONT_PROBE_BED_POSITION can't be reached by the probe." + #error "The given FRONT_PROBE_BED_POSITION can't be reached by the Z probe." #elif BACK_PROBE_BED_POSITION > MAX_PROBE_Y - #error "The given BACK_PROBE_BED_POSITION can't be reached by the probe." + #error "The given BACK_PROBE_BED_POSITION can't be reached by the Z probe." #endif #endif #else // !AUTO_BED_LEVELING_GRID // Check the triangulation points #if ABL_PROBE_PT_1_X < MIN_PROBE_X || ABL_PROBE_PT_1_X > MAX_PROBE_X - #error "The given ABL_PROBE_PT_1_X can't be reached by the probe." + #error "The given ABL_PROBE_PT_1_X can't be reached by the Z probe." #elif ABL_PROBE_PT_2_X < MIN_PROBE_X || ABL_PROBE_PT_2_X > MAX_PROBE_X - #error "The given ABL_PROBE_PT_2_X can't be reached by the probe." + #error "The given ABL_PROBE_PT_2_X can't be reached by the Z probe." #elif ABL_PROBE_PT_3_X < MIN_PROBE_X || ABL_PROBE_PT_3_X > MAX_PROBE_X - #error "The given ABL_PROBE_PT_3_X can't be reached by the probe." + #error "The given ABL_PROBE_PT_3_X can't be reached by the Z probe." #elif ABL_PROBE_PT_1_Y < MIN_PROBE_Y || ABL_PROBE_PT_1_Y > MAX_PROBE_Y - #error "The given ABL_PROBE_PT_1_Y can't be reached by the probe." + #error "The given ABL_PROBE_PT_1_Y can't be reached by the Z probe." #elif ABL_PROBE_PT_2_Y < MIN_PROBE_Y || ABL_PROBE_PT_2_Y > MAX_PROBE_Y - #error "The given ABL_PROBE_PT_2_Y can't be reached by the probe." + #error "The given ABL_PROBE_PT_2_Y can't be reached by the Z probe." #elif ABL_PROBE_PT_3_Y < MIN_PROBE_Y || ABL_PROBE_PT_3_Y > MAX_PROBE_Y - #error "The given ABL_PROBE_PT_3_Y can't be reached by the probe." + #error "The given ABL_PROBE_PT_3_Y can't be reached by the Z probe." #endif #endif // !AUTO_BED_LEVELING_GRID @@ -240,7 +240,7 @@ #endif /** - * Allen Key Z Probe requires Auto Bed Leveling grid and Delta + * Allen Key Z probe requires Auto Bed Leveling grid and Delta */ #if ENABLED(Z_PROBE_ALLEN_KEY) && !(ENABLED(AUTO_BED_LEVELING_GRID) && ENABLED(DELTA)) #error Invalid use of Z_PROBE_ALLEN_KEY. diff --git a/Marlin/configurator/config/Configuration.h b/Marlin/configurator/config/Configuration.h index 827cfd2cee..b6875b4247 100644 --- a/Marlin/configurator/config/Configuration.h +++ b/Marlin/configurator/config/Configuration.h @@ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -785,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/Felix/Configuration.h b/Marlin/example_configurations/Felix/Configuration.h index 1984418ead..07b1463814 100644 --- a/Marlin/example_configurations/Felix/Configuration.h +++ b/Marlin/example_configurations/Felix/Configuration.h @@ -323,9 +323,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -401,11 +401,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -413,9 +413,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -424,12 +424,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -//#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +//#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -440,8 +440,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -451,16 +451,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 180 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -470,56 +470,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -596,6 +613,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -763,7 +785,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/Felix/Configuration_DUAL.h b/Marlin/example_configurations/Felix/Configuration_DUAL.h index ccccb19a7c..3067bdd4a9 100644 --- a/Marlin/example_configurations/Felix/Configuration_DUAL.h +++ b/Marlin/example_configurations/Felix/Configuration_DUAL.h @@ -308,6 +308,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, +// this has no effect. +//#define DISABLE_Z_MIN_PROBE_ENDSTOP + // For Inverting Stepper Enable Pins (Active Low) use 0, Non Inverting (Active High) use 1 #define X_ENABLE_ON 0 #define Y_ENABLE_ON 0 @@ -365,29 +371,35 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. + +#if ENABLED(MANUAL_BED_LEVELING) + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. +#endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) #define MESH_MIN_X 10 #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== //============================ Bed Auto Leveling ============================ //=========================================================================== -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -//#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +// @section bedlevel + +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +//#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -398,8 +410,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -409,16 +421,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 180 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -428,60 +440,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. - //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk - //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it. +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! - - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -557,6 +582,13 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + +// @section temperature + // Preheat Constants #define PLA_PREHEAT_HOTEND_TEMP 180 #define PLA_PREHEAT_HPB_TEMP 70 @@ -716,7 +748,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/Hephestos/Configuration.h b/Marlin/example_configurations/Hephestos/Configuration.h index adad1e6133..2632dea4bd 100644 --- a/Marlin/example_configurations/Hephestos/Configuration.h +++ b/Marlin/example_configurations/Hephestos/Configuration.h @@ -333,9 +333,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -411,11 +411,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -423,9 +423,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -434,12 +434,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -450,8 +450,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -461,16 +461,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -480,56 +480,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -605,6 +622,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -772,7 +794,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/K8200/Configuration.h b/Marlin/example_configurations/K8200/Configuration.h index 055f461b75..ddd5c7c587 100644 --- a/Marlin/example_configurations/K8200/Configuration.h +++ b/Marlin/example_configurations/K8200/Configuration.h @@ -329,9 +329,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -407,11 +407,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -419,9 +419,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -430,12 +430,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -446,8 +446,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -457,16 +457,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -476,56 +476,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -601,6 +618,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -768,7 +790,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h index 04dcdcad31..841815efd8 100644 --- a/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h +++ b/Marlin/example_configurations/RepRapWorld/Megatronics/Configuration.h @@ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -613,6 +630,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -780,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/RigidBot/Configuration.h b/Marlin/example_configurations/RigidBot/Configuration.h index 8b038cc1b0..fb8de6a871 100644 --- a/Marlin/example_configurations/RigidBot/Configuration.h +++ b/Marlin/example_configurations/RigidBot/Configuration.h @@ -327,9 +327,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -405,11 +405,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -417,9 +417,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -428,12 +428,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -//#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +//#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -444,8 +444,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -455,16 +455,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -474,56 +474,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -775,7 +792,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/SCARA/Configuration.h b/Marlin/example_configurations/SCARA/Configuration.h index c1e379b436..e5f53e5c4b 100644 --- a/Marlin/example_configurations/SCARA/Configuration.h +++ b/Marlin/example_configurations/SCARA/Configuration.h @@ -349,9 +349,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -427,11 +427,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -439,9 +439,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -450,12 +450,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -466,8 +466,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -477,16 +477,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -496,56 +496,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - //#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + //#define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - // #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + // #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -621,6 +638,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -788,7 +810,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/WITBOX/Configuration.h b/Marlin/example_configurations/WITBOX/Configuration.h index c67f51576f..1c29d07427 100644 --- a/Marlin/example_configurations/WITBOX/Configuration.h +++ b/Marlin/example_configurations/WITBOX/Configuration.h @@ -333,9 +333,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -411,11 +411,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -423,9 +423,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -434,12 +434,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -450,8 +450,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -461,16 +461,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -480,56 +480,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -605,6 +622,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -772,7 +794,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/adafruit/ST7565/Configuration.h b/Marlin/example_configurations/adafruit/ST7565/Configuration.h index 6ffb6015a9..eea33d356f 100644 --- a/Marlin/example_configurations/adafruit/ST7565/Configuration.h +++ b/Marlin/example_configurations/adafruit/ST7565/Configuration.h @@ -341,9 +341,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -419,11 +419,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -431,9 +431,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -442,12 +442,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -458,8 +458,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -469,16 +469,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -488,56 +488,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -613,6 +630,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -780,7 +802,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/delta/biv2.5/Configuration.h b/Marlin/example_configurations/delta/biv2.5/Configuration.h index add6601ae0..c0acd19a64 100644 --- a/Marlin/example_configurations/delta/biv2.5/Configuration.h +++ b/Marlin/example_configurations/delta/biv2.5/Configuration.h @@ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. //#define DISABLE_MAX_ENDSTOPS -#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing +#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing. -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -493,20 +493,20 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size - #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. + #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode. #if ENABLED(AUTO_BED_LEVELING_GRID) - // set the rectangle in which to probe + // Set the rectangle in which to probe. #define DELTA_PROBABLE_RADIUS (DELTA_PRINTABLE_RADIUS - 10) #define LEFT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS #define RIGHT_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. // Non-linear bed leveling will be used. // Compensate by interpolating between the nearest four Z probe values for each point. @@ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -527,28 +527,28 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 50 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 50 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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 retractable z-probe as seen on many Kossel delta printers - http://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe + // 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 @@ -629,35 +629,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z #endif -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -733,6 +750,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -903,7 +925,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/delta/generic/Configuration.h b/Marlin/example_configurations/delta/generic/Configuration.h index 2ade01cffc..0c5e47f48b 100644 --- a/Marlin/example_configurations/delta/generic/Configuration.h +++ b/Marlin/example_configurations/delta/generic/Configuration.h @@ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop. //#define DISABLE_MAX_ENDSTOPS -#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing +#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing. -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations. // // - "grid" mode // Probe several points in a rectangular grid. @@ -493,9 +493,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size - #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. + #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode. #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -506,7 +506,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. // Non-linear bed leveling will be used. // Compensate by interpolating between the nearest four Z probe values for each point. @@ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -527,26 +527,26 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 50 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points + #define Z_RAISE_AFTER_PROBING 50 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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 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. @@ -629,35 +629,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z #endif -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -733,6 +750,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -907,7 +929,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/delta/kossel_mini/Configuration.h b/Marlin/example_configurations/delta/kossel_mini/Configuration.h index 81eba6c206..4b939c6df8 100644 --- a/Marlin/example_configurations/delta/kossel_mini/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_mini/Configuration.h @@ -374,11 +374,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. //#define DISABLE_MAX_ENDSTOPS -//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing +//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing. -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -454,11 +454,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -466,9 +466,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -477,12 +477,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z-Probe Repeatability test is not supported in Deltas yet. +#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +//#define Z_MIN_PROBE_REPEATABILITY_TEST // Z probe repeatability test is not supported in Deltas yet. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -493,9 +493,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size - #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. + #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode. #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -506,7 +506,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. // Non-linear bed leveling will be used. // Compensate by interpolating between the nearest four Z probe values for each point. @@ -516,8 +516,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -527,26 +527,26 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -10 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.5 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 15 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 15 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 4000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 50 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points + #define Z_RAISE_AFTER_PROBING 50 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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 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. @@ -633,35 +633,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z #endif -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -737,6 +754,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -907,7 +929,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/delta/kossel_pro/Configuration.h b/Marlin/example_configurations/delta/kossel_pro/Configuration.h index 98e7790da5..1319e785f8 100644 --- a/Marlin/example_configurations/delta/kossel_pro/Configuration.h +++ b/Marlin/example_configurations/delta/kossel_pro/Configuration.h @@ -361,11 +361,11 @@ const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. //#define DISABLE_MAX_ENDSTOPS -//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing +//#define DISABLE_MIN_ENDSTOPS // Deltas only use min endstops for probing. -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -441,11 +441,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -453,9 +453,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -464,12 +464,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -//#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +//#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -480,9 +480,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size - #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. + #define AUTO_BED_LEVELING_GRID // Deltas only support grid mode. #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -493,7 +493,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION -DELTA_PROBABLE_RADIUS #define BACK_PROBE_BED_POSITION DELTA_PROBABLE_RADIUS - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. // Non-linear bed leveling will be used. // Compensate by interpolating between the nearest four Z probe values for each point. @@ -503,8 +503,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -514,28 +514,28 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. #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. #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). - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 100 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 100 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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 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. @@ -618,35 +618,52 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE HOMING_FEEDRATE_Z #endif -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -732,6 +749,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -902,7 +924,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/makibox/Configuration.h b/Marlin/example_configurations/makibox/Configuration.h index de777a502b..1f7b6d1dc5 100644 --- a/Marlin/example_configurations/makibox/Configuration.h +++ b/Marlin/example_configurations/makibox/Configuration.h @@ -344,9 +344,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -422,11 +422,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -434,9 +434,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -445,12 +445,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -461,8 +461,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -472,16 +472,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -491,56 +491,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -616,6 +633,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -783,7 +805,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the l // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/example_configurations/tvrrug/Round2/Configuration.h b/Marlin/example_configurations/tvrrug/Round2/Configuration.h index ab116736ae..b6b79df924 100644 --- a/Marlin/example_configurations/tvrrug/Round2/Configuration.h +++ b/Marlin/example_configurations/tvrrug/Round2/Configuration.h @@ -331,9 +331,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //#define DISABLE_MAX_ENDSTOPS //#define DISABLE_MIN_ENDSTOPS -// If you want to enable the Z Probe pin, but disable its use, uncomment the line below. -// This only affects a Z Probe Endstop if you have separate Z min endstop as well and have -// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z Probe, +// If you want to enable the Z probe pin, but disable its use, uncomment the line below. +// This only affects a Z probe endstop if you have separate Z min endstop as well and have +// activated Z_MIN_PROBE_ENDSTOP below. If you are using the Z Min endstop on your Z probe, // this has no effect. //#define DISABLE_Z_MIN_PROBE_ENDSTOP @@ -409,11 +409,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo //=========================== Manual Bed Leveling =========================== //=========================================================================== -// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling -// #define MESH_BED_LEVELING // Enable mesh bed leveling +// #define MANUAL_BED_LEVELING // Add display menu option for bed leveling. +// #define MESH_BED_LEVELING // Enable mesh bed leveling. #if ENABLED(MANUAL_BED_LEVELING) - #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis + #define MBL_Z_STEP 0.025 // Step size while manually probing Z axis. #endif // MANUAL_BED_LEVELING #if ENABLED(MESH_BED_LEVELING) @@ -421,9 +421,9 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define MESH_MAX_X (X_MAX_POS - MESH_MIN_X) #define MESH_MIN_Y 10 #define MESH_MAX_Y (Y_MAX_POS - MESH_MIN_Y) - #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited + #define MESH_NUM_X_POINTS 3 // Don't use more than 7 points per axis, implementation limited. #define MESH_NUM_Y_POINTS 3 - #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0 + #define MESH_HOME_SEARCH_Z 4 // Z after Home, bed somewhere below but above 0.0. #endif // MESH_BED_LEVELING //=========================================================================== @@ -432,12 +432,12 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // @section bedlevel -//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line) -#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled. +//#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line). +#define Z_MIN_PROBE_REPEATABILITY_TEST // If not commented out, Z probe repeatability test will be included if auto bed leveling is enabled. #if ENABLED(ENABLE_AUTO_BED_LEVELING) - // There are 2 different ways to specify probing locations + // There are 2 different ways to specify probing locations: // // - "grid" mode // Probe several points in a rectangular grid. @@ -448,8 +448,8 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Probe 3 arbitrary points on the bed (that aren't colinear) // You specify the XY coordinates of all 3 points. - // Enable this to sample the bed in a grid (least squares solution) - // Note: this feature generates 10KB extra code size + // Enable this to sample the bed in a grid (least squares solution). + // Note: this feature generates 10KB extra code size. #define AUTO_BED_LEVELING_GRID #if ENABLED(AUTO_BED_LEVELING_GRID) @@ -459,16 +459,16 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define FRONT_PROBE_BED_POSITION 20 #define BACK_PROBE_BED_POSITION 170 - #define MIN_PROBE_EDGE 10 // The probe square sides can be no smaller than this + #define MIN_PROBE_EDGE 10 // The Z probe square sides can be no smaller than this. - // Set the number of grid points per dimension - // You probably don't need more than 3 (squared=9) + // Set the number of grid points per dimension. + // You probably don't need more than 3 (squared=9). #define AUTO_BED_LEVELING_GRID_POINTS 2 #else // !AUTO_BED_LEVELING_GRID - // Arbitrary points to probe. A simple cross-product - // is used to estimate the plane of the bed. + // Arbitrary points to probe. + // A simple cross-product is used to estimate the plane of the bed. #define ABL_PROBE_PT_1_X 15 #define ABL_PROBE_PT_1_Y 180 #define ABL_PROBE_PT_2_X 15 @@ -478,56 +478,73 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #endif // AUTO_BED_LEVELING_GRID - // Offsets to the probe relative to the extruder tip (Hotend - Probe) - // X and Y offsets must be integers - #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Probe on: -left +right - #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Probe on: -front +behind - #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // -below (always!) + // Offsets to the Z probe relative to the nozzle tip. + // X and Y offsets must be integers. + #define X_PROBE_OFFSET_FROM_EXTRUDER -25 // Z probe to nozzle X offset: -left +right + #define Y_PROBE_OFFSET_FROM_EXTRUDER -29 // Z probe to nozzle Y offset: -front +behind + #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35 // Z probe to nozzle Z offset: -below (always!) - #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance. - // Be sure you have this distance over your Z_MAX_POS in case + #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z axis before homing (G28) for Z probe clearance. + // Be sure you have this distance over your Z_MAX_POS in case. - #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min + #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min. - #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point. - #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points - #define Z_RAISE_AFTER_PROBING 15 //How much the extruder will be raised after the last probing point. + #define Z_RAISE_BEFORE_PROBING 15 // How much the Z axis will be raised before traveling to the first probing point. + #define Z_RAISE_BETWEEN_PROBINGS 5 // How much the Z axis will be raised when traveling from between next probing points. + #define Z_RAISE_AFTER_PROBING 15 // How much the Z axis will be raised after the last probing point. -// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" //These commands will be executed in the end of G29 routine. - //Useful to retract a deployable probe. +// #define Z_PROBE_END_SCRIPT "G1 Z10 F12000\nG1 X15 Y330\nG1 Z0.5\nG1 Z10" // These commands will be executed in the end of G29 routine. + // Useful to retract a deployable Z probe. - //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell - //#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 Z_PROBE_SLED // Turn on if you have a Z probe mounted on a sled like those designed by Charles Bell. + //#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. -//If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing, -//it is highly recommended you let this Z_SAFE_HOMING enabled!!! +// If you have enabled the bed auto leveling and are using the same Z probe for Z homing, +// it is highly recommended you let this Z_SAFE_HOMING enabled!!! - #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area. + #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with Z probe outside the bed area. // When defined, it will: - // - Allow Z homing only after X and Y homing AND stepper drivers still enabled - // - If stepper drivers timeout, it will need X and Y homing again before Z homing - // - Position the probe in a defined XY point before Z Homing when homing all axis (G28) - // - Block Z homing only when the probe is outside bed area. + // - Allow Z homing only after X and Y homing AND stepper drivers still enabled. + // - If stepper drivers timeout, it will need X and Y homing again before Z homing. + // - Position the Z probe in a defined XY point before Z Homing when homing all axis (G28). + // - Block Z homing only when the Z probe is outside bed area. #if ENABLED(Z_SAFE_HOMING) - #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28) - #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28) + #define Z_SAFE_HOMING_X_POINT ((X_MIN_POS + X_MAX_POS) / 2) // X point for Z homing when homing all axis (G28). + #define Z_SAFE_HOMING_Y_POINT ((Y_MIN_POS + Y_MAX_POS) / 2) // Y point for Z homing when homing all axis (G28). #endif - // Support for a dedicated Z PROBE endstop separate from the Z MIN endstop. - // If you would like to use both a Z PROBE and a Z MIN endstop together , uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. - // If you want to still use the Z min endstop for homing, disable Z_SAFE_HOMING above. Eg; to park the head outside the bed area when homing with G28. - // WARNING: The Z MIN endstop will need to set properly as it would without a Z PROBE to prevent head crashes and premature stopping during a print. - // To use a separate Z PROBE endstop, you must have a Z_MIN_PROBE_PIN defined in the pins.h file for your control board. - // If you are using a servo based Z PROBE, you will need to enable NUM_SERVOS, Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C Servo below. - // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, otherwise connect to ground and D32 - // for normally closed configuration and 5V and D32 for normally open configurations. Normally closed configuration is advised and assumed. - // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. - // D32 is currently selected in the RAMPS 1.3/1.4 pin file. All other boards will need changes to the respective pins_XXXXX.h file. - // WARNING: Setting the wrong pin may have unexpected and potentially disastrous outcomes. Use with caution and do your homework. - + // Support for a dedicated Z probe endstop separate from the Z min endstop. + // If you would like to use both a Z probe and a Z min endstop together, + // uncomment #define Z_MIN_PROBE_ENDSTOP and read the instructions below. + // If you still want to use the Z min endstop for homing, disable Z_SAFE_HOMING above. + // Example: To park the head outside the bed area when homing with G28. + // + // WARNING: + // The Z min endstop will need to set properly as it would without a Z probe + // to prevent head crashes and premature stopping during a print. + // + // To use a separate Z probe endstop, you must have a Z_MIN_PROBE_PIN + // defined in the pins_XXXXX.h file for your control board. + // If you are using a servo based Z probe, you will need to enable NUM_SERVOS, + // Z_ENDSTOP_SERVO_NR and SERVO_ENDSTOP_ANGLES in the R/C SERVO support below. + // RAMPS 1.3/1.4 boards may be able to use the 5V, Ground and the D32 pin + // in the Aux 4 section of the RAMPS board. Use 5V for powered sensors, + // otherwise connect to ground and D32 for normally closed configuration + // and 5V and D32 for normally open configurations. + // Normally closed configuration is advised and assumed. + // The D32 pin in Aux 4 on RAMPS maps to the Arduino D32 pin. + // Z_MIN_PROBE_PIN is setting the pin to use on the Arduino. + // Since the D32 pin on the RAMPS maps to D32 on Arduino, this works. + // D32 is currently selected in the RAMPS 1.3/1.4 pin file. + // All other boards will need changes to the respective pins_XXXXX.h file. + // + // WARNING: + // Setting the wrong pin may have unexpected and potentially disastrous outcomes. + // Use with caution and do your homework. + // //#define Z_MIN_PROBE_ENDSTOP #endif // ENABLE_AUTO_BED_LEVELING @@ -607,6 +624,11 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo #define EEPROM_CHITCHAT // Please keep turned on if you can. #endif +// +// M100 Free Memory Watcher +// +//#define M100_FREE_MEMORY_WATCHER // uncomment to add the M100 Free Memory Watcher for debug purpose + // @section temperature // Preheat Constants @@ -774,7 +796,7 @@ const bool Z_MIN_PROBE_ENDSTOP_INVERTING = true; // set to true to invert the lo // Servo Endstops // // This allows for servo actuated endstops, primary usage is for the Z Axis to eliminate calibration or bed height changes. -// Use M851 to set the z-probe vertical offset from the nozzle. Store that setting with M500. +// Use M851 to set the Z probe vertical offset from the nozzle. Store that setting with M500. // //#define X_ENDSTOP_SERVO_NR 1 //#define Y_ENDSTOP_SERVO_NR 2 diff --git a/Marlin/pins_BRAINWAVE_PRO.h b/Marlin/pins_BRAINWAVE_PRO.h index 6e9fb89af2..c77dde433f 100644 --- a/Marlin/pins_BRAINWAVE_PRO.h +++ b/Marlin/pins_BRAINWAVE_PRO.h @@ -31,7 +31,7 @@ #define Z_DIR_PIN 28 #define Z_ENABLE_PIN 37 #define Z_MAX_PIN 36 -#define Z_MIN_PIN 17 // Bed probe +#define Z_MIN_PIN 17 // Bed Z probe #define E0_STEP_PIN 35 #define E0_DIR_PIN 34