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_endstop
setting is closer toposition_min
, thenhoming_positive_dir
is automatically set to false and homing occurs towards zero. - If the
position_endstop
setting is closer to theposition_max
, thenhoming_positive_dir
is 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_endstop
in the relevant stepper settings. - Manually overriding
homing_positive_dir
is not needed or recommended in most of the cases