grbl-imbus/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

124 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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.