Adding Machine vs Workspace description to Coordinates - Advanced Configurations section in the docs

E.T. home phone.

2 Likes

Pull request created!
Not sure how this works re collaboration.
Let me know if something isn’t clear and what needs changed and I’ll see if I can modify it and resubmit.

5 Likes

I think it looks good, I just need to move the images before I merge it.

Thank you!

3 Likes

Awesome work Darwin. Thank you.

2 Likes

Okay this is next on my list. Sorry for the delay.

1 Like

Sorry I didn’t see this before, let me add some of my thoughts.

Technically, when the machine first wakes up, it is not in G54 workspace (long ago I said it did, which was incorrect.)

I tested it (transcript below) where I booted the machine, moved away from zero, and without setting any workspaces, reset zero at the new position with G92 X0 Y0. Then I switched workspaces, and it forgot (and never restored) my resetting of the G92 origin. I tried all the workspaces (not shown) and never got back my 0, 0 location that I had set with G92.

G92 coordinates forgotten in G53
Send: M114
Recv: X:0.00 Y:0.00 Z:0.00 E:0.00 Count X:0 Y:0 Z:0
Recv:  Count X:0 Y:0 Z:0
Recv: ok
Send: G1 X10 Y20 F1000
Recv: ok
Send: M114
Recv: X:10.00 Y:20.00 Z:0.00 E:0.00 Count X:2000 Y:4000 Z:0
Recv:  Count X:2000 Y:4000 Z:0
Recv: ok
Send: G92 X0 Y0
Recv: X:0.00 Y:0.00 Z:0.00 E:0.00 Count X:2000 Y:4000 Z:0
Recv: ok
Send: G54
Recv: Select workspace 0
Recv: X:10.00 Y:20.00 Z:0.00 E:0.00 Count X:2000 Y:4000 Z:0
Recv: ok
Send: G53
Recv: ok
Send: M114
Recv: X:10.00 Y:20.00 Z:0.00 E:0.00 Count X:2000 Y:4000 Z:0
Recv:  Count X:2000 Y:4000 Z:0
Recv: ok

This means that it wakes up in “G53” space, which is different from all the other workspaces. The “G53” workspace (if you can call it that) allows G92 to set offsets, but it does not remember the G92 offset when you switch away and switch back. Switching back to G53 always removes any offset and restores the coordinate system of when you homed or powered on the machine. The other workspaces (G54, G55, etc.) remember the G92 coordinates when you switch away and switch back.

Most of the time people don’t ever switch workspaces and it doesn’t matter that G92 is forgetful when you’re in G53. It won’t forget if you never switch away, and there is not much difference between touching off with G28 Z compared to G38.2 + G92 Z0. But when you are explicitly changing between coordinate spaces with G54, it does matter.

1 Like

That makes sense.
You’re kind of in an unnamed multiverse of workspaces when you start. All workspaces take the G92 commands you send and it’s only when you observe one of the workspaces that they get their own identity. So quantum!
My understanding is that it should only be possible to set “G53” coordinates using endstop commands to maintain the dimensions of the workspace at all times.
But at the beginning all workspaces are one

@vicious1
What would be the process for collaborating on a doc change? Is it always done through new pull requests?
I don’t think we should mention the multiverse :grinning: but may want to tweak it a bit.
I’m looking over it now.

2 Likes

ok made changes that makes the description of the starting workspace more generic, changed the first image and added a note about the behaviour of G92 if used before selecting a workspace. I’ve recommitted (badge worthy? :wink:) in Github.
Is this more accurate?
@jamiek

2 Likes

Sorry, I woke up later than usual.

I merged it and it looks fantastic.

I will move the pictures over to our system eventually.

So I am doing some learning here

“Moving in machine coordinates is done using the G53 modifier (Move in Machine Coordinates | Marlin Firmware). E.g. G53 G0 X200 Y300 Z15 moves to X,Y,Z = 200,300,15 in Machine Coordinate space”

Is this right? Isn’t this how you move in native coordinates when you are working in a machine coordinate system?

