G-code which will not be supported by Grbl

Discussion about the arduino based g-code interpreter, grbl
Post Reply
WillAdams
Posts: 8628
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

G-code which will not be supported by Grbl

Post by WillAdams » Thu Mar 12, 2015 1:06 pm

Okay, on the wiki we have a section:

http://www.shapeoko.com/wiki/index.php/ ... ed_by_Grbl

and now two of those codes _are_ supported.

I'm thinking that what will need to happen is we'll need to do some real research here and determine which G-codes _will not_ be supported by Grbl, and add in all the codes which make sense on a Shapeoko or similar machines and update the Support column appropriately.

We do have this:

https://github.com/grbl/grbl

Code: Select all

List of Supported G-Codes in Grbl v0.9
  - Non-Modal Commands: G4, G10 L2, G10 L20, G28, G30, G28.1, G30.1, G53, G92, G92.1
  - Motion Modes: G0, G1, G2, G3, G38.1, G80
  - Feed Rate Modes: G93, G94
  - Unit Modes: G20, G21
  - Distance Modes: G90, G91
  - Plane Select Modes: G17, G18, G19
  - Tool Length Offset Modes: G43.1, G49
  - Coordinate System Modes: G54, G55, G56, G57, G58, G59
  - Program Flow: M0, M1, M2, M30*
  - Coolant Control: M7*, M8, M9
  - Spindle Control: M3, M4, M5
Anyone have any links to recommend? I did find: https://github.com/grbl/grbl/wiki

Is there a mailing list or forum or other discussion area for Grbl?
Shapeoko 3XL #0006 w/ Carbide Compact Router w/0.125″ and ¼″ Carbide 3D precision collets

chamnit
Posts: 376
Joined: Tue Aug 12, 2014 2:16 pm
Location: Albuquerque NM, USA
Contact:

Re: G-code which will not be supported by Grbl

Post by chamnit » Thu Mar 12, 2015 2:50 pm

I'll be happy to provide the supported g-codes. Now that v0.9 has proper error-checking, this is more important than it was before. I've been meaning to update all of the documentation and it's pretty high up there in the priority list.

The various places for documentation now, varies a bit. Some slightly out-of-date from others. But, the best place to find the support g-codes is in the "gcode.h" source file, where each command is defined. Don't pay attention to the modal group comments (may be out-of-date too). These are the supported codes that the parser looks for.

For the current master v0.9h:

[G4,G10,G28,G28.1,G30,G30.1,G53,G92,G92.1] Non-modal
[G0,G1,G2,G3,G38.2,G80] Motion
[G17,G18,G19] Plane selection
[G90,G91] Distance mode
[G93,G94] Feed rate mode
[G20,G21] Units
[G43.1,G49] Tool length offset
[G54,G55,G56,G57,G58,G59] Coordinate system selection

[M0,M1,M2,M30] Stopping
[M3,M4,M5] Spindle turning
[M7*,M8,M9] Coolant control (* compile-option)

[F,I,J,K,L,N,P,R,S,T,X,Y,Z] Valid non-command words

New supported geodes in v0.9i edge branch (soon to be master):
[G38.3,G38.4,G38.5] Motion (Additional probe commands)
[G40] Cutter comp (cancel)
[G91.1] Arc radius mode (offset mode, for certain CAM programs)

WillAdams
Posts: 8628
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: G-code which will not be supported by Grbl

Post by WillAdams » Thu Mar 12, 2015 3:09 pm

Thanks! I've updated the (Shapeoko) wiki.

Let me know if there's anything which I can do to help w/ the Grbl docs. I guess I should at least download and read through the code....

Any interest in using Literate Programming to create said documentation?
Shapeoko 3XL #0006 w/ Carbide Compact Router w/0.125″ and ¼″ Carbide 3D precision collets

chamnit
Posts: 376
Joined: Tue Aug 12, 2014 2:16 pm
Location: Albuquerque NM, USA
Contact:

Re: G-code which will not be supported by Grbl

Post by chamnit » Thu Mar 12, 2015 3:36 pm

I'm not exactly sure what you mean by literate programming (assuming LaTeX?), but I was thinking about moving the main documentation into the Grbl repo in the docs folder as a set of MarkDown files. The Wiki would point links to it, and Github should render them appropriately. But this makes the documentation harder for users to apply their own changes.

At the very least, I can do this for things like g-codes supported, error code descriptions, settings explanations, etc. Generalized stuff like connecting to GUIs or FAQ could stay on the Wiki. Not sure what the best solution would be. I'm definitely open to suggestions.

WillAdams
Posts: 8628
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: G-code which will not be supported by Grbl

Post by WillAdams » Thu Mar 12, 2015 3:43 pm

Literate Programming: http://literateprogramming.com/

(got my brother-in-law a copy of: http://www.amazon.com/Literate-Programm ... 0937073806 for Christmas last year)

Usually it uses LaTeX to typeset a "weaved" version of the documentation, while one uses a special tool to "tangle" the source and strip out the documentation for compilation --- I think it'd be interesting to see an updated version which uses Markdown format instead, but I doubt that's going to happen.

Nice thing of course, is one can use equations in one's source code comments and have them beautifully typeset in the docs.

I'll d/l and look at things over the weekend and see if I can come up w/ some suggestions or some way to help.
Shapeoko 3XL #0006 w/ Carbide Compact Router w/0.125″ and ¼″ Carbide 3D precision collets

cvoinescu
Posts: 4442
Joined: Thu Jul 19, 2012 6:50 pm
Location: Camberley, UK
Contact:

Re: G-code which will not be supported by Grbl

Post by cvoinescu » Thu Mar 12, 2015 4:24 pm

A more modern (and much more widely used) version of the same idea, minus some of the fancier literary pretensions, is Doxygen. Several languages have their own specific methods (e.g. Javadoc, docstrings in Python). They are very handy for libraries.
Proud owner of ShapeOko #709, eShapeOko #0, and of store.amberspyglass.co.uk

WillAdams
Posts: 8628
Joined: Mon Apr 09, 2012 6:11 pm
Location: Pennsylvania --- south of the Turnpike, East of US-15
Contact:

Re: G-code which will not be supported by Grbl

Post by WillAdams » Thu Mar 12, 2015 4:37 pm

I've never found a Doxygen file which I wanted to read, but I have read through TeX: The Program, METAFONT: The Program and the source code for LaTeX (which is available in a nifty hyper-linked version).

I also found Literate Programming the best fit for when I had to create the typesetting back-end for a phonebook ad generation system which we have here at work (which is marketed to our phonebook and other customers). This style of documentation and programming lets me have code which I can deal w/ as infrequently as every couple of years, but still quickly get back up to speed on and update.

Dr. Knuth feels that it's an even more important development than TeX and METAFONT --- it mystifies me that it's not more widespread.
Shapeoko 3XL #0006 w/ Carbide Compact Router w/0.125″ and ¼″ Carbide 3D precision collets

Post Reply