Author: Jonathan Marsden
Version: 0.1 Draft 20101011
This document is an initial draft documenting ideas for a set of keyword:value pairs that the M115 GCode can return to host software.
All keywords and values contain only printable USASCII characters excluding colon. That is, keywords and values must only contain bytes with hex values 0x21 to 0x39 and 0x3B to 0x7E.
Keywords and values must not be empty; that is, they must be at least one character long. It is recommended that keywords are at least three characters long and provide a reasonable clue as to their likely meaning for the casual reader.
All defined keywords must not start with the letter X. All experimental (unofficial) keywords must start with X- so that, for example
might be output by a machine to describe exactly when its firmware was compiled.
A string of digits 0-9 and optionally periods, repreenting version of the current running firmware codebase. Note that these are specific to a given firmware implementation, and cannot be compared across implementations. Compatibility checking is expected to be done using PROTOCOL_VERSION rather than FIRMWARE_VERSION. Examples:
An ASCII string representing the name of the firmware in use. Examples:
An ASCII string representing the URL of the primary web site for the firmware in use. Colons in the URL should be represented as %3A. The intent is that this URL should allow an interested user to find out more about the particular firmware implementation, contact its authors, check for newer versions, etc. For example:
A string of digits 0-9 and optionally periods, for example
It represents the protocol version betwen Reprap host and Reprap embedded controller that this firmware implements.
A short ASCII string representing the bot design the machine us based on. Examples:
A positive integer representing the number of extruders, for example:
I have started a collection of possible keywords, to get some debate.
An integer showing the setting (values: 0 = false, 1 = true) example:
INVERT_X_DIR:0 INVERT_Y_DIR:1 INVERT_Z_DIR:1
- UNIT: mm / inch / mil
A number showing the max print speed example:
A number showing the max print/move speed example: