M115 Keywords
Contents
Author: Jonathan Marsden
Version: 0.1 Draft 20101011
Introduction
This document is an initial draft documenting ideas for a set of keyword:value pairs that the M115 GCode can return to host software.
Guidelines
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
X-FIRMWARE_BUILD_TIME:2010-10-11T13:01
might be output by a machine to describe exactly when its firmware was compiled.
Keywords
- FIRMWARE_VERSION:
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:
FIRMWARE_VERSION:1.2.3 FIRMWARE_VERSION:20101011.1245
- FIRMWARE_NAME:
An ASCII string representing the name of the firmware in use. Examples:
FIRMWARE_NAME:FiveD FIRMWARE_NAME:FiveD_on_Arduino
- FIRMWARE_URL:
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:
FIRMWARE_URL:http%3A//reprap.org
- PROTOCOL_VERSION:
A string of digits 0-9 and optionally periods, for example
PROTOCOL_VERSION:1.2
It represents the protocol version betwen Reprap host and Reprap embedded controller that this firmware implements.
- MACHINE_TYPE:
A short ASCII string representing the bot design the machine us based on. Examples:
MACHINE_TYPE:Mendel MACHINE_TYPE:Huxley
- EXTRUDER_COUNT:
A positive integer representing the number of extruders, for example:
EXTRUDER_COUNT:1 EXTRUDER_COUNT:3
- FAN_COUNT:
A positive integer representing the number of fans, for example:
FAN_COUNT:1 FAN_COUNT:3