Or I guess more to the point how do I “park my machine” after working in G55? Do I switch to G53, G28 Z0, G28 X0 YO?

1 Like

Hmmm wait I am a little lost. I guess, why would you use G53?

1 Like

I think of it as that uneditable default choice built in to some configurations. There’s always an easy way to change back to an un-screwed-up coordinate system so you can start fresh.

3 Likes

I think…
G28 sets your home origin in machine coordinates to zero when the switches are triggered. You can use G28 to go home but it’s really a setting of the machine boundary.
I don’t have endstops on my lr2 so I’m making an assumption that I can’t test. But because I don’t have endstops I use G53 commands to send my router to the home position in machine coordinates when I’m done using the machine.

G53 will use the origin set by G28 commands. So you can set “get out of the way” positions anywhere on your machine in a macro that uses machine coordinates and that location will always be the same every time you use the machine. I have a “get out of the way” location on the bottom right corner (opposite of the machine home) that I send the router to when I need to get a clear look at the workpiece in between cuts. That’s a macro that uses a set G53 command.

If you are working with multiple workspaces, say G54 and G55, and you’ve set a different origin for each, there’s no way for the machine to know where its parking or tool locations are in the G54 and G55 coordinate systems. You need to use G53 or some kind of electronic stops I guess.

Since I started writing this doc addition I started using more workspaces and saving using M500. Now I can start the machine, switch workspaces, zoom to the origin of the piece I’m working on and use “get out of the way” and “Go home” commands using G53 based macros.

I didn’t do any of this for the first year and a half. It’s definitely an advanced use case, but It feels like I levelled up.

2 Likes

As long as you write down where you set the origin for your workspace :slight_smile:

2 Likes

Clearly the doc needs improvement if you are lost!

Feedback welcome!

1 Like

This explains it. I think I will try to use them in my product to get a bit more familiar (and save time). IF I figure it out I will see if I can add a real world example to the docs.

No…I am resistant to change. The way I do it get things done with very little added steps. This way, I have know will save me time, but I refused to spend any time figuring it out. You Doc has provided me a huge step forward. Now it is just uncertainty because I have not used it. You do state in the docs to use G53…I just didn;t register it, or was overcomplicating that.

I think I will set a couple frequently used points in eeprom and actually label my table. That should save a ton of time.

2 Likes

I forgot to mention my first use case.
The origin for most of my jobs is set by where my bench dogs create a corner. Complicated by the fact that I access the machine from the right side.
So I have a macro that zooms me to that location in machine coordinates.

Here:

2 Likes

This is cool. I clearly don’t grasp it all yet. I was hoping to read it. Where is it? Did the new content get added to the same link that @jeffeb3 posted?

EDIT: I think I located the new content.

I have some suggestions regarding the illustrations, and I can relate this to one in particular, and it could be applied to others.

  1. The Y axis on this illustration seems like it should be on the other side (left side) in alignment with 0,0, instead of staggered away from 0,0 to the far side of the table.

  2. The X and Y axis lines / arrows would benefit new users if the following were added to each end:

  • X- (X min.)
  • X+ (X max)
  • Y- (Y min.)
  • Y+ (Y max.)
  1. There is a convention in coloring that is used (commonly I think) in which the X is red, the Y is green, and the Z is blue. It may be helpful to stay consistent with that coloring scheme on illustrations.

The attached revised version of the image implements what I suggested here:

2 Likes

Nice!
I can make those changes later or if you’d prefer you can make and submit the changes too.

1 Like

I have never done the edit process via Github, though I would assume it is not difficult. For now it might be better if you update, assuming you have editable source files on the illustrations. Thank you so much for adding this helpful info! The doc edits are really helping me understand the workspaces option!

I think the docs are probably the easiest place to get a taste. The web ui makes it ok. The command line (or other local tools) are more complicated but also more powerful.

If you know of a small place to make some tweaks, I would recommend trying it. If nothing else, you can learn a little about it and help with github issues and PRs on almost any OS project.

It may not be the most interesting thing you can spend your time on though. You have some fun projects cooking.

1 Like