RepRap Firmware G-Codes
The RepRap Firmware (abbreviated RRF) does use more G-codes than other firmwares notably because all configuration is done with G-Codes. Another reason is that it does have extended functionalities.
What is presently listed in this page is not the exhaustive list interpreted by RepRap Firmware, only the G-Codes which are specific (yet). This list cover DC42 and Chrishamm fork, which are more complete than the original version. Some G-Codes are common between RepRap Firmware and other firmwares, but with extended syntax or specific interpretation. They are listed in a specific paragraph.
Codes specific to RepRap Firmware
Macros and physical interfacing
- M98: Call Macro/Subprogram
- M99: Return from Macro/Subprogram
- M577: Wait until endstop is triggered
- M571: Set output on extrude - Activate a pin while extruding
Heaters
- M135: Set PID sample interval
- M143: Maximum hot-end temperature
- M144: Stand By Your Bed
- M570: Set heater timeout - common to all tools
- M562: Reset temperature fault
- M563: Define or remove a tool
Ethernet communication
- M540: Set MAC address - all printers on same network shall have different MAC addresses
- M550: Set Name - Name for web page call and for FTP
- M551: Set Password - For FTP and Web Control/firmware exchange
- M552: Set IP address - Optional
- M553: Set Netmask - if IP address defined
- M554: Set Gateway - if IP address defined
Miscellaneous Configuration
- M555: Set compatibility - G-code style compatibility
- M558: Set Z probe type
- M566: Set allowable instantaneous speed change - 'jerk' values: speed change while cornering
- M569: Set axis direction and enable values - Change stepper directions without replug
- M906: Set motor currents - digital potentiometers for steppers
- M574: Set endstop configuration
- M572: Set or report extruder elasticity compensation
- M575: Set serial comms parameters - Presently used by PanelDue for communication with the Duet
Web control (DWC)
Firmware configuration
- M559: Upload configuration file
- M997: Perform in-application firmware update - firmware update without USB connection
Reporting - also used by DWC
- M36: Return file information
- M122: Diagnose
- M573: Report heater PWM
- M408: Report JSON-style response - Return printer status data
Geometry
- M208: Set axis max travel
- M556: Axis compensation - X/Y angular correction
- M564: Limit axes
- M579: Scale Cartesian axes - X/Y/Z scale compensation for deltas
- M667: Select CoreXY mode
- M668: Set Z-offset compensations polynomial - in development ?
Miscellaneous commands
- M37: Simulation mode - Run a print simulation for time estimation : slow
Specialised machines
- M567: Set tool mix ratios
- M568: Turn off/on tool mix ratios
- M578: Fire inkjet bits
- M580: Select Roland
G-codes with specific or extended syntax
- G0 & G1: Move - Flags are used to bypass endstops or move carriage on delta
- G10: Tool Offset Used to define standby and operating tool temperature
- M105: Get Extruder Temperature
- M106: Fan On - RRF use it to configure controllable fans
- M141: Set Chamber Temperature (Fast) - in RRF also define the chamber heater
- M301: Set PID parameters RRF add dead band, PWM scaling and other parameters
- M302: Allow cold extrudes
- M305: Set thermistor and ADC parameters
- M665: Set delta configuration
- M561: Set Identity Transform - reset the transformation from calibration