Coder Social home page Coder Social logo

Comments (13)

Paciente8159 avatar Paciente8159 commented on August 28, 2024

Sorry tripped on the closing button issue on my mobile phone 🙈

The G10 L2 and not L20 is the way that it is defined in the standard.

I think you are mixing G54 G55, etcc. with G92.
G54 is an offset off your coordinate system relative to your machine origin. It's stored in memory and must be repeatable even after you turn the machine off and on.
That means that you send a command specifying the machine the point in machine coordinates to define that coordinate systems origin and not how you would like it to be at that position

A bit like this

G10 L2 P0 X(MX) Y(MY) Z(MZ)

Let's say you want to make your G54 origin in the machine X0 Y0 Z50 your command should be G10 L2 P1 Z50. This makes it predictable. Image you set you G55 origin offset while with an offset on your current coordinate system. Where would your actual origin be? A sum of offsets?

G92 works like you said. It's relative to were you are and the coordinate system you are using. So G92 X0 Y0 Z0 adjusts the temporary offset to make like your origin is displaced to where you are standing. But that gets cleared after a power off/on. It's not stored permanently.

I believe this is the way Grbl works also.

from ucnc.

jimsynz avatar jimsynz commented on August 28, 2024

Makes sense. If that is the case why does cncjs send G10 L20 …?

from ucnc.

Paciente8159 avatar Paciente8159 commented on August 28, 2024

Grbl supports both G10L2, G10L20.
They must have imported from LinuxCNC G10 L20.
It's a flavor of G10 adopted by LinuxCNC. Not a part of version 3 of RS274NGC.

With L20 it works like you stated. Has a relative offset.
I'll add this feature to µCNC too make it more compatible with existing softwares for Grbl.

from ucnc.

Paciente8159 avatar Paciente8159 commented on August 28, 2024

Ok. It's done. Just need some proper testing. It's not yet merged in the main branch.
I have to check how Grbl behaves to make it match. My doubts about the way this works is what must be taken in account or not.
Let's say you already have a G92 offset active. Will the relative offset for your coordinate system take G92 in account too or not??

I'm not a big fan of G10 L20 because reference indirection might make it very confusing.

from ucnc.

Paciente8159 avatar Paciente8159 commented on August 28, 2024

Looking at Grbl confirms my suspicions.

Grbl-gcode.c#550
// L20: Update coordinate system axis at current position (with modifiers) with programmed value
// WPos = MPos - WCS - G92 - TLO -> WCS = MPos - G92 - TLO - WPos

besides any active G92 also Tool Length Compensation is taken in account.

from ucnc.

Paciente8159 avatar Paciente8159 commented on August 28, 2024

I did find one or two issues looking a bit more in the µCNC code regarding TLO 🤣.
Working on it.

from ucnc.

jimsynz avatar jimsynz commented on August 28, 2024

You’re a freaking machine my dude.

from ucnc.

Paciente8159 avatar Paciente8159 commented on August 28, 2024

I'm merging #189 into master now. I've done a series of tests and seems to stick. If any thing goes off please let me know.
If you are able to replicate the commands prior to error it will be very useful.

from ucnc.

Paciente8159 avatar Paciente8159 commented on August 28, 2024

By the way I'm evaluating the opportunity to implement the actual NIST G43. My current problem is that the UNO is already struggling for it's life as it is 🤣.
I still have the 16-bit bresenham card in the sleeve...but if I spend it...lol
Maybe I'll be able to optimize something later...although I'm running out of ideas. I know this board may work as an actual obstacle in evolving some aspects of the firmware...but would like to keep supporting as much as I can. Many laser machines still run on boards like these.

from ucnc.

jimsynz avatar jimsynz commented on August 28, 2024

Yeah. It's a tough call trying to fit it all in a ATMega328. I was thinking that there must be a breakout board for stepper drivers and stuff that works with esp32, since they're still pretty easy to get hold of.

from ucnc.

Paciente8159 avatar Paciente8159 commented on August 28, 2024

There is. @bdring has an awesome firmware called Fluidnc. You can check it at https://github.com/bdring/Fluidnc. There are also some break out boards. His project is trully unique. For Esp32 that is the firmware to go..it even has it's own web interface based on cncjs I believe

from ucnc.

jimsynz avatar jimsynz commented on August 28, 2024

Oh nice. Anyway, I see that #189 is merged so I’ll close this issue. Thanks again. You’re amazing.

from ucnc.

Paciente8159 avatar Paciente8159 commented on August 28, 2024

Just one side note. NIST G43 was already implement 🤣🤣🤣 .
I forgot I already did that a while ago. That means you can add TLO via G43 H command.
The TLO for each tool is available via $81 to $96 setting.

from ucnc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.