From 81116a9dcf4517a348da27f01132f725c23ab670 Mon Sep 17 00:00:00 2001 From: dacb Date: Fri, 26 Sep 2014 18:13:57 -0700 Subject: [PATCH] Include better documentation of options & G29 cmd Roxy thoughtfully produced some really solid documentation for his modified G29 and the integrated dynamic ABL parameters. --- Marlin/Configuration.h | 12 +++++++++-- Marlin/Marlin_main.cpp | 46 +++++++++++++++++++++++++++++++++++++----- 2 files changed, 51 insertions(+), 7 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 84197e09e76c..ff5f3a759b16 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -412,10 +412,18 @@ const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic o #define BACK_PROBE_BED_POSITION 175 #define FRONT_PROBE_BED_POSITION 50 - // set the number of grid points per dimension - // I wouldn't see a reason to go above 3 (=9 probing points on the bed) + // set the max number of grid points per dimension + // The G29 command defaults to 3 if nothing is specified. But setting the number of probed + // points higher is very useful when getting a Bed Topology Report (G29 n 5 T) #define AUTO_BED_LEVELING_GRID_POINTS 5 + // Uncomment one of the following four lines so the Bed Topology Report can produce a map + // that relates accurately to your bed orientation. + + #define ORIGIN_FRONT_LEFT + //#define ORIGIN_BACK_LEFT + //#define ORIGIN_FRONT_RIGHT + //#define ORIGIN_BACK_RIGHT #else // not AUTO_BED_LEVELING_GRID // with no grid, just probe 3 arbitrary points. A simple cross-product diff --git a/Marlin/Marlin_main.cpp b/Marlin/Marlin_main.cpp index 0f1449543a04..ca52dcab80e9 100644 --- a/Marlin/Marlin_main.cpp +++ b/Marlin/Marlin_main.cpp @@ -1623,15 +1623,51 @@ void process_commands() break; #ifdef ENABLE_AUTO_BED_LEVELING + +// +// Enhanced G29 Auto Bed Leveling Probe Routine +// +// This updated code provides a Bed Topology Report, Ability to control engagement and retraction of +// Z-Probe and varying levels of verboseness. It also allows the selection of the n x n grid at +// print time instead of being fixed at the time the firmware is built. It also handles probe retraction +// issues for probes that require clearance much more gracefully. +// +// Parameter usage: +// +// n (u & U) Controls the size of the grid that will be probed. Typical usage would be of +// the form G29 n 4 u & U were added because of deficiencies in the Repetier client +// not being able to use even a lower case n +// +// V Controls the verbose level. Typical usage would be of the form G29 V 3 +// +// T Controls generation of the Bed Topology Report. Typical usage would be of the +// form G29 n 5 T to get a detailed map of your bed. This is very useful +// for manual bed leveling as well as knowing where imperfections exist on your +// bed (to assist with part placement) // -// Enable one of these defines to configure a topographical map to be printed for your bed: +// E Controls engagement and retraction of the Z-Probe. It Defaults to leaving the +// probe engaged during the probing of the n x n grid. This helps the repeatability +// of the Z-Probe and produces better Auto Bed Leveling results. Typical usage +// would be of the form G29 E // -//#define ORIGIN_BACK_LEFT -//#define ORIGIN_FRONT_RIGHT -//#define ORIGIN_BACK_RIGHT -#define ORIGIN_FRONT_LEFT +// These following 4 parameters are typically generated by a Post Processing script +// configured within your slicer to process the generated GCode. Currently Curra and +// Slic3r are supported. The Post Processing scripts for these slicers will determine the +// size of the print on the bed and limit the Grid Probe to the required region in order to +// increase the bed leveling accuracy. Please not that these position parameters assume +// Left is the smallest X-Axis coordinate, Right is the larger X-Axis coordinate and Front is +// the smallest Y-Axis coordinate and Back is the larger Y-Axis coordinate. // +// L Controls left side grid probe position. If unspecified, will use LEFT_PROBE_BED_POSITION // +// R Controls the right side grid probe position. If unspecified, will use RIGHT_PROBE_BED_POSITION +// +// F Controls front side grid probe position. If unspecified, will use FRONT_PROBE_BED_POSITION +// +// B Controls the back side grid probe position. If unspecified, will use BACK_PROBE_BED_POSITION +// +// + case 29: // G29 Detailed Z-Probe, probes the bed at 3 or more points. // Example Syntax: G29 N 4 V 2 E T {