Browse Source

Make G29 compatible with M206 Z and G92 Z

Use the raw position for mesh measurement. Otherwise the `M206` and
`M92` Z offsets will get canceled out by bed leveling. The downside is
`G29` will not compensate for a poorly set small `M206` fudge value.

To elaborate on this issue, imagine you are probing with a Z home
offset of -0.1, meaning when Z homes, -0.1 is the current position,
implying the ideal bed zero for the nozzle is 0.1mm higher than the Z
endstop. Ordinarily when printing, Z would raise 0.1mm higher.

What happens when we probe is that all points are measured with that
-0.1 included. So when bed leveling is enabled the `M206 Z` offset gets
exactly canceled out by the bed readings.
pull/1/head
Scott Lahteine 8 years ago
parent
commit
37bc0fce62
  1. 2
      Marlin/Marlin_main.cpp

2
Marlin/Marlin_main.cpp

@ -2278,7 +2278,7 @@ static void clean_up_after_endstop_or_probe_move() {
SERIAL_ECHOLNPAIR(" Discrepancy:", first_probe_z - current_position[Z_AXIS]); SERIAL_ECHOLNPAIR(" Discrepancy:", first_probe_z - current_position[Z_AXIS]);
} }
#endif #endif
return current_position[Z_AXIS] + zprobe_zoffset; return RAW_CURRENT_POSITION(Z) + zprobe_zoffset;
} }
/** /**

Loading…
Cancel
Save