Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
grbl-mode [2017/01/25 15:06]
arthur
grbl-mode [2021/10/24 19:20] (current)
arthur
Line 1: Line 1:
 = Using Smoothie in grbl_mode = Using Smoothie in grbl_mode
 +
 +(Or CNC mode)
  
 Smoothie's main job is to interpret G-code and to convert it into movement and actions. Smoothie's main job is to interpret G-code and to convert it into movement and actions.
  
-Programs that generate Gcode are called [https://en.wikipedia.org/wiki/Computer-aided_manufacturing CAM] ( computer aided manufacturing ) software.+Programs that generate Gcode are called [[https://en.wikipedia.org/wiki/Computer-aided_manufacturing|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. Unfortunately, they do not all mean the same thing by the same G-codes, and there are several different G-code formats.
Line 9: Line 11:
 Smoothie supports two different G-code "dialects" Smoothie supports two different G-code "dialects"
  
-* The "reprap" dialect, for 3D printing +* The "reprap" dialect, for 3D printing (NOT NIST compliant) 
-* The "grbl" dialect, for CNC milling+* The "grbl" dialect, for CNC milling (Generally NIST compliant)
  
 The "grbl" dialect is the closest to the "normal" Gcode standard ( NIST ), and is adequate and useful for CNC milling. The "grbl" dialect is the closest to the "normal" Gcode standard ( NIST ), and is adequate and useful for CNC milling.
  
-However, when the [http://www.reprap.org Reprap] project created it's 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.+However, when the [[http://www.reprap.org|Reprap]] project created it's 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 can not 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. Unfortunately, this has become such a widespread standard in 3D printing that it can not 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.
Line 20: Line 22:
 Therefore, we support both formats. 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.+The way you choose which format Smoothie will interpret the G-code you send to it as, is by changing the <kbd>grbl_mode</kbd> option.
  
-If you set it to {{true}} : +If you set it to <kbd>true</kbd> :
  
-[[code]]+<code>
 grbl_mode    true grbl_mode    true
-[[/code]]+</code>
  
 Then Smoothie will interpret the G-code you send to it the same way GRBL or LinuxCNC does, as "normal" CNC G-code. 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}} +If however you set it to <kbd>false</kbd> 
  
-[[code]]+<code>
 grbl_mode    false grbl_mode    false
-[[/code]]+</code>
  
 Then Smoothie will interpret the G-code you send to it the same way Reprap-type firmwares interpret it, as "3D printing" G-code. Then Smoothie will interpret the G-code you send to it the same way Reprap-type firmwares interpret it, as "3D printing" G-code.
Line 43: Line 45:
 Smoothie has a special "CNC" build with some special CNC features and adaptations. Smoothie has a special "CNC" build with some special CNC features and adaptations.
  
-This special build has {{grbl_mode}} enabled ( set to "true" ) by default.+This special build has <kbd>grbl_mode</kbd> enabled ( set to "true" ) by default.
  
-You can get the special CNC build pre-compiled at [[getting-smoothie]] or compile it yourself at [[compiling-smoothie]]+You can get the special CNC build pre-compiled at [[getting-smoothie]] or compile it yourself at [[compiling-smoothie]]
 + 
 +Note, some modules are excluded in CNC mode, like temperature control.
  
 </callout> </callout>
Line 57: Line 61:
 However, more CNC oriented software can also be used to control lasers ( they are virtually similar to a CNC mill with a very thin tool and no Z axis ), this is the case for example of [[bcnc]]. However, more CNC oriented software can also be used to control lasers ( they are virtually similar to a CNC mill with a very thin tool and no Z axis ), this is the case for example of [[bcnc]].
 </callout> </callout>
 +
 +Typical differences between 3d mode and CNC mode are:-
 +
 +1. Error messages are different
 +2. G28 goes to park position and is NOT home, $H homes in CNC mode
 +3. Many GCodes may be differently interpreted in CNC mode than in 3D mode, please check your gcode references (Linuxcnc has a good GCode reference, do not use the reprap gcode reference for CNC mode)
 +
 +**NOTE** you cannot generally use pronterface to control CNC/grbl mode, as Pronterface is for 3D printers and uses a different dialect of gcode, it also does not allow you to send commands such as $H to home. It also tends to truncate commands like G28.2 by not sending the .2 part.
 +