Don't perform "Safe Z" if Z is already above safe height

I have a sequence that takes photos of the entire garden. It does this at Z=0. I recently changed my Safe Height from 0 to -276 because I was running some tests.

I noticed that the Safe Z feature works in both “directions” of the Z-level marked as Safe Height. The Safe Z move was now first moving the Z-axis down, then changed X/Y, then moved Z back up to 0 to take the photo.

This makes little sense. The feature is supposed to protect the gantry from running into plants. It shouldn’t safeguard against anything above the gantry. “Safe Z” should mean “everything above this Z position is safe to move freely”. It shouldn’t mean “only move X/Y at exactly this Z position”.

Can the Safe Z feature be updated to only “return to safety” if the Z-axis is currently below the Safe Height? Rather than Z !== Safe Height.

1 Like

@mdingena I’ve added this to the backlog. I will take a deeper look later, but the idea makes sense.