G-code commands for axis leveling against switches

There is so many confusion about the g-code command overview original vs. 2.0
I’m still looking for reliable commands for the original with the latest firmware.
But back to my question.
I need the g-code that drives all axes against the end-switches reliaibly.
Also I try to find out if the original is able to display text on the touchscreen or wait for clicking a button, the is no documentation for this.

And another question, why this shaky little piece is called “original” :wink:

Did you try G28? That’s the home command.

Not to my knowledge.

Maybe it has 11 herbs and spices :wink:

G-code Reference for Snapmaker - Google Sheets is published by a Snapmaker Engineer. Knowing how much attention they put into v1, I’m sure they didn’t add anything to it after publishing that list. If you really want to know, the v1’s firmware source is posted on the forums.

I can’t find the post, but I recall reading that the v1 does not support any sort of interactive pause. It supports the G4 command, but I haven’t verified that. I haven’t seen anything that would allow you to put text on the controller screen.

I only read GCode, I haven’t attempted to write it yet. But I think a combo of G90 (absolute positioning) and G92 (set position) should get you able to drive all axis against the end switches. brent113’s G28 suggestion is also a good place to start. Give them a try in the serial console.

From what I’ve read of the v2, the v1 is much more solid and repeatable. No tramming issues and no random bed warping. I re-level mine about once a year, usually because the thumb screws holding the bed on needed to be tightened. The only time I’d call my machine “shaky” is when it’s doing the layer fill on the first and last couple of layers.

Just clarifying, G92 changes where the machine thinks it is, it does not command movement on its own. G0 or G1 is needed for that.

You are correct in the firmware should stop when the limit switch is hit by doing

G0 X-1 ; or whatever direction the stop is in, etc for Y, Z

However the advantage of homing is it quickly approaches the trigger, then slowly re-approaches so the position it ends in is more repeatable. Approaching at high speed results in overshoot, and approaching at slow speed can take an eternity. G28 automates this for you, in addition to issuing a G92 X0 Y0 Z0 as you mentioned.

You can home 1 axis at a time by including the axis name, ie G28 X

1 Like