Skip to content

Should physical-endstop homing retract off the endstop after the final touch? (differs from Klipper) #944

Description

@biga888

Question / observation

On Kalico, home_rails (klippy/extras/homing.py) does an extra retract after the second/final homing touch — the second if hi.retract_dist: block ("Retract (again)") — moving the axis homing_retract_dist (default 5 mm) off the endstop once homing completes. Mainline Klipper leaves the toolhead on the endstop after the final touch. This looks like it came in with "Sensorless retract dist fix (#109)".

Is the post-home retract intended to apply to physical endstops too (not just sensorless)? Asking because it changes physical-endstop homing behavior vs Klipper, and I ran into an edge case where it matters.

The edge case

On printers whose X and Y endstops are co-located / share a corner — e.g. the Creality Ender 5 Max — X can only reach its switch with Y fully at the rear. With the post-home retract, after Y homes it sits ~5 mm forward of the rear, so the subsequent X home misses the shared-corner switch. The same machine homes fine on Klipper, where the axis stays on the endstop.

Repro

Ender 5 Max (physical endstops, CoreXY, home Y before X): G28 → Y homes and retracts ~5 mm → X drives past its endstop.

Possible directions (whichever fits your intent)

  • Limit the post-home retract to sensorless endstops, or
  • A config knob to disable it independently of homing_retract_dist (which currently also controls two-touch homing).

Happy to test or open a PR in whichever direction you prefer.

Environment

Kalico v2026.04.00 (pellcorp/kalico-rpi build), physical endstops, CoreXY. Downstream context: pellcorp/creality#1434.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions