592 lines
18 KiB
Plaintext
592 lines
18 KiB
Plaintext
//-/////////////////////////////////////////////////////////////////////////////
|
|
//- //
|
|
//- This file is part of the Buildbotics firmware. //
|
|
//- //
|
|
//- Copyright (c) 2015 - 2018, Buildbotics LLC //
|
|
//- All rights reserved. //
|
|
//- //
|
|
//- This file ("the software") is free software: you can redistribute it //
|
|
//- and/or modify it under the terms of the GNU General Public License, //
|
|
//- version 2 as published by the Free Software Foundation. You should //
|
|
//- have received a copy of the GNU General Public License, version 2 //
|
|
//- along with the software. If not, see <http://www.gnu.org/licenses/>. //
|
|
//- //
|
|
//- The software is distributed in the hope that it will be useful, but //
|
|
//- WITHOUT ANY WARRANTY; without even the implied warranty of //
|
|
//- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU //
|
|
//- Lesser General Public License for more details. //
|
|
//- //
|
|
//- You should have received a copy of the GNU Lesser General Public //
|
|
//- License along with the software. If not, see //
|
|
//- <http://www.gnu.org/licenses/>. //
|
|
//- //
|
|
//- For information regarding this software email: //
|
|
//- "Joseph Coffland" <joseph@buildbotics.com> //
|
|
//- //
|
|
//-/////////////////////////////////////////////////////////////////////////////
|
|
|
|
script#cheat-sheet-view-template(type="text/x-template")
|
|
// Modified from http://linuxcnc.org/docs/html/gcode.html
|
|
- var base = 'http://linuxcnc.org/docs/html/gcode';
|
|
- var camotics_base = 'https://camotics.org/gcode.html';
|
|
|
|
.cheat-sheet
|
|
h2 GCode Cheat Sheet
|
|
|
|
table
|
|
tr
|
|
th Code
|
|
th Parameters
|
|
th Description
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Motion
|
|
tr
|
|
td
|
|
a(href=`${base}/g-code.html#gcode:g0`) G0
|
|
td
|
|
td Rapid Move
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g1`) G1
|
|
td
|
|
td Linear Move
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g2-g3`) G2, G3
|
|
td I J K or R, P
|
|
td Arc Move
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g4`) G4
|
|
td P
|
|
td Dwell
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g5`) G5
|
|
td I J P Q
|
|
td Cubic Spline
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g5.1`) G5.1
|
|
td I J
|
|
td Quadratic Spline
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g5.2-g5.3`) G5.2
|
|
td P L
|
|
td NURBS
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g33.1`) G33.1
|
|
td K
|
|
td Rigid Tapping
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Homing & Probing
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${camotics_base}#gcodes-g28_2-28_3`)
|
|
| G28.2, G28.3
|
|
td
|
|
td (Un)set Axis Homed State
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g38`) G38.2 - G38.5
|
|
td
|
|
td Straight Probe
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${camotics_base}#gcodes-g38_6-38_9`)
|
|
| G38.6 - G38.9
|
|
td
|
|
td Seek Switch
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Tool Control
|
|
tr
|
|
td
|
|
a(href=`${base}/other-code.html#sec:select-tool`) T
|
|
td
|
|
td Select Tool
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m6`) M6
|
|
td T
|
|
td Tool Change
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m61`) M61
|
|
td Q
|
|
td Set Current Tool
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g10-l1`) G10 L1
|
|
td P Q R
|
|
td Set Tool Table
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g10-l10`) G10 L10
|
|
td P
|
|
td Set Tool Table
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g10-l11`) G10 L11
|
|
td P
|
|
td Set Tool Table
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g43`) G43
|
|
td H
|
|
td Tool Length Offset
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g43.1`) G43.1
|
|
td
|
|
td Dynamic Tool Length Offset
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g43.2`) G43.2
|
|
td H
|
|
td Apply additional Tool Length Offset
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g49`) G49
|
|
td
|
|
td Cancel Tool Length Compensation
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Feed Control
|
|
tr
|
|
td
|
|
a(href=`${base}/other-code.html#sec:set-feed-rate`) F
|
|
td
|
|
td Set Feed Rate
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g93-g94-g95`)
|
|
| G93, G94, G95
|
|
td
|
|
td Feed Rate Mode
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m52`) M52
|
|
td P0 (off) or P1 (on)
|
|
td Adaptive Feed Control
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m53`) M53
|
|
td P0 (off) or P1 (on)
|
|
td Feed Stop Control
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Spindle Control
|
|
tr
|
|
td
|
|
a(href=`${base}/other-code.html#sec:set-spindle-speed`) S
|
|
td
|
|
td Set Spindle Speed
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m3-m4-m5`)
|
|
| M3, M4, M5
|
|
td S
|
|
td Spindle Control
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m19`) M19
|
|
td
|
|
td Orient Spindle
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g96-g97`) G96, G97
|
|
td S D
|
|
td Spindle Control Mode
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g33`) G33
|
|
td K
|
|
td Spindle Synchronized Motion
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Coolant
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m7-m8-m9`)
|
|
| M7, M8, M9
|
|
td
|
|
td Coolant Control
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Stopping
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m0-m1`) M0, M1
|
|
td
|
|
td Program Pause
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m2-m30`) M2, M30
|
|
td
|
|
td Program End
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m60`) M60
|
|
td
|
|
td Pallet Change Pause
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Units
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g20-g21`) G20, G21
|
|
td
|
|
td Units (inch, mm)
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Distance Mode
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g90-g91`) G90, G91
|
|
td
|
|
td Distance Mode
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g90.1-g91.1`)
|
|
| G90.1, G91.1
|
|
td
|
|
td Arc Distance Mode
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g7`) G7
|
|
td
|
|
td Lathe Diameter Mode
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g8`) G8
|
|
td
|
|
td Lathe Radius Mode
|
|
|
|
tr.spacer-row.unimplemented(v-if="showUnimplemented"): th
|
|
tr.header-row.unimplemented(v-if="showUnimplemented")
|
|
th(colspan='3') Cutter Radius Compensation
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g40`) G40
|
|
td
|
|
td Compensation Off
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g41-g42`) G41,G42
|
|
td D
|
|
td Cutter Compensation
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g41.1-g42.1`)
|
|
| G41.1, G42.1
|
|
td D L
|
|
td Dynamic Cutter Compensation
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Path Control Mode
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g61-g61.1`)
|
|
| G61 G61.1
|
|
td
|
|
td Exact Path Mode
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g64`) G64
|
|
td P Q
|
|
td Path Blending (Partial support)
|
|
|
|
tr.spacer-row.unimplemented(v-if="showUnimplemented"): th
|
|
tr.header-row.unimplemented(v-if="showUnimplemented")
|
|
th(colspan='3') Overrides
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m48-m49`) M48, M49
|
|
td
|
|
td Speed and Feed Override Control
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m50`) M50
|
|
td P0 (off) or P1 (on)
|
|
td Feed Override Control
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m51`) M51
|
|
td P0 (off) or P1 (on)
|
|
td Spindle Speed Override Control
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Coordinate Systems, Offsets & Planes
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g54-g59.3`)
|
|
| G54-G59.3
|
|
td
|
|
td Select Coordinate System
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g10-l2`) G10 L2
|
|
td P R
|
|
td Set Coordinate System
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g10-l20`) G10 L20
|
|
td P
|
|
td Set Coordinate System
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g52`) G52
|
|
td
|
|
td Local Coordinate System Offset
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g53`) G53
|
|
td
|
|
td Move in Machine Coordinates
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g92`) G92
|
|
td
|
|
td Coordinate System Offset
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g92.1-g92.2`)
|
|
| G92.1, G92.2
|
|
td
|
|
td Reset G92 Offsets
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g92.3`) G92.3
|
|
td
|
|
td Restore G92 Offsets
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g28-g28.1`)
|
|
| G28, G28.1
|
|
td
|
|
td Go/Set Predefined Position
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g30-g30.1`)
|
|
| G30, G30.1
|
|
td
|
|
td Go/Set Predefined Position
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g17-g19.1`)
|
|
| G17 - G19.1
|
|
td (affects G2, G3, G81…G89, G40…G42)
|
|
td Plane Select
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Flow-control Codes
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/o-code.html#ocode:subroutines`)
|
|
| o sub/endsub/call
|
|
td
|
|
td Subroutines, sub/endsub call
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/o-code.html#ocode:looping`) o while
|
|
td
|
|
td Looping, while/endwhile do/while
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/o-code.html#ocode:conditional`) o if
|
|
td
|
|
td Conditional, if/else/endif
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/o-code.html#ocode:repeat`) o repeat
|
|
td
|
|
td Repeat a loop of code
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/o-code.html#ocode:indirection`) []
|
|
td
|
|
td Indirection
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/o-code.html#ocode:calling-files`)
|
|
| o call
|
|
td
|
|
td Call named or numbered file
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Modal State
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m70`) M70
|
|
td
|
|
td Save modal state
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m71`) M71
|
|
td
|
|
td Invalidate stored state
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m72`) M72
|
|
td
|
|
td Restore modal state
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m73`) M73
|
|
td
|
|
td Save and Auto-restore modal state
|
|
|
|
tr.spacer-row.unimplemented(v-if="showUnimplemented"): th
|
|
tr.header-row.unimplemented(v-if="showUnimplemented")
|
|
th(colspan='3') Input/Output
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m62-m65`) M62 - M65
|
|
td P
|
|
td Digital Output Control
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m66`) M66
|
|
td P E L Q
|
|
td Wait on Input
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m67`) M67
|
|
td T
|
|
td Analog Output,Synchronized
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m68`) M68
|
|
td T
|
|
td Analog Output, Immediate
|
|
|
|
tr.spacer-row.unimplemented(v-if="showUnimplemented"): th
|
|
tr.header-row.unimplemented(v-if="showUnimplemented")
|
|
th(colspan='3') User Defined Commands
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/m-code.html#mcode:m100-m199`)
|
|
| M101 - M199
|
|
td P Q
|
|
td User Defined Commands
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Canned cycles
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g80`) G80
|
|
td
|
|
td Cancel Canned Cycle
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g81`) G81
|
|
td R L (P)
|
|
td Drilling Cycle
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g82`) G82
|
|
td R L (P)
|
|
td Drilling Cycle, Dwell
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g83`) G83
|
|
td R L Q
|
|
td Drilling Cycle, Peck
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g73`) G73
|
|
td R L Q
|
|
td Drilling Cycle, Chip Breaking
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g85`) G85
|
|
td R L (P)
|
|
td Boring Cycle, Feed Out
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g89`) G89
|
|
td R L (P)
|
|
td Boring Cycle, Dwell, Feed Out
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g76`) G76
|
|
td P Z I J R K Q H L E
|
|
td Threading Cycle
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/g-code.html#gcode:g98-g99`) G98, G99
|
|
td
|
|
td Canned Cycle Return Level
|
|
|
|
tr.spacer-row: th
|
|
tr.header-row
|
|
th(colspan='3') Comments & Messages
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/overview.html#gcode:comments`) ; (…)
|
|
td
|
|
td Comments
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/overview.html#gcode:messages`)
|
|
| (MSG,…)
|
|
td
|
|
td Messages
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/overview.html#gcode:debug`) (DEBUG,…)
|
|
td
|
|
td Debug Messages
|
|
tr.unimplemented(v-if="showUnimplemented")
|
|
td
|
|
a(target="_blank", href=`${base}/overview.html#gcode:print`) (PRINT,…)
|
|
td
|
|
td Print Messages
|
|
tr
|
|
td
|
|
a(target="_blank", href=`${base}/overview.html#_logging`) (LOG,…)
|
|
td
|
|
td Logging Messages
|
|
|
|
div
|
|
input(type="checkbox", v-model="showUnimplemented")
|
|
label Show unsupported codes
|
|
|
|
h2 Further GCode Programming Documentation
|
|
|
|
p
|
|
| The Buildbotics controller implements a subset of LinuxCNC GCode.
|
|
| Supported commands are listed above. You can find further help with
|
|
| #[a(href="http://wikipedia.com/wiki/G-code", target="_blank") GCode]
|
|
| programming on the LinuxCNC website:
|
|
|
|
ul
|
|
li: a(href="http://linuxcnc.org/docs/html/gcode/overview.html",
|
|
target="_blank")
|
|
| G Code overview
|
|
li: a(href="http://linuxcnc.org/docs/html/gcode/g-code.html",
|
|
target="_blank")
|
|
| G Code reference
|
|
li: a(href="http://linuxcnc.org/docs/html/gcode/m-code.html",
|
|
target="_blank")
|
|
| M Code reference
|