grbl-LPC-CoreXY/doc/markdown/error_codes.md
Sonny Jeon e51e691eeb Increment to v1.1a, minor compile bug fix, tweaked communication protocol, more docs.
- 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.
2016-09-22 23:15:55 -06:00

6.1 KiB
Raw Blame History

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 as 1.5 * max_travel on search and 5 * pulloff on 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 Grbls check-mode is enabled.

  • [MSG:Disabled] - Indicates Grbls 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.