M115 Keywords

From RepRap
Jump to: navigation, search

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

Keyword suggestions

I have started a collection of possible keywords, to get some debate.

  • INVERT_X_DIR:
  • INVERT_Y_DIR:
  • INVERT_Z_DIR:
 An integer showing the setting (values: 0 = false, 1 = true)
 example:
   INVERT_X_DIR:0
   INVERT_Y_DIR:1
   INVERT_Z_DIR:1
  • INVERT_E_DIR:
  • INVERT_E0_DIR:
  • INVERT_E1_DIR:



  • X_STEPS_PER_UNIT:
  • Y_STEPS_PER_UNIT:
  • Z_STEPS_PER_UNIT:
  • E_STEPS_PER_UNIT:
  • UNIT: mm / inch / mil


  • MAX_XY_FEEDRATE:
  • MAX_Z_FEEDRATE:
 A number showing the max print speed
 example:
     MAX_XY_FEEDRATE:120000.00
     MAX_Z_FEEDRATE:120.00


  • FAST_XY_FEEDRATE:
  • FAST_Z_FEEDRATE:
 A number showing the max print/move speed
 example:
   FAST_XY_FEEDRATE:3000
   FAST_Z_FEEDRATE:90