Background
A No trigger on [X / Y / Z] after full movement is thrown during homing moves. This error occurs when Klipper fails to detect an end-stop signal during homing, despite utilizing the available movement range.
Reasons
Klipper determines the direction of the homing movement based on the position of the end-stop (position_endstop) and its proximity to position_min or position_max.
- If the
position_endstopsetting is closer toposition_min, thenhoming_positive_diris automatically set to false and homing occurs towards zero. - If the
position_endstopsetting is closer to theposition_max, thenhoming_positive_diris automatically set to true, and homing occurs away from zero.
The maximum movement range is defined in Klipper through the position_max setting. If Klipper does not detect an end-stop signal within this range, this error will occur.
The error can also be triggered if the expected signal is not received during the second (slower) approach to the end-stop.
Another reason could be that Klipper sends step pulses to the stepper motors, but these do not move at all due to errors in the settings, the wiring or other defects.
Klipper assumes that the axes are moving and expects an end-stop signal in the defined maximum range, which never occurs.
Potential solutions
- Verify that the end-stops are functioning properly. In addition to the manual commands provided in the article, the web interfaces also offer convenient ways to query the end-stop’s state.
- Verify that the steppers / axes are actually moving.
- Verify that the homing movement is directed towards the end-stops and not away from them.
- Check the settings for
position_min,position_max, andposition_endstopin the relevant stepper settings. - Manually overriding
homing_positive_diris not needed or recommended in most of the cases