- Incremented to v1.1a, rather than keep 1.0e. This is because there are existing v1.0 installations. Don’t want to confuse people further. - Certain version of the Arduino IDE did not like the `inline` in the function header. Removed from spindle_control files to fix the problem. - Tweaked the communication protocol slightly. Added message type indicators for all `[]`bracketed feedback messages. It’s been problematic for GUI dev to try to determine the context of a message and how it should be handled. These indictors should help tremendously to remove context all together. - Also altered how `$N` startup lines are presented when executed. They now start with an open chevron ‘>’ followed by the line and an ‘:ok’ to indicate it executed. The ‘ok’ is on the same line intentionally so it doesn’t mess up a streaming protocol counter. - Managed to save a 100+KB from refactoring parts of report.c. (Thanks Vasilis!) Freed up room to alter the protocol a little. - Wrote a markdown document on interface messaging to make it clear how it’s intended to work. See interface.md in /doc/markdown - Started to pull in some Wiki pages from the old grbl site and beginning to update them for v1.1. - Created new commit log for v1.1.
6.1 KiB
Meanings of Grbl messages and error/alarm codes
'error:' Codes
Format - (v1.0) : (v0.9) - Description
-
error:1:error: Expected command letter- G-code words consist of a letter and a value. Letter was not found. -
error:2:error: Bad number format- Numeric value format is not valid or missing an expected value. -
error:3:error: Invalid statement- Grbl '$' system command was not recognized or supported -
error:4:error: Value < 0- Negative value received for an expected positive value. -
error:5:error: Setting disabled- Homing cycle is not enabled via settings. -
error:6:error: Value < 3 usec- Minimum step pulse time must be greater than 3usec -
error:7:error: EEPROM read fail. Using defaults- EEPROM read failed. Reset and restored to default values. -
error:8:error: Not idle- Grbl '$' command cannot be used unless Grbl is IDLE. Ensures smooth operation during a job. -
error:9:error: G-code lock- G-code locked out during alarm or jog state -
error:10:error: Homing not enabled- Soft limits cannot be enabled without homing also enabled. -
error:11:error: Line overflow- Max characters per line exceeded. Line was not processed and executed. -
error:12:error: Step rate > 30kHz* - Grbl '$' setting value exceeds the maximum step rate supported. -
error:13:error: Check Door- Safety door detected as opened and door state initiated. -
error:14:error: Line length exceeded- (Grbl-Mega Only) Build info or startup line exceeded EEPROM line length limit. -
error:15:error: Travel exceeded- Jog target exceeds machine travel. Command ignored. -
error:16:error: Invalid jog command- Jog command with no '=' or contains prohibited g-code. -
error:20:error: Unsupported command- Unsupported or invalid g-code command found in block. -
error:21:error: Modal group violation- More than one g-code command from same modal group found in block. -
error:22:error: Undefined feed rate- Feed rate has not yet been set or is undefined. -
error:23:error: Invalid gcode ID:23- G-code command in block requires an integer value. -
error:24:error: Invalid gcode ID:24- More than one g-code command that requires axis words found in block. -
error:25:error: Invalid gcode ID:25- Repeated g-code word found in block. -
error:26:error: Invalid gcode ID:26- No axis words found in block for g-code command or mode which requires them. -
error:27:error: Invalid gcode ID:27- Line number value is invalid -
error:28:error: Invalid gcode ID:28- G-code command is missing a required value word. -
error:29:error: Invalid gcode ID:29- Work coordinate system commanded not supported. -
error:30:error: Invalid gcode ID:30- G53 only allowed during G0 and G1 motion modes. -
error:31:error: Invalid gcode ID:31- Axis words found in block while no command uses them. -
error:32:error: Invalid gcode ID:32- G2/3 arcs require at least one in-plane axis word. -
error:33:error: Invalid gcode ID:33- Motion command target is invalid. -
error:34:error: Invalid gcode ID:34- Arc radius value is invalid. -
error:35:error: Invalid gcode ID:35- G2/3 arcs require at least one in-plane offset word. -
error:36:error: Invalid gcode ID:36- Unused value words found in block. -
error:37:error: Invalid gcode ID:37- G43.1 dynamic tool length offset assigned to wrong axis.
* indicates feedback enabled only by compile-time option.
'Alarm:' Codes
Format - (v1.0) : (v0.9) - Description
-
ALARM:1:ALARM: Hard limit- Hard limit has been triggered. Machine position is likely lost due to sudden stop. Re-homing is highly recommended. ` -
ALARM:2:ALARM: Soft limit- G-code motion target exceeds machine travel. Machine position safely retained. Alarm may be unlocked. -
ALARM:3:ALARM: Abort during cycle- Reset while in motion. Grbl cannot guarantee position. Lost steps are likely. Re-homing is highly recommended. -
ALARM:4:ALARM: Probe fail- If probe is not in the expected initial state before starting probe cycle, where G38.2 and G38.3 is not triggered and G38.4 and G38.5 is triggered. -
ALARM:5:ALARM: Probe fail- If the probe fails to contact the workpiece within the programmed travel for G38.2 and G38.4. -
ALARM:6:ALARM: Homing fail- If the active homing cycle was reset. -
ALARM:7:ALARM: Homing fail- If the safety door was opened during homing cycle. -
ALARM:8:ALARM: Homing fail- Pull off travel failed to clear limit switch. Try increasing pull-off setting or check wiring. -
ALARM:9:ALARM: Homing fail- Failed to find limit switch within travel. Defined as1.5 * max_travelon search and5 * pulloffon locate phases.
Message Descriptions
Format - Message - Description
-
[MSG:Reset to continue]- Critical event message. Reset is required before Grbl accepts any other commands. This prevents ongoing command streaming and risking a motion before the alarm is acknowledged. Hard or soft limit errors will trigger this event. -
[MSG:‘$H’|’$X’ to unlock]- Alarm message at initialization. All g-code commands and some ‘$’ are blocked until unlocked via homing or $X. -
[MSG:Caution: Unlocked]- Alarm unlock $X acknowledgement. -
[MSG:Enabled]- Indicates Grbl’s check-mode is enabled. -
[MSG:Disabled]- Indicates Grbl’s check-mode is disabled. Grbl is automatically reset afterwards. -
[MSG:Check Door]- Safety door detected as open. This message appears either immediately upon a safety door ajar or if the safety is open when Grbl initializes after a power-up/reset. -
[MSG:Check Limits]- If Grbl detects a limit switch is triggered after power-up/reset and hard limits are enabled, this will appear as a courtesy message. -
[MSG:Pgm End]- M2/30 program end message to denote g-code modes have been restored to defaults according to the M2/30 g-code description. -
[MSG:Restoring defaults]- Acknowledgement message when restoring EEPROM defaults via a$RST=command.