Move until endstop hit (outside of homing)

I would like to put a g-code into my finished printing script to bring the bed to the bottom of the printer for ease of removal.

Upon looking at gcode references, it looks like the "S1" parameter should tell the firmware to look out for endstops, but this appears to do nothing. My printer has 200x200x105 available print area at the moment, so I've added a line like:

G0 Z110 S1

To go all the way down (and then some!) but check for the endstop, where it would presumably cancel the operation. However this doesn't work at all, and will continue past the Zmax endstop triggering.

At the moment I do have ALWAYS_CHECK_ENDSTOPS set to false, in order to avoid false triggers caused by electrical noise etc. However this is one case where I'd like the printer to actually pay attention to the stops.

Is there a way to do this kind of move function in Repetier without setting ALWAYS_CHECK_ENDSTOPS to true?

For what it's worth, I'm using Repetier 0.92.9 for now (I'm more used to the menu layout, and this is just a test/prototype printer), and I'm using normally closed switches for the endstops - so my concerns about electrical noise affecting the signal are probably without much merit as only a broken wire (should) cause a faulty trigger signal.


  • Hmm this question is now a bit more academic as after thinking about my printer's intended workflow, homing to Zmax is the most sensible approach in all cases. In this case I can just issue a command to home Z at the end of the print and my intended functionality will happen.

    (I want the bed all the way down to remove printed parts at the end of the job, and homing to Zmax is the recommended thing to do at the very start of the job when beginning Z probing... staying with max will remove an unnecessary Z movement at the start sequence)

     A semi-related question; if ALWAYS_CHECK_ENDSTOPS is false, and I'm homing to Xmin/Ymin/Zmax, are the Xmax and Ymax endstops then completely redundant? I can't imagine any scenario where they would actually be used, as the software endstops would be the ones limiting X/Y movement.
  • S1 is for ignoring coordinate checks, not endstops.

    ALWAYS_CHECK_ENDSTOPS false means only the 3 endstops used for homing are used and only when homing.
Sign In or Register to comment.