I am inquiring about the programming of G2, and G3 commands for the MakerMade M2 CNC. And is there any listing of whatever other G codes that may be used?
The firmware is all open source. I know the mega (classic controller for the version released originally - not the m2) had that functionality added in firmware versions 1.27+/51.27+. The M2 system source is here. According to my read of gcode.cpp, line 162, it is supported, or at least processed.
Thanks for the reference to the firmware source. I am aware of the open source community that creates, and updates the functionality of the CNC controller, and that may preclude general CNC command documentation.
Is there not any standard, or common listing of Gcode functions such as…
G0 - machine rapid traverse
G1 - linear interpolation (cutting)
G2 - circular interpolation CW (cutting)
G3 - circular interpolation CCW (cutting)
G4 - program dwell time (X=time in seconds)
G20 - imperial measure units
G21 - metric measure units
G40 - cancel cutter radius compensation
G41 - enable crc left
G42 - enable crc right
G43 - tool length compensation
G44 - tool length compensation
G50 - set work coordinate datum
G54-G59 - more work coordinate datum
G90 - absolute programming
G91 - incremental programming
G92 - reposition origin point
Or perhaps these are standards that are integrated and presumed?
From everything I have read, there is no standard for GCode. There are your common G and M codes, but depending on the “flavor” of firmware the controller uses (GRBL, Marlin, etc.), there are a ton of variations on whatand how exactly the GCode is written and read as.
I think the list you have provided are “basic” in terms they are normally integrated and presumed, but again, depending on the “flavor” how they are written and interpreted can vary drastically. If I recall correctly, the Maslow runs off a very truncated and simplified version of GRBL. There are others here way smarter on that aspect, so I’ll defer to them for any specific questions.
there are common gcodes, but no standard of what gcodes should be implemented
I don’t think anyone has written a document that shows which gcodes the
different maslow firmware options implement (it would be useful)
the maslow does not implement tool length compensation, cutter radius or or work
coordinate gcodes (from your list), I’m not sure if any of them do g4 either
I only know of the circular G2, G3 add because I was interested in it before it was added. As for the supported commands and a master list, the gcode clean program by @md8n may be the most comprehesive collection and @jameskylecummings had a file here in that discussion that had a list of gcode commands that may be of interest.
Grbl references the LinuxCNC docs as their standard while also stating which g codes are implemented. There is an official ANSI standard, RS-274X but every machine controller has made extensions and picked subsets.
I thought the Maslow firmware did G4 dwell commands but can’t check right now. Were you thinking of G5 cubic splines which maybe only LinuxCNC has implemented?