No trigger on [X / Y / Z] after full movement

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 to position_min, then homing_positive_dir is automatically set to false and homing occurs towards zero.
  • If the position_endstop setting is closer to the position_max, then homing_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, and position_endstop in the relevant stepper settings.
  • Manually overriding homing_positive_dir is not needed or recommended in most of the cases
3 Likes