Skip to content

Commit

Permalink
Include better documentation of options & G29 cmd
Browse files Browse the repository at this point in the history
Roxy thoughtfully produced some really solid documentation for his
modified G29 and the integrated dynamic ABL parameters.
  • Loading branch information
beckdac committed Sep 27, 2014
1 parent cd30765 commit 81116a9
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 7 deletions.
12 changes: 10 additions & 2 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
46 changes: 41 additions & 5 deletions Marlin/Marlin_main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down

0 comments on commit 81116a9

Please sign in to comment.