diff --git a/G-Code-in-Marlin.md b/G-Code-in-Marlin.md
index 6e17d59..af28ba9 100644
--- a/G-Code-in-Marlin.md
+++ b/G-Code-in-Marlin.md
@@ -1,306 +1,165 @@
-== About G-Code ==
+##About G-Code
G-Code (or GCode) is the instruction code that tells a RepRap 3D printer what to do. For example, the G-Code G0 X10 tells the machine to move the current tool to X position 10. Marlin's GCode is loosely based on the language specification for the [http://www.nist.gov/customcf/get_pdf.cfm?pub_id=823374 NIST RS274NGC Interpreter], but departs radically in its specific implementation details. (For example, RepRap G-Code doesn't care about "modal groups.")
-== G-Code in Marlin ==
+##G-Code in Marlin
-=== Movement ===
+###Movement
+ [[G0]] -> G1
+ [[G1]] - Coordinated Movement X Y Z E
+ [[G2]] - Clockwise Arc
+ [[G3]] - Counter-clockwise Arc
+ [[G4]] - Dwell S or P
+ [[G92]] - Set the "current position" for X Y Z E
+ [[M0]] - Wait for user, with optional prompt message (requires LCD controller)
+ [[M1]] -> M0
+ [[M400]] - Finish all moves
+ [[M999]] - Restart after an Emergency Stop
- [[G0]] -> G1
-
- [[G1]] - Coordinated Movement X Y Z E
-
- [[G2]] - Clockwise Arc
-
- [[G3]] - Counter-clockwise Arc
-
- [[G4]] - Dwell S or P
-
- [[G92]] - Set the "current position" for X Y Z E
-
- [[M0]] - Wait for user, with optional prompt message (requires LCD controller)
-
- [[M1]] -> M0
-
- [[M400]] - Finish all moves
-
- [[M999]] - Restart after an Emergency Stop
-
-
-=== SD Card ===
-
- [[M20]] - List SD card
-
- [[M21]] - Init SD card
-
- [[M22]] - Release SD card
-
- [[M23]] - Select an SD file by DOS path (M23 path/to/filename.g)
-
- [[M24]] - Start/resume SD print
-
- [[M25]] - Pause SD print
-
- [[M26]] - Set SD position in bytes
-
- [[M27]] - Report SD print status
-
- [[M28]] - Start SD write
-
- [[M29]] - Stop SD write
-
- [[M30]] - Delete file from SD
-
- [[M31]] - Print the time since SD print started, or since the most recent [[M109]] command
-
- [[M32]] - Select file and start SD print. Can be used within G-Code files to include other files.
-
- [[M540]] - Set the state of the [[Abort on Endstop Hit|ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED]] flag.
-
- [[M928]] - Start SD logging. Stop logging with [[M29]].
-
-
-=== Hardware Control ===
+###SD Card
+ [[M20]] - List SD card
+ [[M21]] - Init SD card
+ [[M22]] - Release SD card
+ [[M23]] - Select an SD file by DOS path (M23 path/to/filename.g)
+ [[M24]] - Start/resume SD print
+ [[M25]] - Pause SD print
+ [[M26]] - Set SD position in bytes
+ [[M27]] - Report SD print status
+ [[M28]] - Start SD write
+ [[M29]] - Stop SD write
+ [[M30]] - Delete file from SD
+ [[M31]] - Print the time since SD print started, or since the most recent [[M109]] command
+ [[M32]] - Select file and start SD print. Can be used within G-Code files to include other files.
+ [[M540]] - Set the state of the [[Abort on Endstop Hit|ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED]] flag.
+ [[M928]] - Start SD logging. Stop logging with [[M29]].
+###Hardware Control
[[M42]] - Change pin status via gcode: P S. If P is omitted the onboard LED pin will be used.
- M42 P9 S1 ; set PIN 9 to 1.
+ M42 P9 S1 ; set PIN 9 to 1.
+ [[M80]] - Turn on Power Supply
+ [[M81]] - Turn off Power Supply
+ [[M85]] - Set inactivity shutdown timer with parameter S. Disable with "M85" or "M85 S0".
+ [[M112]] - Emergency stop. Requires hardware reset!!
+ [[M226]] - Wait for a pin to be in some state: P S
+ [[M410]] - Quickstop. Abort all planned moves, stopping the printer.
- [[M80]] - Turn on Power Supply
+###Temperature
+ [[M104]] - Set extruder target temperature
+ [[M105]] - Request the current temperature of all heaters
+ [[M106]] - Set the fan speed
+ [[M107]] - Set the fan speed to 0 (thus turning it off)
+ [[M109]] - Wait for an extruder to reach its target temperature. Optionally set the target temperature. Optionally enable [[AUTOTEMP]].
+ [[M140]] - Set heated bed target temperature
+ [[M145]] - Set "heatup state" values for the LCD Menu
+ [[M190]] - Wait for the heated bed to reach its target temperature. Optionally set the target temperature.
+ [[M301]] - Set PID parameters P I and D
+ [[M302]] - Allow cold extrudes, or set the minimum extrusion temperature
+ [[M303]] - PID relay autotune S sets the target temperature. (default target temperature = 150C)
+ [[M304]] - Set bed PID parameters P I and D
- [[M81]] - Turn off Power Supply
+###Messages
+ [[M111]] - Set debug flags
+ [[M114]] - Output current position to serial port
+ [[M115]] - Capabilities string
+ [[M117]] - Display message text on the LCD
+ [[M119]] - Output Endstop status to serial port
- [[M85]] - Set inactivity shutdown timer with parameter S. Disable with "M85" or "M85 S0".
+###Endstops
+ [[M120]] - Enable endstop detection
+ [[M121]] - Disable endstop detection
- [[M112]] - Emergency stop. Requires hardware reset!!
-
- [[M226]] - Wait for a pin to be in some state: P S
-
- [[M410]] - Quickstop. Abort all planned moves, stopping the printer.
-
-
-=== Temperature ===
-
- [[M104]] - Set extruder target temperature
-
- [[M105]] - Request the current temperature of all heaters
-
- [[M106]] - Set the fan speed
-
- [[M107]] - Set the fan speed to 0 (thus turning it off)
-
- [[M109]] - Wait for an extruder to reach its target temperature. Optionally set the target temperature. Optionally enable [[AUTOTEMP]].
-
- [[M140]] - Set heated bed target temperature
-
- [[M145]] - Set "heatup state" values for the LCD Menu
-
- [[M190]] - Wait for the heated bed to reach its target temperature. Optionally set the target temperature.
-
- [[M301]] - Set PID parameters P I and D
-
- [[M302]] - Allow cold extrudes, or set the minimum extrusion temperature
-
- [[M303]] - PID relay autotune S sets the target temperature. (default target temperature = 150C)
-
- [[M304]] - Set bed PID parameters P I and D
-
-
-=== Messages ===
-
- [[M111]] - Set debug flags
-
- [[M114]] - Output current position to serial port
-
- [[M115]] - Capabilities string
-
- [[M117]] - Display message text on the LCD
-
- [[M119]] - Output Endstop status to serial port
-
-
-=== Endstops ===
-
- [[M120]] - Enable endstop detection
-
- [[M121]] - Disable endstop detection
-
-
-=== Special Features ===
-
- [[M126]] - Solenoid Air Valve Open. (Requires [[BARICUDA]])
-
- [[M127]] - Solenoid Air Valve Closed. (Requires [[BARICUDA]])
-
- [[M128]] - EtoP Open. (Requires [[BARICUDA]])
-
- [[M129]] - EtoP Closed. (Requires [[BARICUDA]])
-
- [[M150]] - Set BlinkM RGB Color via I2C. (Requires [[BLINKM]])
-
- [[M240]] - Trigger a camera to take a photograph. (Requires [[CHDK]] or [[PHOTOGRAPH_PIN]])
-
- [[M250]] - Set LCD contrast
-
- [[M280]] - Set servo position (absolute)
-
- [[M300]] - Play a beep sound. (Requires [[BEEPER_PIN]] or [[LCD_USE_I2C_BUZZER]])
-
- [[M380]] - Activate solenoid on active extruder. (Requires [[EXT_SOLENOID]])
-
- [[M381]] - Disable all solenoids. (Requires [[EXT_SOLENOID]])
-
- [[M600]] - Pause for filament change. (Requires [[FILAMENTCHANGEENABLE]])
-
-
-
-=== Units and Measures ===
-
- [[G90]] - Use Absolute Coordinates
-
- [[G91]] - Use Relative Coordinates
-
- [[M82]] - Set E codes absolute (default)
-
- [[M83]] - Set E codes relative while in Absolute Coordinates (G90) mode
-
- [[M92]] - Set axis_steps_per_unit - same syntax as G92
-
- [[M200]] - Set filament diameter and E axis units to mm^3
-
- [[M201]] - Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
-
- [[M202]] - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!
-
- [[M203]] - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
+###Special Features
+ [[M126]] - Solenoid Air Valve Open. (Requires [[BARICUDA]])
+ [[M127]] - Solenoid Air Valve Closed. (Requires [[BARICUDA]])
+ [[M128]] - EtoP Open. (Requires [[BARICUDA]])
+ [[M129]] - EtoP Closed. (Requires [[BARICUDA]])
+ [[M150]] - Set BlinkM RGB Color via I2C. (Requires [[BLINKM]])
+ [[M240]] - Trigger a camera to take a photograph. (Requires [[CHDK]] or [[PHOTOGRAPH_PIN]])
+ [[M250]] - Set LCD contrast
+ [[M280]] - Set servo position (absolute)
+ [[M300]] - Play a beep sound. (Requires [[BEEPER_PIN]] or [[LCD_USE_I2C_BUZZER]])
+ [[M380]] - Activate solenoid on active extruder. (Requires [[EXT_SOLENOID]])
+ [[M381]] - Disable all solenoids. (Requires [[EXT_SOLENOID]])
+ [[M600]] - Pause for filament change. (Requires [[FILAMENTCHANGEENABLE]])
+###Units and Measures
+ [[G90]] - Use Absolute Coordinates
+ [[G91]] - Use Relative Coordinates
+ [[M82]] - Set E codes absolute (default)
+ [[M83]] - Set E codes relative while in Absolute Coordinates (G90) mode
+ [[M92]] - Set axis_steps_per_unit - same syntax as G92
+ [[M200]] - Set filament diameter and E axis units to mm^3
+ [[M201]] - Set max acceleration in units/s^2 for print moves (M201 X1000 Y1000)
+ [[M202]] - Set max acceleration in units/s^2 for travel moves (M202 X1000 Y1000) Unused in Marlin!!
+ [[M203]] - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
[[M204]] - Set default acceleration: P for Printing moves, R for Retract only (no X, Y, Z) moves and T for Travel
-(non printing) moves (ex. M204 P800 T3000 R9000) in mm/sec^2
-
- [[M205]] - Advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X=maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk
-
- [[M206]] - Set additional homing offset
-
- [[M218]] - Set hotend offset (in mm): T X Y
-
- [[M220]] - Set speed factor override percentage: S
-
- [[M221]] - Set extrude factor override percentage: S
-
-
-
-=== Firmware Retraction ===
-
- [[G10]] - Retract filament according to settings of M207
-
- [[G11]] - Retract recover filament according to settings of M208
+(non printing) moves (ex. M204 P800 T3000 R9000) in mm/sec^2
+ [[M205]] - Advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X=maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk
+ [[M206]] - Set additional homing offset
+ [[M218]] - Set hotend offset (in mm): T X Y
+ [[M220]] - Set speed factor override percentage: S
+ [[M221]] - Set extrude factor override percentage: S
+###Firmware Retraction
+ [[G10]] - Retract filament according to settings of M207
+ [[G11]] - Retract recover filament according to settings of M208
[[M207]] - Set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless
-of M200 setting
-
- [[M208]] - Set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/s]
-
+of M200 setting
+ [[M208]] - Set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/s]
[[M209]] - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal
-extrude-only move will be classified as retract depending on the direction
+extrude-only move will be classified as retract depending on the direction
+###Z Probe
+ [[G28]] - Home one or more axes.
+ [[G29]] - Probe the bed Z height at multiple points and enable bed leveling compensation.
+ [[G30]] - Probe the bed Z height at the current XY position.
+ [[G31]] - Dock Z Probe sled.
+ [[G32]] - Undock Z Probe sled.
+ [[M48]] - Measure Z Probe repeatability.
+ [[M401]] - Lower Z-probe.
+ [[M402]] - Raise Z-probe.
+ [[M420]] - Enable or disable Mesh Bed Leveling.
+ [[M421]] - Set a single Mesh Bed Leveling Z coordinate: X Y Z
-=== Z Probe ===
+###Filament Diameter
+ [[M404]] - Set (or display) Nominal Filament Diameter in mm: [N] (e.g., 3mm or 1.75mm)
+ [[M405]] - Turn on Filament Sensor extrusion control: [D] to set distance (in cm) from sensor to extruder
+ [[M406]] - Turn off Filament Sensor extrusion control
+ [[M407]] - Display measured Filament Diameter
- [[G28]] - Home one or more axes.
+###EEPROM Settings
+ [[M500]] - Save current settings to EEPROM.
+ [[M501]] - Load stored settings from EEPROM.
+ [[M502]] - Revert to the default "factory settings." '''''Does not store them in EEPROM!'''''
+ [[M503]] - Print current settings (from memory, not EEPROM).
- [[G29]] - Probe the bed Z height at multiple points and enable bed leveling compensation.
+###Delta
+ [[M665]] - Set Delta configurations: L R S
+ [[M666]] - Set Delta endstop adjustment: X Y Z
+ [[M605]] - Set dual x-carriage movement mode: S [ X R ]
- [[G30]] - Probe the bed Z height at the current XY position.
+###Stepper Drivers
+ [[M17]] - Enable/Power all stepper motors
+ [[M18]] -> [[M84]]
+ [[M84]] - Disable steppers until the next move, or set the inactivity timeout after which steppers should be disabled.
+ [[M907]] - Set digital trimpot motor current using axis codes.
+ [[M908]] - Control digital trimpot directly.
+ [[M350]] - Set microstepping mode.
+ [[M351]] - Toggle MS1 MS2 pins directly to set microstepping.
- [[G31]] - Dock Z Probe sled.
+###SCARA
+''May change to suit future G-code standards''
+ [[M360]] - SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
+ [[M361]] - SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
+ [[M362]] - SCARA calibration: Move to cal-position PsiA (0 deg calibration)
+ [[M363]] - SCARA calibration: Move to cal-position PsiB (90 deg calibration - steps per degree)
+ [[M364]] - SCARA calibration: Move to cal-position PSIC (90 deg to Theta calibration position)
+ [[M365]] - SCARA calibration: Scaling factor, X, Y, Z axis
- [[G32]] - Undock Z Probe sled.
-
- [[M48]] - Measure Z Probe repeatability.
-
- [[M401]] - Lower Z-probe.
-
- [[M402]] - Raise Z-probe.
-
- [[M420]] - Enable or disable Mesh Bed Leveling.
-
- [[M421]] - Set a single Mesh Bed Leveling Z coordinate: X Y Z
-
-
-
-=== Filament Diameter ===
-
- [[M404]] - Set (or display) Nominal Filament Diameter in mm: [N] (e.g., 3mm or 1.75mm)
-
- [[M405]] - Turn on Filament Sensor extrusion control: [D] to set distance (in cm) from sensor to extruder
-
- [[M406]] - Turn off Filament Sensor extrusion control
-
- [[M407]] - Display measured Filament Diameter
-
-
-=== EEPROM Settings ===
-
- [[M500]] - Save current settings to EEPROM.
-
- [[M501]] - Load stored settings from EEPROM.
-
- [[M502]] - Revert to the default "factory settings." '''''Does not store them in EEPROM!'''''
-
- [[M503]] - Print current settings (from memory, not EEPROM).
-
-
-=== Delta ===
-
- [[M665]] - Set Delta configurations: L R S
-
- [[M666]] - Set Delta endstop adjustment: X Y Z
-
- [[M605]] - Set dual x-carriage movement mode: S [ X R ]
-
-
-
-=== Stepper Drivers ===
-
- [[M17]] - Enable/Power all stepper motors
-
- [[M18]] -> [[M84]]
-
- [[M84]] - Disable steppers until the next move, or set the inactivity timeout after which steppers should be disabled.
-
- [[M907]] - Set digital trimpot motor current using axis codes.
-
- [[M908]] - Control digital trimpot directly.
-
- [[M350]] - Set microstepping mode.
-
- [[M351]] - Toggle MS1 MS2 pins directly to set microstepping.
-
-
-=== SCARA ===
-
-''May change to suit future G-code standards''
-
- [[M360]] - SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
-
- [[M361]] - SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
-
- [[M362]] - SCARA calibration: Move to cal-position PsiA (0 deg calibration)
-
- [[M363]] - SCARA calibration: Move to cal-position PsiB (90 deg calibration - steps per degree)
-
- [[M364]] - SCARA calibration: Move to cal-position PSIC (90 deg to Theta calibration position)
-
- [[M365]] - SCARA calibration: Scaling factor, X, Y, Z axis
-
-
-
-=== Host Printing ===
-
- [[M110]] - Set the current Line Number
-
-
-== G-Code Comments ==
+###Host Printing
+ [[M110]] - Set the current Line Number
+##G-Code Comments
Comments start at a ; (semicolon) and end with the end of the line:
N3 T0*57 ; This is a comment