-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathGrblCodes.py
More file actions
142 lines (139 loc) · 6.87 KB
/
GrblCodes.py
File metadata and controls
142 lines (139 loc) · 6.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
#!/usr/bin/env python2
"""GRBL Interface Codes"""
# More info: https://github.com/gnea/grbl/wiki/Grbl-v1.1-Interface
__maintainer__ = "Dylan Armitage"
__email__ = "d.armitage89@gmail.com"
## Limits
### These are just for this particular machine
LIMITS = dict(X=(1, 300),
Y=(1, 200),
)
## dict(alarm_code : (alarm message, alarm description))
ALARM_CODES = {1:("Hard limit",
"Hard limit has been triggered."
" Machine position is likely lost due to sudden halt."
" Re-homing is highly recommended."),
2:("Soft limit",
"Soft limit alarm."
" G-code motion target exceeds machine travel."
" Machine position retained."
" Alarm may be safely unlocked."),
3:("Abort during cycle",
"Reset while in motion."
" Machine position is likely lost due to sudden halt."
" Re-homing is highly recommended."),
4:("Probe fail",
"Probe fail."
" Probe is not in the expected initial state before"
" starting probe cycle when G38.2 and G38.3 is not"
" triggered and G38.4 and G38.5 is triggered."),
5:("Probe fail",
"Probe fail."
" Probe did not contact the workpiece within the"
" programmed travel for G38.2 and G38.4."),
6:("Homing fail",
"Homing fail. The active homing cycle was reset."),
7:("Homing fail",
"Homing fail."
" Safety door was opened during homing cycle."),
8:("Homing fail",
"Homing fail."
" Pull off travel failed to clear limit switch."
" Try increasing pull-off setting or check wiring."),
9:("Homing fail",
"Homing fail. Could not find limit switch within"
" search distances. Try increasing max travel,"
" decreasing pull-off distance, or check wiring.")}
## dict(error_code : (error_message, error_description))
ERROR_CODES = {1:("Expected command letter",
"G-code words consist of a letter and a value."
" Letter was not found."),
2:("Bad number format",
"Missing the expected G-code word value or numeric"
" value format is not valid."),
3:("Invalid statement",
"Grbl '$' system command was not recognized"
" or supported."),
4:("Value < 0",
"Negative value received for an expected positive value."),
5:("Setting disabled",
"Homing cycle failure."
" Homing is not enabled via settings."),
6:("Value < 3 usec",
"Minimum step pulse time must be greater than 3usec."),
7:("EEPROM read fail. Using defaults",
"An EEPROM read failed."
" Auto-restoring affected EEPROM to default values."),
8:("Not idle",
"Grbl '$' command cannot be used unless Grbl is IDLE."
" Ensures smooth operation during a job."),
9:("G-code lock",
"G-code commands are locked out during alarm or"
" jog state."),
10:("Homing not enabled",
"Soft limits cannot be enabled without homing"
" also enabled."),
11:("Line overflow",
"Max characters per line exceeded."
" Received command line was not executed."),
12:("Step rate > 30kHz",
"Grbl '$' setting value cause the step rate to"
" exceed the maximum supported."),
13:("Check Door",
"Safety door detected as opened and door"
" state initiated."),
14:("Line length exceeded",
"Build info or startup line exceeded EEPROM"
" line length limit. Line not stored."),
15:("Travel exceeded",
"Jog target exceeds machine travel."
" Jog command has been ignored."),
16:("Invalid jog command",
"Jog command has no '=' or contains prohibited g-code."),
17:("Setting disabled",
"Laser mode requires PWM output."),
20:("Unsupported command",
"Unsupported or invalid g-code command found in block."),
21:("Modal group violation",
"More than one g-code command from same modal"
" group found in block."),
22:("Undefined feed rate",
"Feed rate has not yet been set or is undefined."),
23:("Invalid gcode ID:23",
"G-code command in block requires an integer value."),
24:("Invalid gcode ID:24",
"More than one g-code command that requires"
" axis words found in block."),
25:("Invalid gcode ID:25",
"Repeated g-code word found in block."),
26:("Invalid gcode ID:26",
"No axis words found in block for g-code command"
" or current modal state which requires them."),
27:("Invalid gcode ID:27",
"Line number value is invalid."),
28:("Invalid gcode ID:28",
"G-code command is missing a required value word."),
29:("Invalid gcode ID:29",
"G59.x work coordinate systems are not supported."),
30:("Invalid gcode ID:30",
"G53 only allowed with G0 and G1 motion modes."),
31:("Invalid gcode ID:31",
"Axis words found in block when no command or"
" current modal state uses them."),
32:("Invalid gcode ID:32",
"G2 and G3 arcs require at least one"
" in-plane axis word."),
33:("Invalid gcode ID:33",
"Motion command target is invalid."),
34:("Invalid gcode ID:34",
"Arc radius value is invalid."),
35:("Invalid gcode ID:35",
"G2 and G3 arcs require at least one"
" in-plane offset word."),
36:("Invalid gcode ID:36",
"Unused value words found in block."),
37:("Invalid gcode ID:37",
"G43.1 dynamic tool length offset is not assigned"
" to configured tool length axis."),
38:("Invalid gcode ID:38",
"Tool number greater than max supported value.")}