safe_z_home: Fix final z hop to use relative z coordinates (#5879)

After a G28 z-axis homing, there is a final z hop.
It was hoping to height z_hop as an absolute z height rather than relative.

If the z-axis home leaves the head at a z height higher than z_hop,
e.g. because you were using a probe to do z homing,
this meant that it was z hopping in the negative z direction, which
could result in crashing the toolhead.

Signed-off-by: Joshua Redstone <redstone@gmail.com>
This commit is contained in:
redstone99 2022-11-22 18:55:43 -05:00 committed by GitHub
parent c51f169c06
commit 14eec15267
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 1 deletions

View file

@ -79,7 +79,10 @@ class SafeZHoming:
self.prev_G28(g28_gcmd)
# Perform Z Hop again for pressure-based probes
if self.z_hop:
toolhead.manual_move([None, None, self.z_hop], self.z_hop_speed)
pos = toolhead.get_position()
if pos[2] < self.z_hop:
toolhead.manual_move([None, None, self.z_hop],
self.z_hop_speed)
# Move XY back to previous positions
if self.move_to_previous:
toolhead.manual_move(prevpos[:2], self.speed)