(Or CNC mode)
Smoothie’s main job is to interpret G-code and to convert it into movement and actions.
Programs that generate Gcode are called CAM (computer-aided manufacturing) software.
Unfortunately, they do not all mean the same thing by the same G-codes, and there are several different G-code formats.
Smoothie supports two different G-code “dialects”:
The “grbl” dialect is the closest to the “normal” Gcode standard (NIST), and is adequate and useful for CNC milling.
However, when the Reprap project created its own interpreters early in the project, their developers ignored the “normal” Gcode standard and redefined some of the Gcodes to do other things, or kept their meaning but changed the way their parameters work.
Unfortunately, this has become such a widespread standard in 3D printing that it cannot be changed anymore, and we are stuck with a bad format we have to understand if we want users to be able to use Smoothie for 3D printing.
Therefore, we support both formats.
The way you choose which format Smoothie will interpret the G-code you send to it as, is by changing the grbl_mode
option.
If you set it to true
:
grbl_mode true
Then Smoothie will interpret the G-code you send to it the same way GRBL or LinuxCNC does, as “normal” CNC G-code.
If however you set it to false
:
grbl_mode false
Then Smoothie will interpret the G-code you send to it the same way Reprap-type firmwares interpret it, as “3D printing” G-code.
grbl_mode
enabled (set to "true") by default.Typical differences between 3D mode and CNC mode are:
G28
goes to park position and is NOT home, $H
homes in CNC mode$H
to home. It also tends to truncate commands like G28.2
by not sending the .2
part.