Skip to content

Commit

Permalink
NOZZLE_TO_PROBE_OFFSET_Z_POSITIVE
Browse files Browse the repository at this point in the history
Allow a positive value for z offset from nozzle to probe.
  • Loading branch information
swissnorp committed Dec 1, 2020
1 parent 0d080ce commit 9702170
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
4 changes: 4 additions & 0 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -957,6 +957,7 @@
* - Use a caliper or ruler to measure the distance from the tip of
* the Nozzle to the center-point of the Probe in the X and Y axes.
* - For the Z offset use your best known value and adjust at runtime.
* For most Probes Z offset has a negative value! (Exeptions: CR-6 SE, FLSUN, Kossel, ZYYX)
* - Probe Offsets can be tuned at runtime with 'M851', LCD menus, babystepping, etc.
*
* Assuming the typical work area orientation:
Expand All @@ -983,6 +984,9 @@
*/
#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }

// Only enable this option, if you have a special probe that triggers above the nozzle.
//#define NOZZLE_TO_PROBE_OFFSET_Z_POSITIVE

// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
#define PROBING_MARGIN 10
Expand Down
12 changes: 7 additions & 5 deletions Marlin/src/inc/SanityCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -1357,11 +1357,13 @@ static_assert(Y_MAX_LENGTH >= Y_BED_SIZE, "Movement bounds (Y_MIN_POS, Y_MAX_POS
static_assert(sanity_nozzle_to_probe_offset.x == 0 && sanity_nozzle_to_probe_offset.y == 0,
"NOZZLE_AS_PROBE requires the XY offsets in NOZZLE_TO_PROBE_OFFSET to both be 0.");
#else
static_assert(sanity_nozzle_to_probe_offset.z <= 0.25,
"Are you sure your Probe triggers above the nozzle? Set a negative Z value in the NOZZLE_TO_PROBE_OFFSET.");
#ifdef PROBE_OFFSET_WIZARD_START_Z
static_assert(PROBE_OFFSET_WIZARD_START_Z <= 0.25,
"Are you sure your Probe triggers above the nozzle? Set a negative value for PROBE_OFFSET_WIZARD_START_Z.");
#ifndef NOZZLE_TO_PROBE_OFFSET_Z_POSITIVE
static_assert(sanity_nozzle_to_probe_offset.z <= 0.0,
"Are you sure your Probe triggers above the nozzle? Set a negative Z value in the NOZZLE_TO_PROBE_OFFSET or enable NOZZLE_TO_PROBE_OFFSET_Z_POSITIVE.");
#ifdef PROBE_OFFSET_WIZARD_START_Z
static_assert(PROBE_OFFSET_WIZARD_START_Z <= 0.0,
"Are you sure your Probe triggers above the nozzle? Set a negative value for PROBE_OFFSET_WIZARD_START_Z enable NOZZLE_TO_PROBE_OFFSET_Z_POSITIVE.");
#endif
#endif
static_assert(PROBING_MARGIN >= 0, "PROBING_MARGIN must be >= 0.");
static_assert(PROBING_MARGIN_BACK >= 0, "PROBING_MARGIN_BACK must be >= 0.");
Expand Down

0 comments on commit 9702170

Please sign in to comment.