{ "ABORT": [ { "brief": "This command terminates the manual probing tool.", "codes": [ "ABORT" ], "id": "Klipper.ABORT[0]", "parameters": [], "related": [], "source": "Klipper", "title": "This command terminates the manual probing tool", "url": "https://www.klipper3d.org/G-Codes.html#manual_probe_1" } ], "ACCEPT": [ { "brief": "This command accepts the current Z position and concludes the manual probing tool.", "codes": [ "ACCEPT" ], "id": "Klipper.ACCEPT[0]", "parameters": [], "related": [], "source": "Klipper", "title": "This command accepts the current Z position and concludes the manual probing tool", "url": "https://www.klipper3d.org/G-Codes.html#manual_probe_1" } ], "CENTER": [ { "brief": "An X,Y coordinate for the object.", "codes": [ "CENTER" ], "id": "Klipper.CENTER[0]", "parameters": [], "related": [], "source": "Klipper", "title": "An X,Y coordinate for the object", "url": "https://www.klipper3d.org/G-Codes.html#exclude_object_define" } ], "FACTOR": [ { "brief": "and", "codes": [ "FACTOR" ], "id": "Klipper.FACTOR[0]", "parameters": [], "related": [], "source": "Klipper", "title": "and", "url": "https://www.klipper3d.org/G-Codes.html#tuning_tower_1" } ], "G0": [ { "brief": "Add a straight line movement to the planner", "codes": [ "G0", "G1" ], "id": "Marlin.G0[0]", "parameters": [ { "description": "An absolute or relative coordinate on the X axis (in current units).", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "An absolute or relative coordinate on the Y axis (in current units).", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "An absolute or relative coordinate on the Z axis (in current units).", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "An absolute or relative coordinate on the E (extruder) axis (in current units). The E axis describes the position of the filament in terms of input to the extruder feeder.", "label": "[E]", "optional": true, "tag": "E", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "The maximum movement rate of the move between the start and end point. The feedrate set here applies to subsequent moves that omit this parameter.", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "rate", "type": "float" } ] }, { "description": "Set the laser power for the move.", "label": "[S]", "optional": true, "requires": "LASER_FEATURE", "since": "2.1.1", "tag": "S", "values": [ { "tag": "power", "type": "float" } ] } ], "related": [ "G2", "G3", "G5", "M82", "M83", "G91" ], "source": "Marlin", "title": "Linear Move", "url": "https://marlinfw.org/docs/gcode/G000-G001" }, { "brief": "* G0 : Rapid Move\n* G1 : Linear Move", "codes": [ "G0", "G1" ], "id": "RepRap.G0[0]", "parameters": [ { "description": " The position to move to on the X axis", "label": "Xnnn", "optional": true, "tag": "X", "values": [] }, { "description": " The position to move to on the Y axis", "label": "Ynnn", "optional": true, "tag": "Y", "values": [] }, { "description": " The position to move to on the Z axis", "label": "Znnn", "optional": true, "tag": "Z", "values": [] }, { "description": " The amount to extrude between the starting point and ending point", "label": "Ennn", "optional": true, "tag": "E", "values": [] }, { "description": " The feedrate per minute of the move between the starting point and ending point (if supplied)", "label": "Fnnn", "optional": true, "tag": "F", "values": [] }, { "description": " (RepRapFirmware) Flag to check if an endstop was hit (H1 to check, H0 to ignore, other see note, default is H0)", "label": "Hnnn", "optional": true, "tag": "H", "values": [] }, { "description": " (RepRapFirmware) Restore point number ", "label": "Rnnn", "optional": true, "tag": "R", "values": [] }, { "description": " Laser cutter/engraver power. In RepRapFirmware, when not in laser mode S in interpreted the same as H.", "label": "Snnn", "optional": true, "tag": "S", "values": [] } ], "related": [], "source": "RepRap", "title": "G0 & G1: Move", "url": "https://reprap.org/wiki/G-code#G0_.26_G1:_Move" } ], "G1": [ { "brief": "", "codes": [ "G1" ], "id": "Klipper.G1[0]", "parameters": [ { "description": "", "label": "[X]", "optional": true, "tag": "X", "values": [] }, { "description": "", "label": "[Y]", "optional": true, "tag": "Y", "values": [] }, { "description": "", "label": "[Z]", "optional": true, "tag": "Z", "values": [] }, { "description": "", "label": "[E]", "optional": true, "tag": "E", "values": [] }, { "description": "", "label": "[F]", "optional": true, "tag": "F", "values": [] } ], "related": [], "source": "Klipper", "title": "", "url": "https://www.klipper3d.org/G-Codes.html#g-code-commands" }, { "brief": "Add a straight line movement to the planner", "codes": [ "G0", "G1" ], "id": "Marlin.G1[0]", "parameters": [ { "description": "An absolute or relative coordinate on the X axis (in current units).", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "An absolute or relative coordinate on the Y axis (in current units).", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "An absolute or relative coordinate on the Z axis (in current units).", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "An absolute or relative coordinate on the E (extruder) axis (in current units). The E axis describes the position of the filament in terms of input to the extruder feeder.", "label": "[E]", "optional": true, "tag": "E", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "The maximum movement rate of the move between the start and end point. The feedrate set here applies to subsequent moves that omit this parameter.", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "rate", "type": "float" } ] }, { "description": "Set the laser power for the move.", "label": "[S]", "optional": true, "requires": "LASER_FEATURE", "since": "2.1.1", "tag": "S", "values": [ { "tag": "power", "type": "float" } ] } ], "related": [ "G2", "G3", "G5", "M82", "M83", "G91" ], "source": "Marlin", "title": "Linear Move", "url": "https://marlinfw.org/docs/gcode/G000-G001" }, { "brief": "* G0 : Rapid Move\n* G1 : Linear Move", "codes": [ "G0", "G1" ], "id": "RepRap.G1[0]", "parameters": [ { "description": " The position to move to on the X axis", "label": "Xnnn", "optional": true, "tag": "X", "values": [] }, { "description": " The position to move to on the Y axis", "label": "Ynnn", "optional": true, "tag": "Y", "values": [] }, { "description": " The position to move to on the Z axis", "label": "Znnn", "optional": true, "tag": "Z", "values": [] }, { "description": " The amount to extrude between the starting point and ending point", "label": "Ennn", "optional": true, "tag": "E", "values": [] }, { "description": " The feedrate per minute of the move between the starting point and ending point (if supplied)", "label": "Fnnn", "optional": true, "tag": "F", "values": [] }, { "description": " (RepRapFirmware) Flag to check if an endstop was hit (H1 to check, H0 to ignore, other see note, default is H0)", "label": "Hnnn", "optional": true, "tag": "H", "values": [] }, { "description": " (RepRapFirmware) Restore point number ", "label": "Rnnn", "optional": true, "tag": "R", "values": [] }, { "description": " Laser cutter/engraver power. In RepRapFirmware, when not in laser mode S in interpreted the same as H.", "label": "Snnn", "optional": true, "tag": "S", "values": [] } ], "related": [], "source": "RepRap", "title": "G0 & G1: Move", "url": "https://reprap.org/wiki/G-code#G0_.26_G1:_Move" } ], "G10": [ { "brief": "", "codes": [ "G10" ], "id": "Klipper.G10[0]", "parameters": [], "related": [], "source": "Klipper", "title": "", "url": "https://www.klipper3d.org/G-Codes.html#firmware_retraction" }, { "brief": "Retract the filament", "codes": [ "G10" ], "id": "Marlin.G10[0]", "parameters": [ { "description": "Use `G10 S1` to do a swap retraction, before changing extruders. The subsequent [`G11`](/docs/gcode/G011.html) (after tool change) will do a swap recover. (Requires `EXTRUDERS` > 1)", "label": "[S]", "optional": true, "tag": "S", "values": [ { "type": "bool" } ] } ], "related": [], "source": "Marlin", "title": "Retract", "url": "https://marlinfw.org/docs/gcode/G010" }, { "brief": "", "codes": [ "G10" ], "id": "RepRap.G10[0]", "parameters": [ { "description": " Tool number", "label": "Pnnn", "optional": true, "tag": "P", "values": [] }, { "description": " Offset mode ", "label": "Lnnn", "optional": true, "tag": "L", "values": [] }, { "description": " X offset", "label": "Xnnn", "optional": true, "tag": "X", "values": [] }, { "description": " Y offset", "label": "Ynnn", "optional": true, "tag": "Y", "values": [] }, { "description": " Z offset", "label": "Znnn", "optional": true, "tag": "Z", "values": [] }, { "description": " other axis offsets", "label": "U,V,W,A,B,Cnnn", "optional": true, "tag": "U", "values": [] }, { "description": " Standby temperature(s) (RepRapFirmware)", "label": "Rnnn", "optional": true, "tag": "R", "values": [] }, { "description": " Active temperature(s) (RepRapFirmware)", "label": "Snnn", "optional": true, "tag": "S", "values": [] } ], "related": [], "source": "RepRap", "title": "G10: Set tool Offset and/or workplace coordinates and/or tool temperatures", "url": "https://reprap.org/wiki/G-code#G10:_Set_tool_Offset_and.2For_workplace_coordinates_and.2For_tool_temperatures" }, { "brief": "", "codes": [ "G10" ], "id": "RepRap.G10[1]", "parameters": [ { "description": " retract length (S1 = long retract, S0 = short retract = default) (Repetier only)", "label": "Snnn", "optional": true, "tag": "S", "values": [] } ], "related": [], "source": "RepRap", "title": "G10: Retract", "url": "https://reprap.org/wiki/G-code#G10:_Retract" } ], "G100": [ { "brief": "", "codes": [ "G100" ], "id": "RepRap.G100[0]", "parameters": [ { "description": " Flag to set floor for X axis", "label": "X", "optional": true, "tag": "X", "values": [] }, { "description": " Flag to set floor for Y axis", "label": "Y", "optional": true, "tag": "Y", "values": [] }, { "description": " Flag to set floor for Z axis", "label": "Z", "optional": true, "tag": "Z", "values": [] }, { "description": " Radius to add", "label": "Rnnn", "optional": true, "tag": "R", "values": [] } ], "related": [], "source": "RepRap", "title": "G100: Calibrate floor or rod radius", "url": "https://reprap.org/wiki/G-code#G100:_Calibrate_floor_or_rod_radius" } ], "G11": [ { "brief": "", "codes": [ "G11" ], "id": "Klipper.G11[0]", "parameters": [], "related": [], "source": "Klipper", "title": "", "url": "https://www.klipper3d.org/G-Codes.html#firmware_retraction" }, { "brief": "Recover the filament with firmware-based retract.", "codes": [ "G11" ], "id": "Marlin.G11[0]", "parameters": [], "related": [], "source": "Marlin", "title": "Recover", "url": "https://marlinfw.org/docs/gcode/G011" }, { "brief": "", "codes": [ "G11" ], "id": "RepRap.G11[0]", "parameters": [ { "description": " retract length (S1 = long retract, S0 = short retract = default) (Repetier only)", "label": "Snnn", "optional": true, "tag": "S", "values": [] } ], "related": [], "source": "RepRap", "title": "G11: Unretract", "url": "https://reprap.org/wiki/G-code#G11:_Unretract" } ], "G12": [ { "brief": "Perform the nozzle cleaning procedure.", "codes": [ "G12" ], "id": "Marlin.G12[0]", "parameters": [ { "description": "Pattern style selection", "label": "[P<0|1|2>]", "optional": true, "tag": "P", "values": [ { "description": "Linear move back and forth", "tag": 0 }, { "description": "Move in a zigzag pattern", "tag": 1 }, { "description": "Move in a circular pattern", "tag": 2 } ] }, { "description": "Radius of nozzle cleaning circle", "label": "[R]", "optional": true, "tag": "R", "values": [ { "tag": "radius", "type": "float" } ] }, { "description": "Number of repetitions of the pattern", "label": "[S]", "optional": true, "tag": "S", "values": [ { "tag": "count", "type": "int" } ] }, { "description": "Number of triangles in the zigzag pattern", "label": "[T]", "optional": true, "tag": "T", "values": [ { "tag": "count", "type": "int" } ] }, { "description": "Include X motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.)", "label": "[X]", "optional": true, "tag": "X", "values": [ { "type": "flag" } ] }, { "description": "Include Y motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.)", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "type": "flag" } ] }, { "description": "Include Z motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.)", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "type": "flag" } ] } ], "related": [], "source": "Marlin", "title": "Clean the Nozzle", "url": "https://marlinfw.org/docs/gcode/G012" }, { "brief": "", "codes": [ "G12" ], "id": "RepRap.G12[0]", "parameters": [ { "description": " Pattern style selection", "label": "Pnnn", "optional": true, "tag": "P", "values": [] }, { "description": " Number of strokes (i.e. back-and-forth movements)", "label": "Snnn", "optional": true, "tag": "S", "values": [] }, { "description": " Number of repetitions", "label": "Tnnn", "optional": true, "tag": "T", "values": [] }, { "description": " 0=Never 1=Always apply software endstops (Marlin 2.0.6+)", "label": "Ennn", "optional": true, "tag": "E", "values": [] } ], "related": [], "source": "RepRap", "title": "G12: Clean Tool", "url": "https://reprap.org/wiki/G-code#G12:_Clean_Tool" } ], "G130": [ { "brief": "", "codes": [ "G130" ], "id": "RepRap.G130[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G130: Set digital potentiometer value", "url": "https://reprap.org/wiki/G-code#G130:_Set_digital_potentiometer_value" } ], "G131": [ { "brief": "", "codes": [ "G131" ], "id": "RepRap.G131[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G131: Remove offset", "url": "https://reprap.org/wiki/G-code#G131:_Remove_offset" } ], "G132": [ { "brief": "", "codes": [ "G132" ], "id": "RepRap.G132[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G132: Calibrate endstop offsets", "url": "https://reprap.org/wiki/G-code#G132:_Calibrate_endstop_offsets" } ], "G133": [ { "brief": "", "codes": [ "G133" ], "id": "RepRap.G133[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G133: Measure steps to top", "url": "https://reprap.org/wiki/G-code#G133:_Measure_steps_to_top" } ], "G161": [ { "brief": "", "codes": [ "G161" ], "id": "RepRap.G161[0]", "parameters": [ { "description": " Flag to home the X axis to its minimum position", "label": "X", "optional": true, "tag": "X", "values": [] }, { "description": " Flag to home the Y axis to its minimum position", "label": "Y", "optional": true, "tag": "Y", "values": [] }, { "description": " Flag to home the Z axis to its minimum position", "label": "Z", "optional": true, "tag": "Z", "values": [] }, { "description": " Desired feedrate for this command", "label": "Fnnn", "optional": true, "tag": "F", "values": [] } ], "related": [], "source": "RepRap", "title": "G161: Home axes to minimum", "url": "https://reprap.org/wiki/G-code#G161:_Home_axes_to_minimum" } ], "G162": [ { "brief": "", "codes": [ "G162" ], "id": "RepRap.G162[0]", "parameters": [ { "description": " Flag to home the X axis to its maximum position", "label": "X", "optional": true, "tag": "X", "values": [] }, { "description": " Flag to home the Y axis to its maximum position", "label": "Y", "optional": true, "tag": "Y", "values": [] }, { "description": " Flag to home the Z axis to its maximum position", "label": "Z", "optional": true, "tag": "Z", "values": [] }, { "description": " Desired feedrate for this command", "label": "Fnnn", "optional": true, "tag": "F", "values": [] } ], "related": [], "source": "RepRap", "title": "G162: Home axes to maximum", "url": "https://reprap.org/wiki/G-code#G162:_Home_axes_to_maximum" } ], "G17": [ { "brief": "Select CNC workspace plane", "codes": [ "G17", "G18", "G19" ], "id": "Marlin.G17[0]", "parameters": [], "related": [ "G2", "G3", "G5" ], "source": "Marlin", "title": "CNC Workspace Planes", "url": "https://marlinfw.org/docs/gcode/G017-G019" }, { "brief": "These codes set the current plane as follows:\n* G17 : XY (default)\n* G18 : ZX\n* G19 : YZ\nThis mode applies to G2/G3 arc moves. Normal arc moves are in the XY plane, and for most applications that's all you need. For CNC routing it can be useful to do small \"digging\" moves while making cuts, so to keep the G-code compact it uses G2/G3 arcs involving the Z plane.\nThese commands are supported in Marlin 1.1.4 and later with ARC_SUPPORT and CNC_WORKSPACE_PLANES enabled.", "codes": [ "G17", "G18", "G19" ], "id": "RepRap.G17[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G17..19: Plane Selection (CNC specific)", "url": "https://reprap.org/wiki/G-code#G17..19:_Plane_Selection_.28CNC_specific.29" } ], "G18": [ { "brief": "Select CNC workspace plane", "codes": [ "G17", "G18", "G19" ], "id": "Marlin.G18[0]", "parameters": [], "related": [ "G2", "G3", "G5" ], "source": "Marlin", "title": "CNC Workspace Planes", "url": "https://marlinfw.org/docs/gcode/G017-G019" }, { "brief": "These codes set the current plane as follows:\n* G17 : XY (default)\n* G18 : ZX\n* G19 : YZ\nThis mode applies to G2/G3 arc moves. Normal arc moves are in the XY plane, and for most applications that's all you need. For CNC routing it can be useful to do small \"digging\" moves while making cuts, so to keep the G-code compact it uses G2/G3 arcs involving the Z plane.\nThese commands are supported in Marlin 1.1.4 and later with ARC_SUPPORT and CNC_WORKSPACE_PLANES enabled.", "codes": [ "G17", "G18", "G19" ], "id": "RepRap.G18[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G17..19: Plane Selection (CNC specific)", "url": "https://reprap.org/wiki/G-code#G17..19:_Plane_Selection_.28CNC_specific.29" } ], "G19": [ { "brief": "Select CNC workspace plane", "codes": [ "G17", "G18", "G19" ], "id": "Marlin.G19[0]", "parameters": [], "related": [ "G2", "G3", "G5" ], "source": "Marlin", "title": "CNC Workspace Planes", "url": "https://marlinfw.org/docs/gcode/G017-G019" }, { "brief": "These codes set the current plane as follows:\n* G17 : XY (default)\n* G18 : ZX\n* G19 : YZ\nThis mode applies to G2/G3 arc moves. Normal arc moves are in the XY plane, and for most applications that's all you need. For CNC routing it can be useful to do small \"digging\" moves while making cuts, so to keep the G-code compact it uses G2/G3 arcs involving the Z plane.\nThese commands are supported in Marlin 1.1.4 and later with ARC_SUPPORT and CNC_WORKSPACE_PLANES enabled.", "codes": [ "G17", "G18", "G19" ], "id": "RepRap.G19[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G17..19: Plane Selection (CNC specific)", "url": "https://reprap.org/wiki/G-code#G17..19:_Plane_Selection_.28CNC_specific.29" } ], "G2": [ { "brief": "Add an arc or circle movement to the planner", "codes": [ "G2", "G3" ], "id": "Marlin.G2[0]", "parameters": [ { "description": "An offset from the current X position to use as the arc center", "label": "I", "optional": false, "tag": "I", "type": "float", "values": [ { "tag": "offset", "type": "float" } ] }, { "description": "An offset from the current Y position to use as the arc center", "label": "J", "optional": false, "tag": "J", "type": "float", "values": [ { "tag": "offset", "type": "float" } ] }, { "description": "A radius from the current XY position to use as the arc center", "label": "R", "optional": false, "tag": "R", "type": "float", "values": [ { "tag": "radius", "type": "float" } ] }, { "description": "A coordinate on the X axis", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "A coordinate on the Y axis", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "A coordinate on the Z axis", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "The amount to extrude between the start point and end point", "label": "[E]", "optional": true, "tag": "E", "type": "float", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "The maximum rate of the move between the start and end point", "label": "[F]", "optional": true, "tag": "F", "values": [ { "optional": false, "tag": "rate", "type": "float" } ] }, { "description": "Specify complete circles. (Requires `ARC_P_CIRCLES`)", "label": "[P]", "optional": true, "tag": "P", "values": [ { "tag": "count", "type": "int" } ] }, { "description": "Set the Laser power for the move.", "label": "[S]", "optional": true, "since": "2.0.8", "tag": "S", "values": [ { "tag": "power", "type": "float" } ] } ], "related": [ "G17", "G18", "G19" ], "source": "Marlin", "title": "Arc or Circle Move", "url": "https://marlinfw.org/docs/gcode/G002-G003" }, { "brief": "", "codes": [ "G2", "G3" ], "id": "RepRap.G2[0]", "parameters": [ { "description": " The position to move to on the X axis", "label": "Xnnn", "optional": true, "tag": "X", "values": [] }, { "description": " The position to move to on the Y axis", "label": "Ynnn", "optional": true, "tag": "Y", "values": [] }, { "description": " The point in X space from the current X position to maintain a constant distance from", "label": "Innn", "optional": true, "tag": "I", "values": [] }, { "description": " The point in Y space from the current Y position to maintain a constant distance from", "label": "Jnnn", "optional": true, "tag": "J", "values": [] }, { "description": " The amount to extrude between the starting point and ending point", "label": "Ennn", "optional": true, "tag": "E", "values": [] }, { "description": " The feedrate per minute of the move between the starting point and ending point (if supplied)", "label": "Fnnn", "optional": true, "tag": "F", "values": [] } ], "related": [], "source": "RepRap", "title": "G2 & G3: Controlled Arc Move", "url": "https://reprap.org/wiki/G-code#G2_.26_G3:_Controlled_Arc_Move" } ], "G20": [ { "brief": "Set Units to Inches.", "codes": [ "G20" ], "id": "Marlin.G20[0]", "parameters": [], "related": [], "source": "Marlin", "title": "Inch Units", "url": "https://marlinfw.org/docs/gcode/G020" }, { "brief": "", "codes": [ "G20" ], "id": "RepRap.G20[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G20: Set Units to Inches", "url": "https://reprap.org/wiki/G-code#G20:_Set_Units_to_Inches" } ], "G21": [ { "brief": "Set Units to Millimeters.", "codes": [ "G21" ], "id": "Marlin.G21[0]", "parameters": [], "related": [], "source": "Marlin", "title": "Millimeter Units", "url": "https://marlinfw.org/docs/gcode/G021" }, { "brief": "", "codes": [ "G21" ], "id": "RepRap.G21[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G21: Set Units to Millimeters", "url": "https://reprap.org/wiki/G-code#G21:_Set_Units_to_Millimeters" } ], "G22": [ { "brief": "", "codes": [ "G22" ], "id": "RepRap.G22[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G22: Firmware Retract", "url": "https://reprap.org/wiki/G-code#G22:_Firmware_Retract" } ], "G23": [ { "brief": "", "codes": [ "G23" ], "id": "RepRap.G23[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G23: Firmware Recover", "url": "https://reprap.org/wiki/G-code#G23:_Firmware_Recover" } ], "G26": [ { "brief": "Test the mesh and adjust.", "codes": [ "G26" ], "id": "Marlin.G26[0]", "parameters": [ { "description": "Bed temperature (otherwise 60\u00b0C) to use for the test print.", "label": "[B]", "optional": true, "tag": "B", "values": [ { "tag": "temp", "type": "int" } ] }, { "description": "Continue with the closest point (otherwise, don't)", "label": "[C]", "optional": true, "tag": "C", "values": [ { "type": "bool" } ] }, { "description": "Disable leveling compensation (otherwise, enable)", "label": "[D]", "optional": true, "tag": "D", "values": [ { "type": "flag" } ] }, { "description": "Filament diameter (otherwise 1.75mm)", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Hot end temperature (otherwise 205\u00b0C) to use for the test print.", "label": "[H]", "optional": true, "tag": "H", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Material preset to use for the test print. Overrides `S`.", "label": "[I]", "optional": true, "since": "2.0.6", "tag": "I", "values": [ { "tag": "index", "type": "int" } ] }, { "description": "Keep heaters on when done", "label": "[K]", "optional": true, "tag": "K", "values": [ { "type": "bool" } ] }, { "description": "Layer height to use for the test", "label": "[L]", "optional": true, "tag": "L", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Ooze amount (otherwise 0.3mm). Emitted at the start of the test.", "label": "[O]", "optional": true, "tag": "O", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Prime Length", "label": "[P]", "optional": true, "tag": "P", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Retraction multiplier. `G26` retract and recover are 1.0mm and 1.2mm respectively. Both retract and recover are multiplied by this value.", "label": "[Q]", "optional": true, "tag": "Q", "values": [ { "type": "float" } ] }, { "description": "Number of `G26` Repetitions (otherwise 999)", "label": "[R]", "optional": true, "tag": "R", "values": [ { "type": "int" } ] }, { "description": "Nozzle size (otherwise 0.4mm)", "label": "[S]", "optional": true, "tag": "S", "values": [ { "type": "float" } ] }, { "description": "Random deviation. (`U` with no value, 50).", "label": "[U]", "optional": true, "tag": "U", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "X position (otherwise, current X position)", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Y position (otherwise, current Y position)", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "linear", "type": "float" } ] } ], "related": [], "source": "Marlin", "title": "Mesh Validation Pattern", "url": "https://marlinfw.org/docs/gcode/G026" }, { "brief": "", "codes": [ "G26" ], "id": "RepRap.G26[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G26: Mesh Validation Pattern", "url": "https://reprap.org/wiki/G-code#G26:_Mesh_Validation_Pattern" } ], "G27": [ { "brief": "Park the current toolhead", "codes": [ "G27" ], "id": "Marlin.G27[0]", "parameters": [ { "description": "Z axis action", "label": "[P<0|1|2>]", "optional": true, "tag": "P", "values": [ { "description": "If current Z-pos is lower than Z-park then the nozzle will be raised to reach Z-park height", "tag": 0 }, { "description": "No matter the current Z-pos, the nozzle will be raised/lowered to reach Z-park height", "tag": 1 }, { "description": "The nozzle height will be raised by Z-park amount but never going over the machine's limit of `Z_MAX_POS`", "tag": 2 } ] } ], "related": [], "source": "Marlin", "title": "Park toolhead", "url": "https://marlinfw.org/docs/gcode/G027" }, { "brief": "Park the toolhead (i.e., nozzle) at a predefined XY position, with a Z raise value that applies over 0 or over the current position depending on the P parameter.\nIn Marlin this G-code is enabled by NOZZLE_PARK_FEATURE and the park position is defined by NOZZLE_PARK_POINT. See G27 Park Toolhead for details.", "codes": [ "G27" ], "id": "RepRap.G27[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G27: Park toolhead", "url": "https://reprap.org/wiki/G-code#G27:_Park_toolhead" } ], "G28": [ { "brief": "", "codes": [ "G28" ], "id": "Klipper.G28[0]", "parameters": [ { "description": "", "label": "[X]", "optional": true, "tag": "X", "values": [] }, { "description": "", "label": "[Y]", "optional": true, "tag": "Y", "values": [] }, { "description": "", "label": "[Z]", "optional": true, "tag": "Z", "values": [] } ], "related": [], "source": "Klipper", "title": "", "url": "https://www.klipper3d.org/G-Codes.html#g-code-commands" }, { "brief": "Auto home one or more axes.", "codes": [ "G28" ], "id": "Marlin.G28[0]", "parameters": [ { "description": "Flag to restore bed leveling state after homing. (default `true`)", "label": "[L]", "optional": true, "tag": "L", "type": "flag" }, { "description": "Flag to skip homing if the position is already trusted", "label": "[O]", "optional": true, "since": "1.1.9", "tag": "O", "type": "flag" }, { "description": "The distance to raise the nozzle before homing", "label": "[R]", "optional": true, "since": "1.1.9", "tag": "R", "type": "float" }, { "description": "Flag to home the X axis", "label": "[X]", "optional": true, "tag": "X", "type": "flag" }, { "description": "Flag to home the Y axis", "label": "[Y]", "optional": true, "tag": "Y", "type": "flag" }, { "description": "Flag to home the Z axis", "label": "[Z]", "optional": true, "tag": "Z", "type": "flag" } ], "related": [], "source": "Marlin", "title": "Auto Home", "url": "https://marlinfw.org/docs/gcode/G028" }, { "brief": "", "codes": [ "G28" ], "id": "RepRap.G28[0]", "parameters": [ { "description": " Flag to go back to the X axis origin", "label": "X", "optional": true, "tag": "X", "values": [] }, { "description": " Flag to go back to the Y axis origin", "label": "Y", "optional": true, "tag": "Y", "values": [] }, { "description": " Flag to go back to the Z axis origin", "label": "Z", "optional": true, "tag": "Z", "values": [] }, { "description": " Reserved by Prusa", "label": "P", "optional": true, "tag": "P", "values": [] }, { "description": " Reserved by Prusa", "label": "I", "optional": true, "tag": "I", "values": [] } ], "related": [], "source": "RepRap", "title": "G28: Move to Origin (Home)", "url": "https://reprap.org/wiki/G-code#G28:_Move_to_Origin_.28Home.29" } ], "G29": [ { "brief": "Probe the bed and enable leveling compensation", "codes": [ "G29" ], "id": "Marlin.G29[0]", "parameters": [], "related": [], "source": "Marlin", "title": "Bed Leveling", "url": "https://marlinfw.org/docs/gcode/G029" }, { "brief": "Probe the bed and enable leveling compensation.", "codes": [ "G29" ], "id": "Marlin.G29[1]", "parameters": [ { "description": "Abort leveling procedure in-progress (`PROBE_MANUALLY`)", "label": "[A]", "optional": true, "tag": "A", "values": [ { "type": "bool" } ] }, { "description": "Create a fake grid for testing. (`DEBUG_LEVELING_FEATURE`)", "label": "[C]", "optional": true, "tag": "C", "values": [ { "type": "bool" } ] }, { "description": "Optional. If leveling is already enabled then exit without leveling. (1.1.9)", "label": "[O]", "optional": true, "tag": "O", "type": "bool" }, { "description": "Query the current leveling state (`PROBE_MANUALLY`, `DEBUG_LEVELING_FEATURE`)", "label": "[Q]", "optional": true, "tag": "Q", "values": [ { "type": "bool" } ] }, { "description": "Set the number of columns (in X) that will be probed.", "label": "[X]", "optional": true, "tag": "X", "values": [ { "type": "int" } ] }, { "description": "Set the number of rows (in Y) that will be probed.", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "type": "int" } ] }, { "description": "Set the size of the square grid that will be probed - P x P points", "label": "[P]", "optional": true, "tag": "P", "values": [ { "type": "int" } ] }, { "description": "Set the XY travel speed between probe points.", "label": "[S]", "optional": true, "tag": "S", "values": [ { "tag": "rate", "type": "float" } ] }, { "description": "- By default G29 will engage the Z probe, test the bed, then disengage.\n- Include \"E\" to engage/disengage the Z probe for each sample.\n- There's no extra effect if you have a fixed Z probe. (without `PROBE_MANUALLY`)\n", "label": "[E]", "optional": true, "tag": "E", "values": [ { "type": "bool" } ] }, { "description": "Dry-Run mode. Just probe the grid but don't update the bed leveling data", "label": "[D]", "optional": true, "tag": "D", "values": [ { "type": "bool" } ] }, { "description": "Generate a Bed Topology Report", "label": "[T]", "optional": true, "tag": "T", "values": [ { "type": "bool" } ] }, { "description": "Set the square width and height of the area to probe.", "label": "[H]", "optional": true, "tag": "H", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Set the front limit of the probing grid.", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Set the back limit of the probing grid.", "label": "[B]", "optional": true, "tag": "B", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Set the left limit of the probing grid.", "label": "[L]", "optional": true, "tag": "L", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Set the right limit of the probing grid.", "label": "[R]", "optional": true, "tag": "R", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Jettison the leveling data stored in SRAM and turn off leveling compensation. Data in EEPROM is not affected.", "label": "[J]", "optional": true, "tag": "J", "values": [ { "type": "bool" } ] }, { "description": "Set the verbose level. Level 2 and up act like 'T'.", "label": "[V<0-4>]", "optional": true, "tag": "V", "values": [ { "tag": "0-4", "type": "int" } ] } ], "related": [ "M420" ], "source": "Marlin", "title": "Bed Leveling (Linear)", "url": "https://marlinfw.org/docs/gcode/G029-abl-linear" }, { "brief": "Probe the bed and enable leveling compensation.", "codes": [ "G29" ], "id": "Marlin.G29[2]", "parameters": [ { "description": "Abort leveling procedure in-progress (`PROBE_MANUALLY`)", "label": "[A]", "optional": true, "tag": "A", "values": [ { "type": "bool" } ] }, { "description": "Create fake points for testing. (`DEBUG_LEVELING_FEATURE`)", "label": "[C]", "optional": true, "tag": "C", "values": [ { "type": "bool" } ] }, { "description": "Optional. If leveling is already enabled then exit without leveling. (1.1.9)", "label": "[O]", "optional": true, "tag": "O", "type": "bool" }, { "description": "Query the current leveling state (`PROBE_MANUALLY`, `DEBUG_LEVELING_FEATURE`)", "label": "[Q]", "optional": true, "tag": "Q", "values": [ { "type": "bool" } ] }, { "description": "- By default G29 will engage the Z probe, test the bed, then disengage.\n- Include \"E\" to engage/disengage the Z probe for each sample.\n- There's no extra effect if you have a fixed Z probe. (without `PROBE_MANUALLY`)\n", "label": "[E]", "optional": true, "tag": "E", "values": [ { "type": "bool" } ] }, { "description": "Dry-Run mode. Just probe the grid but don't update the bed leveling data", "label": "[D]", "optional": true, "tag": "D", "values": [ { "type": "bool" } ] }, { "description": "Jettison the leveling data stored in SRAM and turn off leveling compensation. Data in EEPROM is not affected.", "label": "[J]", "optional": true, "tag": "J", "values": [ { "type": "bool" } ] }, { "description": "Set the verbose level", "label": "[V<0-4>]", "optional": true, "tag": "V", "values": [ { "tag": "0-4", "type": "int" } ] } ], "related": [ "M420" ], "source": "Marlin", "title": "Bed Leveling (3-Point)", "url": "https://marlinfw.org/docs/gcode/G029-abl-3point" }, { "brief": "Probe the bed and enable leveling compensation.", "codes": [ "G29" ], "id": "Marlin.G29[3]", "parameters": [ { "description": "Abort leveling procedure in-progress (`PROBE_MANUALLY`)", "label": "[A]", "optional": true, "tag": "A", "values": [ { "type": "bool" } ] }, { "description": "Create a fake grid for testing. (`DEBUG_LEVELING_FEATURE`)", "label": "[C]", "optional": true, "tag": "C", "values": [ { "type": "bool" } ] }, { "description": "Optional. If leveling is already enabled then exit without leveling. (1.1.9)", "label": "[O]", "optional": true, "tag": "O", "type": "bool" }, { "description": "Query the current leveling state (`PROBE_MANUALLY`, `DEBUG_LEVELING_FEATURE`)", "label": "[Q]", "optional": true, "tag": "Q", "values": [ { "type": "bool" } ] }, { "description": "Specify X when setting a mesh value (`PROBE_MANUALLY`).", "label": "[X]", "optional": true, "tag": "X", "values": [ { "type": "int/float" } ] }, { "description": "Specify Y when setting a mesh value.", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "type": "int/float" } ] }, { "description": "Specify the Z offset when setting a mesh value.", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "type": "float" } ] }, { "description": "Write a mesh Z offset.\n- Use `X`,`Y` or `I`,`J` to specify the point.\n- Use `Z` to specify the new value to set.\n", "label": "[W]", "optional": true, "tag": "W", "values": [ { "type": "bool" } ] }, { "description": "Set the XY travel speed between probe points.", "label": "[S]", "optional": true, "tag": "S", "values": [ { "tag": "rate", "type": "float" } ] }, { "description": "- By default G29 will engage the Z probe, test the bed, then disengage.\n- Include \"E\" to engage/disengage the Z probe for each sample.\n- There's no extra effect if you have a fixed Z probe.\n", "label": "[E]", "optional": true, "tag": "E", "values": [ { "type": "bool" } ] }, { "description": "Dry-Run mode. Just probe the grid but don't update the bed leveling data", "label": "[D]", "optional": true, "tag": "D", "values": [ { "type": "bool" } ] }, { "description": "Set the square width and height of the area to probe.", "label": "[H]", "optional": true, "tag": "H", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Set the front limit of the probing grid.", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Set the back limit of the probing grid.", "label": "[B]", "optional": true, "tag": "B", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Set the left limit of the probing grid.", "label": "[L]", "optional": true, "tag": "L", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "Set the right limit of the probing grid.", "label": "[R]", "optional": true, "tag": "R", "values": [ { "tag": "linear", "type": "float" } ] }, { "description": "(Without `W`) Jettison the leveling data stored in SRAM and turn off leveling compensation. Data in EEPROM is not affected.", "label": "[J]", "optional": true, "tag": "J", "values": [ { "type": "bool" } ] }, { "description": "Set the verbose level", "label": "[V<0-4>]", "optional": true, "tag": "V", "values": [ { "tag": "0-4", "type": "int" } ] } ], "related": [ "M420", "M421" ], "source": "Marlin", "title": "Bed Leveling (Bilinear)", "url": "https://marlinfw.org/docs/gcode/G029-abl-bilinear" }, { "brief": "Probe the bed and enable leveling compensation.", "codes": [ "G29" ], "id": "Marlin.G29[4]", "parameters": [ { "description": "**Activate** Unified Bed Leveling (i.e., `M420 S1`)", "label": "[A]", "optional": true, "tag": "A", "values": [ { "type": "flag" } ] }, { "description": "**Business Card** mode (`P2` only)\n- Use the 'Business Card' mode of the Manual Probe subsystem with `P2`. A value may be given, or else it will be measured.\n- In this mode of `G29 P2`, use a shim that the nozzle can grab onto as it is lowered.\n In principle, the nozzle-bed distance is the same when the same resistance is felt in the shim. You can omit the numerical value on first invocation of `G29 P2 B` to measure shim thickness. Subsequent use of `B` will apply the previously-measured thickness by default.\n- Note: A non-compressible Spark Gap feeler gauge is recommended over a business card.\n", "label": "[B]", "optional": true, "tag": "B", "values": [ { "tag": "mm/flag", "type": "float" } ] }, { "description": "- `G29 P1 C` Continue:\n Continues the generation of a partially-constructed Mesh without invalidating previous measurements.\n- `G29 P2 C` Constant: specifies a Constant and tells the Manual Probe subsystem to use the current location in its search for the closest unmeasured Mesh Point.\n- `G29 P3 C` Constant: specifies the Constant for the fill. Otherwise, uses a \"reasonable\" value.\n- `G29 Z C` Current: Use the Current location (instead of bed center or nearest edge).\n", "label": "[C]", "optional": true, "tag": "C", "values": [ { "tag": "bool/float", "type": "value" } ] }, { "description": "Disable Unified Bed Leveling (i.e., `M420 S0`).", "label": "[D]", "optional": true, "tag": "D", "values": [ { "type": "flag" } ] }, { "description": "Stow probe after probing `E`ach point (`P1` only).", "label": "[E]", "optional": true, "tag": "E", "values": [ { "type": "flag" } ] }, { "description": "**Fade** height. (UBL only! For others use `M420 Z`)\n\nFade the amount of Mesh Based Compensation over a specified height. At the specified height, no correction is applied and natural printer kinematics take over. If no number is specified for the command, 10mm is assumed to be reasonable.\n", "label": "[F]", "optional": true, "tag": "F", "values": [ { "type": "float", "unit": "linear" } ] }, { "description": "**Height**:\n- `G29 P2 H`: Height for Manual Probe raise (`P2` only).\n Specify the Height to raise the nozzle after each manual probe of the bed.\n If omitted, the nozzle will raise by `Z_CLEARANCE_BETWEEN_PROBES`.\n- `G29 P4 H` : Offset above the mesh height to place the nozzle.\n If omitted, `Z_CLEARANCE_BETWEEN_PROBES` will be used.\n", "label": "[H]", "optional": true, "tag": "H", "values": [ { "type": "float", "unit": "linear" } ] }, { "description": "**Invalidate** a number of mesh points (default 1).\n- Invalidate Mesh Points near the given `X Y` (Default: nozzle position)\n- If no `I` value is given, only the point nearest to the given position is invalidated.\n Use `T` to produce a map afterward. This command is useful to invalidate a portion of the Mesh so it can be adjusted using other UBL tools. When attempting to invalidate an isolated bad mesh point, the `T` option shows the nozzle position in the Mesh with (#).\n- You can move the nozzle around and use this feature to select the center of the area (or cell) to invalidate.\n", "label": "[I]", "optional": true, "tag": "I", "values": [ { "type": "int" } ] }, { "description": "**Grid** (or 3-Point) leveling:\n- These options calculate a plane and adjust the existing mesh to the bed tilt.\n- If a value is provided, probe a grid with the given number of points, squared.\n- With no value, probe 3 points to find the plane of the bed.\n", "label": "[J]", "optional": true, "tag": "J", "values": [ { "type": "int" } ] }, { "description": "**Kompare**: Subtract (diff) the stored mesh with this index from the current mesh. This destructively operates on the active mesh, and the result should not be used for printing. (Requires `UBL_DEVEL_DEBUGGING`)", "label": "[K]", "optional": true, "requires": "UBL_DEVEL_DEBUGGING", "tag": "K", "values": [ { "type": "int", "unit": "index" } ] }, { "description": "**Load** a mesh. If no index is given, load the previously-activated mesh.\nThe given mesh index will be used for subsequent Load and Store operations.\n", "label": "[L]", "optional": true, "tag": "L", "values": [ { "type": "int", "unit": "index" } ] }, { "description": "**Phase**: The `P`hase commands are used for the bulk of the work to setup a Mesh. In general, you'll start by initializing with a `G29 P0` or a `G29 P1` then do further refinement with additional Phases.", "label": "[P<0|1|2|3|4|5|6>]", "optional": true, "tag": "P", "values": [ { "description": "**Zero Mesh Data** and turn off the Mesh Compensation System. This reverts the machine to the same state it was in before UBL Compensation was enabled. Setting the entire Mesh to Zero is a special case to allow a subsequent `G` or `T` leveling operation for backward-compatibility.", "tag": 0 }, { "description": "**Automatic Probing** invalidates the mesh and continues automatic probing using the probe.\n- In most cases the probe can't reach all areas that the nozzle can due to the offsets specified by `X_PROBE_OFFSET_FROM_EXTRUDER` and `Y_PROBE_OFFSET_FROM_EXTRUDER`.\n Deltabots can only probe within the area where `DELTA_PROBEABLE_RADIUS` and `DELTA_PRINTABLE_RADIUS` overlap.\n- Unreachable points can be filled in later with the `P2` and `P3` phases.\n- Use `C` to leave the previous mesh intact and automatically probe needed points. This allows you to invalidate parts of the mesh but still use Automatic Probing.\n- The `X` and `Y` parameters prioritize where to try and measure points. If omitted, the current probe position is used.\n- Use `T` (Topology) in this phase to report the probing results.\n- `P1` will suspend mesh generation if the controller button is held down. Note that you may need to press and hold the switch for several seconds if moves are underway.\n", "tag": 1 }, { "description": "**Probe Areas** of the mesh that can't be automatically handled.\n- Use `H` to set the height between mesh points. If omitted, Z_CLEARANCE_BETWEEN_PROBES is used. Smaller values will be quicker. Move the nozzle down till it barely touches the bed. Make sure the nozzle is clean and unobstructed. Use caution and move slowly. This can damage your printer! (Uses SIZE_OF_LITTLE_RAISE mm if the nozzle is moving less than BIG_RAISE_NOT_NEEDED mm.)\n- The `H` value can be negative if the mesh dips in a large area. Press and hold the controller button to terminate the current Phase 2 command. You can then re-issue `G29 P 2` with an `H` parameter more suitable for the area you're manually probing. Note that the command tries to start in a corner of the bed where movement will be predictable. Override the distance calculation location with the `X` and `Y` parameters. You can print a mesh Map (`G29 T`) to see where the mesh is invalidated and where the nozzle needs to move to complete the command. Use `C` to indicate that the search should be based on the current position.\n- The `B` parameter for this command is described above. It places the manual probe subsystem into Business Card mode where the thickness of a business card is measured and then used to accurately set the nozzle height in all manual probing for the duration of the command. A Business card can be used, but you'll get better results with a flexible Shim that doesn't compress. This makes it easier to produce similar amounts of force and get more accurate measurements. Google if you're not sure how to use a shim.\n- The `T` (Map) parameter helps track mesh building progress.\n- NOTE: `P2` requires an LCD controller!\n", "tag": 2 }, { "description": "**Fill Unpopulated** regions of the mesh with a fixed value (`C`) or use 'smart fill' to extrapolate from already probed points (`no argument`).\n- With a `C` constant, the closest invalid mesh points to the nozzle will be filled, and then a repeat count can also be specified with `R`.\n- Without `C` it does a **Smart Fill**, which scans the mesh from the edges inward looking for invalid mesh points. Adjacent points are used to determine the bed slope. If the bed is sloped upward from the invalid point, it takes the value of the nearest point. If sloped downward, it's replaced by a value that puts all three points in a line. This version of `G29 P3` is a quick, easy and (usually) safe way to populate unprobed mesh regions before continuing to [`G26`](/docs/gcode/G026.html) Mesh Validation Pattern. Note that this populates the mesh with unverified values. Pay attention and use caution.\n", "tag": 3 }, { "description": "**Fine Tune** the Mesh. Generally used in the form `G29 P4 Rnn Xxxx Yyyy`.\n- This phase requires an LCD Panel. To fine-tune the mesh without a controller, use [`G42`](/docs/gcode/G042.html) and [`M421`](/docs/gcode/M421.html).\n- Phase 4 is meant to be used with [`G26`](/docs/gcode/G026.html) Mesh Validation to fine tune the mesh by direct editing of Mesh Points. Raise and lower points to fine tune the mesh until it gives consistently reliable adhesion.\n- `P4` moves to the closest Mesh Point (and/or the given `X` `Y`), raises the nozzle above the mesh height by the given `H` offset (or default Z_CLEARANCE_BETWEEN_PROBES), and waits while the controller is used to adjust the nozzle height. On click the displayed height is saved in the mesh.\n- Start Phase 4 at a specific location with `X` and `Y`. Adjust a specific number of Mesh Points with the `R` (Repeat) parameter. (If `R` is left out, the whole matrix is assumed.) This command can be terminated early (_e.g.,_ after editing the area of interest) by pressing and holding the encoder button.\n- The general form is `G29 P4 [R points] [X position] [Y position]`.\n- The `H[offset]` parameter is useful if a shim is used to fine-tune the mesh. For a 0.4mm shim the command would be `G29 P4 H0.4`. The nozzle is moved to the shim height, you adjust height to the shim, and on click the height minus the shim thickness is saved in the mesh.\n- _USE WITH CAUTION, as a bad mesh can cause the nozzle to crash into the bed!_\n", "tag": 4 }, { "description": "**Find Mean** Mesh Height and Standard Deviation.\n- Typically, it is easier to use and work with the Mesh if it is Mean-Adjusted. You can specify a `C` parameter to Correct the Mesh to a 0.00 Mean Height. With a `C` parameter this will automatically execute a `G29 P6 C[mean height]`.\n", "tag": 5 }, { "description": "**Shift Mesh** height by the `C` value.\n- The entire Mesh's height is adjusted by the height specified by the `C` parameter. It's useful to be able to adjust the height of a mesh. It can be used to compensate for a poorly-calibrated probe or other errors. Ideally, you should have the Mesh adjusted for a Mean Height of 0.00 and the Z-Probe measuring 0.0 at the Z homing position.\n", "tag": 6 } ] }, { "description": "Test Pattern. Load the specified Test Pattern to check for correct operation. This command is intended for developers and is not required for everyday bed leveling.", "label": "[Q]", "optional": true, "tag": "Q", "values": [ { "type": "int", "unit": "index" } ] }, { "description": "Repeat count. (Default `GRID_MAX_POINTS_X * GRID_MAX_POINTS_Y`).\n- `P3` Example: `G29 P3 R4 C0` will set the 4 points closest to the nozzle to `0`.\n- `P4` Example: `G29 P4 R3 X80 Y80` will allow you to adjust the 3 points closest to X80 Y80.\n- This parameter does not apply to Phase 1! `P1` will always attempt to probe the full grid.\n", "label": "[R]", "optional": true, "tag": "R", "values": [ { "type": "int" } ] }, { "description": "**Save** the mesh to EEPROM in the given slot.\n- If no slot number is given, save to the last-activated slot.\n- Use `S-1` for G-code output that can be used to restore the mesh anytime.\n- Note that this command also saves the current UBL state (enabled or disabled).\n", "label": "[S]", "optional": true, "tag": "S", "values": [ { "tag": "slot", "type": "int" } ] }, { "description": "**Topology**: Include a Topology Map in the output.\n- This parameter can be used alone (`G29 T`) or in combination with most of the other commands.\n- This option works with all Phase commands (_e.g.,_ `G29 P4 R 5 T X 50 Y100 C-0.1 O`)\n- A map type can also be specified:\n - `T0`: Human-readable (the default)\n - `T1`: Delimited. Suitable to paste into a spreadsheet to obtain a 3D graph of the mesh.\n", "label": "[T<0|1>]", "optional": true, "tag": "T", "values": [ { "tag": 0 }, { "tag": 1 } ] }, { "description": "**Unlevel**: Probe the outer perimeter to assist bed tramming. (Use with `G29 P1 O`)\n- Only used with `G29 P1 T U`. This speeds up the probing of the edge of the bed. This option is useful when the entire bed doesn't need to be probed because it will be physically adjusted (tramming).\n", "label": "[U]", "optional": true, "tag": "U", "values": [ { "type": "flag" } ] }, { "description": "Verbosity Level (0-4)", "label": "[V<0|1|2|3|4>]", "optional": true, "tag": "V", "values": [ { "tag": 0 }, { "tag": 1 }, { "tag": 2 }, { "tag": 3 }, { "tag": 4 } ] }, { "description": "**_What?_**: Display valuable UBL data. (Requires `UBL_DEVEL_DEBUGGING`)", "label": "[W]", "optional": true, "requires": "UBL_DEVEL_DEBUGGING", "tag": "W", "values": [ { "type": "flag" } ] }, { "description": "**X position** for all phases and commands (Default: current X)", "label": "[X]", "optional": true, "tag": "X", "values": [ { "type": "float", "unit": "linear" } ] }, { "description": "**Y position** for all phases and commands (Default: current Y)", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "type": "float", "unit": "linear" } ] } ], "related": [ "M420", "M421" ], "source": "Marlin", "title": "Bed Leveling (Unified)", "url": "https://marlinfw.org/docs/gcode/G029-ubl" }, { "brief": "Measure Z heights in a grid, enable leveling compensation", "codes": [ "G29" ], "id": "Marlin.G29[5]", "parameters": [ { "description": "", "label": "S<0|1|2|3|4|5>", "optional": false, "tag": "S", "values": [ { "description": "Produce a mesh report (see examples below).", "tag": 0 }, { "description": "Start probing mesh points.", "tag": 1 }, { "description": "Probe the next mesh point.", "tag": 2 }, { "description": "Manually modify a single point with `X` `Y` `Z` parameters. (See also [`M421`](/docs/gcode/M421.html).)", "tag": 3 }, { "description": "Set a global Z offset. Positive values are away from the bed; negative values are closer.", "tag": 4 }, { "description": "Reset and disable mesh.", "tag": 5 } ] }, { "description": "**(Marlin 2.x)** With `S3`, the (0...n-1) X index of the mesh value to modify.", "label": "[I]", "optional": true, "tag": "I", "values": [ { "tag": "index", "type": "int" } ] }, { "description": "**(Marlin 2.x)** With `S3`, the (0...n-1) Y index of the mesh value to modify.", "label": "[J]", "optional": true, "tag": "J", "values": [ { "tag": "index", "type": "int" } ] }, { "description": "**(Marlin 1.x)** With `S3`, the (1...n) X count of the mesh value to modify.", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "count", "type": "int" } ] }, { "description": "**(Marlin 1.x)** With `S3`, the (1...n) Y count of the mesh value to modify.", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "count", "type": "int" } ] }, { "description": "With `S3`, the new mesh Z value.", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "linear", "type": "float" } ] } ], "related": [ "M420", "M421" ], "source": "Marlin", "title": "Bed Leveling (Manual)", "url": "https://marlinfw.org/docs/gcode/G029-mbl" }, { "brief": "This command uses a probe to measure the bed height at 3 or more points to determine its tilt and overall flatness. It then enables compensation so that the nozzle will remain parallel to the bed. The printer must be homed with G28 before using this command.\nEach firmware behaves differently and depends on the type of bed leveling that's been configured. For example, Marlin 1.0.2 provides 3 different types of automatic bed leveling (probe required) and a manual bed leveling option. See your firmware's documentation for the specific options available.", "codes": [ "G29" ], "id": "RepRap.G29[0]", "parameters": [ { "description": " Firmware-dependent behavior", "label": "Snnn", "optional": true, "tag": "S", "values": [] }, { "description": " Optional file name for bed height map file (RepRapFirmware only)", "label": "Pfile.csv", "optional": true, "tag": "P", "values": [] } ], "related": [], "source": "RepRap", "title": "G29: Detailed Z-Probe", "url": "https://reprap.org/wiki/G-code#G29:_Detailed_Z-Probe" }, { "brief": "Marlin 1.0.2 and earlier provides three options for automatic bed leveling:\n* The 3-point method probes the bed at three points to produce a matrix, adjusting for a flat but tilted bed.\n* The planar grid method (non-Delta) probes a grid pattern to produce a matrix by the \"least-squares\" method, adjusting for a flat but tilted bed.\n* The bilinear grid method (Delta only) probes a grid pattern to produce a mesh, using bilinear interpolation to adjust for an uneven bed.\nMarlin 1.1.0 and later allows the bilinear grid (i.e., \"mesh\") method to be used on all types of machines, not just deltas. This is the recommended leveling method going forward.\nAlso in Marlin 1.1.0 and later, the PROBE_MANUALLY option allows all forms of Auto Bed Leveling to be used without a probe. The procedure is similar to that of MESH_BED_LEVELING (see below). Begin the process with G29 to move the nozzle to the first point. Adjust the Z axis using G1 or your host software. Send G29 again to move to the next point and repeat until all points have been sampled.", "codes": [ "G29" ], "id": "RepRap.G29[1]", "parameters": [ { "description": " Set the size of the grid that will be probed (P x P points). Not supported by non-linear delta printer bed leveling. Example: G29 P4", "label": "P", "optional": true, "tag": "P", "values": [] }, { "description": " Set the XY travel speed between probe points (in units/min)", "label": "S", "optional": true, "tag": "S", "values": [] }, { "description": " Dry-Run mode. Just evaluate the bed Topology - Don't apply or clean the rotation Matrix. Useful to check the topology after a first run of G29.", "label": "D", "optional": true, "tag": "D", "values": [] }, { "description": " Set the verbose level (0-4). Example: G29 V3", "label": "V", "optional": true, "tag": "V", "values": [] }, { "description": " Generate a Bed Topology Report. Example: G29 P5 T for a detailed report. This is useful for manual bed leveling and finding flaws in the bed (to assist with part placement). Not supported by non-linear delta printer bed leveling.", "label": "T", "optional": true, "tag": "T", "values": [] }, { "description": " Set the Front limit of the probing grid", "label": "F", "optional": true, "tag": "F", "values": [] }, { "description": " Set the Back limit of the probing grid", "label": "B", "optional": true, "tag": "B", "values": [] }, { "description": " Set the Left limit of the probing grid", "label": "L", "optional": true, "tag": "L", "values": [] }, { "description": " Set the Right limit of the probing grid", "label": "R", "optional": true, "tag": "R", "values": [] } ], "related": [], "source": "RepRap", "title": "G29 Auto Bed Leveling (Marlin - MK4duo)", "url": "https://reprap.org/wiki/G-code#G29_Auto_Bed_Leveling_.28Marlin_-_MK4duo.29" }, { "brief": "Marlin firmware (version 1.1.0 and later) includes the AUTO_BED_LEVELING_UBL option for Unified Bed Leveling. UBL combines mesh leveling, tilted plane adjustment, 3-point leveling, and manual editing tools all together in a single package. To accomplish so much, UBL overloads `G29` with several new parameters and provides an additional G26 Mesh Tuning feature.\nSee the MarlinFW website for a dedicated Unified Bed Leveling page and complete documentation on `G29` for UBL and `G26` Mesh Validation.", "codes": [ "G29" ], "id": "RepRap.G29[2]", "parameters": [], "related": [], "source": "RepRap", "title": "G29 Unified Bed Leveling (Marlin - MK4duo)", "url": "https://reprap.org/wiki/G-code#G29_Unified_Bed_Leveling_.28Marlin_-_MK4duo.29" }, { "brief": "Marlin firmware (version 1.0.2 and later) also provides a MESH_BED_LEVELING feature that can be used to perform bed leveling on machines lacking a probe. This form of bed leveling compensates for uneven Z height across the surface of the bed using a mesh and bilinear interpolation.", "codes": [ "G29" ], "id": "RepRap.G29[3]", "parameters": [], "related": [], "source": "RepRap", "title": "G29 Manual Bed Leveling (Marlin - MK4duo)", "url": "https://reprap.org/wiki/G-code#G29_Manual_Bed_Leveling_.28Marlin_-_MK4duo.29" }, { "brief": "Repetier firmware since v0.91 supports G29 with the optional Snnn parameter as described below. Useful to simply detect the Z bed angle so you can manually readjust your bed and get it as close to in plane as possible. If you wish to apply automatic software Z plane compensation on Repetier, use G32 instead with firmware 0.92.8 and above.\n:S0 Default value. Z bed heights are calculated at the measured points, relative to current Z position before issuing G29.\n:S1 Same as S0, except printer immediately moves to Z maximum position (Z max endstop required!), and calculates new Z maximum height. You must first issue G28 Z to home to Z maximum position before issuing G29 Snnn for this to work correctly, or the printer height will be invalid.\n:S2 Same as S1, except new calculated Z height is also stored to EEPROM.", "codes": [ "G29" ], "id": "RepRap.G29[4]", "parameters": [], "related": [], "source": "RepRap", "title": "G29 Auto Bed Leveling (Repetier-Firmware)", "url": "https://reprap.org/wiki/G-code#G29_Auto_Bed_Leveling_.28Repetier-Firmware.29" }, { "brief": "RepRapFirmware:\n:S0 (default if no S parameter) Probe the bed, save the height map in a file on the SD card, and activate the height map. The default folder for the height map file is /sys and the default file name is heightmap.csv.\n:S1 Load the height map from file and activate bed compensation. The default folder and filename as for S0.\n:S2 Clear the currently-loaded bed height map\nTo define the grid, see M557.\nIn RepRapFirmware 3.2 and later, G29 runs macro file mesh.g if it exists, otherwise it behaves like G29 S0. The mesh.g file can perform other actions (e.g. homing or tool selection) and then use G29 S0 to do the probing.", "codes": [ "G29" ], "id": "RepRap.G29[5]", "parameters": [], "related": [], "source": "RepRap", "title": "G29 Mesh Bed Compensation (RepRapFirmware)", "url": "https://reprap.org/wiki/G-code#G29_Mesh_Bed_Compensation_.28RepRapFirmware.29" } ], "G29.1": [ { "brief": "", "codes": [ "G29.1" ], "id": "RepRap.G29.1[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G29.1: Set Z probe head offset", "url": "https://reprap.org/wiki/G-code#G29.1:_Set_Z_probe_head_offset" } ], "G29.2": [ { "brief": "", "codes": [ "G29.2" ], "id": "RepRap.G29.2[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G29.2: Set Z probe head offset calculated from toolhead position", "url": "https://reprap.org/wiki/G-code#G29.2:_Set_Z_probe_head_offset_calculated_from_toolhead_position" } ], "G3": [ { "brief": "Add an arc or circle movement to the planner", "codes": [ "G2", "G3" ], "id": "Marlin.G3[0]", "parameters": [ { "description": "An offset from the current X position to use as the arc center", "label": "I", "optional": false, "tag": "I", "type": "float", "values": [ { "tag": "offset", "type": "float" } ] }, { "description": "An offset from the current Y position to use as the arc center", "label": "J", "optional": false, "tag": "J", "type": "float", "values": [ { "tag": "offset", "type": "float" } ] }, { "description": "A radius from the current XY position to use as the arc center", "label": "R", "optional": false, "tag": "R", "type": "float", "values": [ { "tag": "radius", "type": "float" } ] }, { "description": "A coordinate on the X axis", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "A coordinate on the Y axis", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "A coordinate on the Z axis", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "The amount to extrude between the start point and end point", "label": "[E]", "optional": true, "tag": "E", "type": "float", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "The maximum rate of the move between the start and end point", "label": "[F]", "optional": true, "tag": "F", "values": [ { "optional": false, "tag": "rate", "type": "float" } ] }, { "description": "Specify complete circles. (Requires `ARC_P_CIRCLES`)", "label": "[P]", "optional": true, "tag": "P", "values": [ { "tag": "count", "type": "int" } ] }, { "description": "Set the Laser power for the move.", "label": "[S]", "optional": true, "since": "2.0.8", "tag": "S", "values": [ { "tag": "power", "type": "float" } ] } ], "related": [ "G17", "G18", "G19" ], "source": "Marlin", "title": "Arc or Circle Move", "url": "https://marlinfw.org/docs/gcode/G002-G003" }, { "brief": "", "codes": [ "G2", "G3" ], "id": "RepRap.G3[0]", "parameters": [ { "description": " The position to move to on the X axis", "label": "Xnnn", "optional": true, "tag": "X", "values": [] }, { "description": " The position to move to on the Y axis", "label": "Ynnn", "optional": true, "tag": "Y", "values": [] }, { "description": " The point in X space from the current X position to maintain a constant distance from", "label": "Innn", "optional": true, "tag": "I", "values": [] }, { "description": " The point in Y space from the current Y position to maintain a constant distance from", "label": "Jnnn", "optional": true, "tag": "J", "values": [] }, { "description": " The amount to extrude between the starting point and ending point", "label": "Ennn", "optional": true, "tag": "E", "values": [] }, { "description": " The feedrate per minute of the move between the starting point and ending point (if supplied)", "label": "Fnnn", "optional": true, "tag": "F", "values": [] } ], "related": [], "source": "RepRap", "title": "G2 & G3: Controlled Arc Move", "url": "https://reprap.org/wiki/G-code#G2_.26_G3:_Controlled_Arc_Move" } ], "G30": [ { "brief": "Probe bed at current XY location", "codes": [ "G30" ], "id": "Marlin.G30[0]", "parameters": [ { "description": "Probe with temperature compensation enabled (`PTC_PROBE`, `PTC_BED`, `PTC_HOTEND`)", "label": "[C]", "optional": true, "tag": "C", "values": [ { "default": 1, "type": "bool" } ] }, { "description": "X probe position", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Y probe position", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Engage the probe for each point", "label": "[E]", "optional": true, "tag": "E", "values": [ { "default": 0, "type": "bool" } ] } ], "related": [], "source": "Marlin", "title": "Single Z-Probe", "url": "https://marlinfw.org/docs/gcode/G030" }, { "brief": "", "codes": [ "G30" ], "id": "RepRap.G30[0]", "parameters": [ { "description": " Probe point number", "label": "Pnnn", "optional": true, "tag": "P", "values": [] }, { "description": " X coordinate", "label": "Xnnn", "optional": true, "tag": "X", "values": [] }, { "description": " Y coordinate", "label": "Ynnn", "optional": true, "tag": "Y", "values": [] }, { "description": " Z coordinate", "label": "Znnn", "optional": true, "tag": "Z", "values": [] }, { "description": " Height correction", "label": "Hnnn", "optional": true, "tag": "H", "values": [] }, { "description": " Set parameter", "label": "Snnn", "optional": true, "tag": "S", "values": [] } ], "related": [], "source": "RepRap", "title": "G30: Single Z-Probe", "url": "https://reprap.org/wiki/G-code#G30:_Single_Z-Probe" } ], "G31": [ { "brief": "Dock the Z probe sled.", "codes": [ "G31" ], "id": "Marlin.G31[0]", "parameters": [], "related": "G32", "source": "Marlin", "title": "Dock Sled", "url": "https://marlinfw.org/docs/gcode/G031" }, { "brief": "", "codes": [ "G31" ], "id": "RepRap.G31[0]", "parameters": [ { "description": " Trigger value", "label": "Pnnn", "optional": true, "tag": "P", "values": [] }, { "description": " Probe X offset", "label": "Xnnn", "optional": true, "tag": "X", "values": [] }, { "description": " Probe Y offset", "label": "Ynnn", "optional": true, "tag": "Y", "values": [] }, { "description": " Trigger Z height", "label": "Znnn", "optional": true, "tag": "Z", "values": [] }, { "description": " Temperature coefficient(s) of trigger height", "label": "Cnnn", "optional": true, "tag": "C", "values": [] }, { "description": " Calibration temperature", "label": "Snnn", "optional": true, "tag": "S", "values": [] }, { "description": " (RepRapFirmware 1.17 and later) Z probe type to which these parameters apply, defaults to the current Z probe type as defined by M558 P parameter", "label": "Tnnn", "optional": true, "tag": "T", "values": [] } ], "related": [], "source": "RepRap", "title": "G31: Set or Report Current Probe status", "url": "https://reprap.org/wiki/G-code#G31:_Set_or_Report_Current_Probe_status" }, { "brief": "", "codes": [ "G31" ], "id": "RepRap.G31[1]", "parameters": [], "related": [], "source": "RepRap", "title": "G31: Dock Z Probe sled", "url": "https://reprap.org/wiki/G-code#G31:_Dock_Z_Probe_sled" } ], "G32": [ { "brief": "Undock the Z probe sled.", "codes": [ "G32" ], "id": "Marlin.G32[0]", "parameters": [], "related": "G31", "source": "Marlin", "title": "Undock Sled", "url": "https://marlinfw.org/docs/gcode/G032" }, { "brief": "", "codes": [ "G32" ], "id": "RepRap.G32[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G32: Probe Z and calculate Z plane", "url": "https://reprap.org/wiki/G-code#G32:_Probe_Z_and_calculate_Z_plane" }, { "brief": "", "codes": [ "G32" ], "id": "RepRap.G32[1]", "parameters": [], "related": [], "source": "RepRap", "title": "G32: Undock Z Probe sled", "url": "https://reprap.org/wiki/G-code#G32:_Undock_Z_Probe_sled" } ], "G33": [ { "brief": "Calibrate various Delta parameters", "codes": [ "G33" ], "id": "Marlin.G33[0]", "parameters": [ { "description": "If omitted iterations stop at best achievable precision. If set iterations will stop at the set precision.", "label": "[C]", "optional": true, "tag": "C", "values": [ { "type": "float" } ] }, { "description": "Engage the probe for each point.", "label": "[E]", "optional": true, "tag": "E", "values": [ { "type": "bool" } ] }, { "description": "Run (\"force\") this number of iterations and take the best result.", "label": "[F<1-30>]", "optional": true, "tag": "F", "values": [ { "tag": "1-30", "type": "int" } ] }, { "description": "Number of probe points. If not specified, uses DELTA_CALIBRATION_DEFAULT_POINTS", "label": "[P]", "optional": true, "tag": "P", "values": [ { "type": "int" }, { "description": "Normalize end-stops and tower angle corrections only (no probing).", "tag": 0 }, { "description": "Probe center and set height only.", "tag": 1 }, { "description": "Probe center and towers. Set height, endstops, and delta radius.", "tag": 2 }, { "description": "Probe all positions - center, towers and opposite towers. Set all.", "tag": 3 }, { "description": "Probe all positions with intermediate locations, averaging them.", "tag": "4-10" } ] }, { "description": "Disable tower angle corrections calibration (`P3`-`P7`)", "label": "[T]", "optional": true, "tag": "T", "values": [ { "type": "bool" } ] }, { "description": "Set the verbose level", "label": "[V]", "optional": true, "tag": "V", "values": [ { "type": "int" }, { "description": "Dry run, no calibration", "tag": 0 }, { "description": "Report settings", "tag": 1 }, { "description": "Report settings and probe results", "tag": 2 }, { "description": "Report settings, probe results, and calibration results", "tag": 3 }, { "default": 1 } ] }, { "description": "Probe at probe-offset-relative positions instead of the required kinematic points.", "label": "[O]", "optional": true, "since": "2.0.9.2", "tag": "O", "values": [ { "type": "bool" } ] }, { "description": "Temporarily reduce the size of the probe grid by the specified amount.", "label": "[R]", "optional": true, "since": "2.0.9.2", "tag": "R", "values": [ { "type": "float" } ] } ], "related": [], "source": "Marlin", "title": "Delta Auto Calibration", "url": "https://marlinfw.org/docs/gcode/G033" }, { "brief": "", "codes": [ "G33" ], "id": "RepRap.G33[0]", "parameters": [ { "description": " List distortion matrix in a report", "label": "L0", "optional": true, "tag": "L", "values": [] }, { "description": " Reset distortion matrix", "label": "R0", "optional": true, "tag": "R", "values": [] }, { "description": " Set correction for nearest point", "label": "X[pos] Y[pos] Z[zCorrection]", "optional": true, "tag": "X", "values": [] } ], "related": [], "source": "RepRap", "title": "G33: Measure/List/Adjust Distortion Matrix (Repetier - Redeem)", "url": "https://reprap.org/wiki/G-code#G33:_Measure.2FList.2FAdjust_Distortion_Matrix_.28Repetier_-_Redeem.29" }, { "brief": "End-stops and tower angle corrections are normalized (P0); \nPerforms a 1-4-7 point calibration of delta height (P1), end-stops, delta radius (P2) and tower angle corrections (P>=3) by a least squares iteration process based on the displacement method.", "codes": [ "G33" ], "id": "RepRap.G33[1]", "parameters": [ { "description": " Number of probe points: n*n (n= 0-10), when P is omitted the default set in Configuration.h is used.", "label": "Pn", "optional": true, "tag": "P", "values": [] }, { "description": " Do not calibrate tower angle corrections (if used with P>=3); do not use the probe points near the towers, but the probe points opposite to the towers (if used with P=2)", "label": "T", "optional": true, "tag": "T", "values": [] }, { "description": " Force the iterations to stop when a standard deviation from the zero plane less then x.xx mm is achieved; when C is omitted the iterations go on until the best possible standard deviation is reached.", "label": "Cx.xx", "optional": true, "tag": "C", "values": [] }, { "description": " Force to run at least n iterations (n=1-30) and take the best result", "label": "Fn", "optional": true, "tag": "F", "values": [] }, { "description": " Verbose level: (n=0-3) 0 = dry run without calibration; 1(default) = settings at start and end; 2 = settings at all iterations; 3 = settings and probe results", "label": "Vn", "optional": true, "tag": "V", "values": [] }, { "description": " Engage the probe for each point", "label": "E", "optional": true, "tag": "E", "values": [] }, { "description": " Do not probe at the required kinematic points but at positions offseted to the probe-offsets ", "label": "O", "optional": true, "tag": "O", "values": [] }, { "description": " Temporary reduce the size of the probe grid by the specified amount (mm) ", "label": "R", "optional": true, "tag": "R", "values": [] } ], "related": [], "source": "RepRap", "title": "G33: Delta Auto Calibration (Marlin 1.1.x - MK4duo)", "url": "https://reprap.org/wiki/G-code#G33:_Delta_Auto_Calibration_.28Marlin_1.1.x_-_MK4duo.29" } ], "G34": [ { "brief": "Align multiple Z steppers using a bed probe", "codes": [ "G34" ], "id": "Marlin.G34[0]", "parameters": [ { "description": "Iterations - must be between 1 - 30", "label": "[I]", "optional": true, "tag": "I" }, { "description": "Target accuracy - must be between 0.01 - 1.0", "label": "[T]", "optional": true, "tag": "T" }, { "description": "Amplification - must be between 0.5 - 2.0", "label": "[A]", "optional": true, "tag": "A" }, { "description": "Stow probe after probing each point.", "label": "[E]", "optional": true, "tag": "E" } ], "related": [ "M422", "M906", "M907" ], "source": "Marlin", "title": "Z Steppers Auto-Alignment", "url": "https://marlinfw.org/docs/gcode/G034-zsaa" }, { "brief": "Modern replacement for Pr\u016f\u0161a's TMC_Z_CALIBRATION", "codes": [ "G34" ], "id": "Marlin.G34[1]", "parameters": [ { "description": "Current value to use for the raise move. (Default: `GANTRY_CALIBRATION_CURRENT`)", "label": "[S]", "optional": true, "tag": "S", "values": [ { "type": "int", "unit": "mA" } ] }, { "description": "Extra distance past `Z_MAX_POS` to move the Z axis. (Default: `GANTRY_CALIBRATION_EXTRA_HEIGHT`)", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "type": "float", "unit": "linear" } ] } ], "related": [ "M422", "M906", "M907", "M915" ], "source": "Marlin", "title": "Mechanical Gantry Calibration", "url": "https://marlinfw.org/docs/gcode/G034-mgc" }, { "brief": "Use multiple Z steppers and a probe to align Z axis connection points. See M422 for other options.", "codes": [ "G34" ], "id": "RepRap.G34[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G34: Z Stepper Auto-Align", "url": "https://reprap.org/wiki/G-code#G34:_Z_Stepper_Auto-Align" }, { "brief": "", "codes": [ "G34" ], "id": "RepRap.G34[1]", "parameters": [], "related": [], "source": "RepRap", "title": "G34: Calculate Delta Height from toolhead position (DELTA)", "url": "https://reprap.org/wiki/G-code#G34:_Calculate_Delta_Height_from_toolhead_position_.28DELTA.29" } ], "G35": [ { "brief": "Run a procedure to tram the bed", "codes": [ "G35" ], "id": "Marlin.G35[0]", "parameters": [ { "description": "Screw thread type", "label": "[S<30|31|40|41|50|51>]", "optional": true, "tag": "S", "values": [ { "description": "M3 clockwise", "tag": 30 }, { "description": "M3 counter-clockwise", "tag": 31 }, { "description": "M4 clockwise", "tag": 40 }, { "description": "M4 counter-clockwise", "tag": 41 }, { "description": "M5 clockwise", "tag": 50 }, { "description": "M5 counter-clockwise", "tag": 51 } ] } ], "related": [], "source": "Marlin", "title": "Tramming Assistant", "url": "https://marlinfw.org/docs/gcode/G035" } ], "G38.2": [ { "brief": "Probe towards (or away from) a workpiece", "codes": [ "G38.2", "G38.3", "G38.4", "G38.5" ], "id": "Marlin.G38.2[0]", "parameters": [ { "description": "Target X", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Target Y", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Target Z", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Feedrate for the move", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "rate", "type": "float" } ] } ], "related": [], "source": "Marlin", "title": "Probe target", "url": "https://marlinfw.org/docs/gcode/G038" }, { "brief": "Monitors probe input while moving linearly towards the specified coordinates, stopping upon detecting contact or reaching specified coordinates.", "codes": [ "G38.2" ], "id": "RepRap.G38.2[0]", "parameters": [ { "description": " target X coordinate", "label": "Xnnn", "optional": true, "tag": "X", "values": [] }, { "description": " target Y coordinate", "label": "Ynnn", "optional": true, "tag": "Y", "values": [] }, { "description": " target Z coordinate", "label": "Znnn", "optional": true, "tag": "Z", "values": [] }, { "description": " Feedrate in mm/min", "label": "Fnnn", "optional": true, "tag": "F", "values": [] } ], "related": [], "source": "RepRap", "title": "G38.2 probe toward workpiece, stop on contact, signal error if failure", "url": "https://reprap.org/wiki/G-code#G38.2_probe_toward_workpiece.2C_stop_on_contact.2C_signal_error_if_failure" } ], "G38.3": [ { "brief": "Probe towards (or away from) a workpiece", "codes": [ "G38.2", "G38.3", "G38.4", "G38.5" ], "id": "Marlin.G38.3[0]", "parameters": [ { "description": "Target X", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Target Y", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Target Z", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Feedrate for the move", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "rate", "type": "float" } ] } ], "related": [], "source": "Marlin", "title": "Probe target", "url": "https://marlinfw.org/docs/gcode/G038" }, { "brief": "", "codes": [ "G38.3" ], "id": "RepRap.G38.3[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G38.3 probe toward workpiece, stop on contact", "url": "https://reprap.org/wiki/G-code#G38.3_probe_toward_workpiece.2C_stop_on_contact" } ], "G38.4": [ { "brief": "Probe towards (or away from) a workpiece", "codes": [ "G38.2", "G38.3", "G38.4", "G38.5" ], "id": "Marlin.G38.4[0]", "parameters": [ { "description": "Target X", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Target Y", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Target Z", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Feedrate for the move", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "rate", "type": "float" } ] } ], "related": [], "source": "Marlin", "title": "Probe target", "url": "https://marlinfw.org/docs/gcode/G038" }, { "brief": "", "codes": [ "G38.4" ], "id": "RepRap.G38.4[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G38.4 probe away from workpiece, stop on loss of contact, signal error if failure", "url": "https://reprap.org/wiki/G-code#G38.4_probe_away_from_workpiece.2C_stop_on_loss_of_contact.2C_signal_error_if_failure" } ], "G38.5": [ { "brief": "Probe towards (or away from) a workpiece", "codes": [ "G38.2", "G38.3", "G38.4", "G38.5" ], "id": "Marlin.G38.5[0]", "parameters": [ { "description": "Target X", "label": "[X]", "optional": true, "tag": "X", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Target Y", "label": "[Y]", "optional": true, "tag": "Y", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Target Z", "label": "[Z]", "optional": true, "tag": "Z", "values": [ { "tag": "pos", "type": "float" } ] }, { "description": "Feedrate for the move", "label": "[F]", "optional": true, "tag": "F", "values": [ { "tag": "rate", "type": "float" } ] } ], "related": [], "source": "Marlin", "title": "Probe target", "url": "https://marlinfw.org/docs/gcode/G038" }, { "brief": "", "codes": [ "G38.5" ], "id": "RepRap.G38.5[0]", "parameters": [], "related": [], "source": "RepRap", "title": "G38.5 probe away from workpiece, stop on loss of contact", "url": "https://reprap.org/wiki/G-code#G38.5_probe_away_from_workpiece.2C_stop_on_loss_of_contact" } ], "G4": [ { "brief": "", "codes": [ "G4" ], "id": "Klipper.G4[0]", "parameters": [ { "description": "", "label": "P", "optional": false, "tag": "P", "values": [] } ], "related": [], "source": "Klipper", "title": "", "url": "https://www.klipper3d.org/G-Codes.html#g-code-commands" }, { "brief": "Pause the planner", "codes": [ "G4" ], "id": "Marlin.G4[0]", "parameters": [ { "description": "Amount of time to dwell", "label": "[S