G90 and G91

I’m still very much learning Gcode so bear with me.

I know G90 is absolute and G91 is incremental.

From Home 0,0 I use:
G90 G0 X65 Y50
Expected: Being absolute and measured from the datum(Home/0,0) I would expect the tool to travel to X65 and Y50.
Reality: The tool moves to X130 and Y100

G91 G0 X65 Y65 Puts the tool where I want it at x65 y50.

Why is this? I would expect an absolute measurment of 65mm for 0 to be , well, 65mm not 130mm.

Thank you and pardon my ignorance :slight_smile: Hopefully I explained this ok.

My first thought is that you did not zero your current position before making the absolute move. Execute a G92 X0 Y0 before making the absolute move and see what happens. If you want to know the current position (as stored by your firmware), you can send an M114.

2 Likes

My best guess would be exactly what Robert mentioned.

Remember, absolute mode can be either absolute from the machine origin, or from a work offset origin. If you have previously had a work origin offset happen, and you are using a Jackpot board, then that offset can survive a reboot. So you may be getting absolute moves from an offset instead of from the machine origin.

1 Like

Put another way, this is probably not an issue of G90 versus G91. It’s probably all about the G92. Or as Shakespeare from the Hood would say, “To G92 or not to G92, that is the question.“

Thank you everyone, that makes somewhat more sense to me and I will experiment with it soon.

I had assumed that homing the machine would would Zero the machine at 0, 0 once the homing procedure is finished. So everything I mention here is based off of that assumption.

The only offset would of been from the last job that was run. Jogging the toolhead to a position and starting a job(F360 PP does a G92 at job start). So by this theory the G92 that is passed at the start of the last job is kept and preserved even after homing? I’m confused but I’m going to experiment hands on and I bet stuff will make more sense.
Thanks again V1 fam :slight_smile:

For FluidNC/Jackpot, it depends on the code used for homing.

On this matter, there does seem to be a clear difference between Marlin/SKR compared to FluidNC/Jackpot. On the former, it seems every reboot meant a clean slate, and homing zeroed out both the machine origin and the default workspace origin. On the latter, FluidNC/Jackpot, the workspace origin survives both reboots and homing. On FluidNC/Jackpot, by default, think of homing as merely the machine’s prerequisite for confirming that it knows where to go to get to your existing offset! However, if you want to add a G92 to your homing routine, then homing would work like you were thinking. At least that’s my understanding.

2 Likes

Thank you!! This helps.

1 Like