From 7603a69a4a1f5f8e8d3ac37f7805a0526481e56e Mon Sep 17 00:00:00 2001 From: Scott Lahteine Date: Fri, 19 Jan 2024 02:34:09 -0600 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20G-code=20formatting,=20related,?= =?UTF-8?q?=20cleanup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _gcode/G000-G001.md | 147 +++++----- _gcode/G002-G003.md | 177 ++++++----- _gcode/G004.md | 45 ++- _gcode/G005.md | 168 +++++------ _gcode/G006.md | 114 ++++--- _gcode/G010.md | 23 +- _gcode/G011.md | 11 +- _gcode/G012.md | 130 ++++---- _gcode/G017-G019.md | 20 +- _gcode/G026.md | 238 +++++++-------- _gcode/G027.md | 55 ++-- _gcode/G028.md | 79 +++-- _gcode/G029-abl-3point.md | 83 +++--- _gcode/G029-abl-bilinear.md | 163 +++++----- _gcode/G029-abl-linear.md | 193 ++++++------ _gcode/G029-mbl.md | 171 +++++------ _gcode/G029-ubl.md | 571 +++++++++++++++++------------------- _gcode/G030.md | 62 ++-- _gcode/G031.md | 7 +- _gcode/G032.md | 9 +- _gcode/G033.md | 319 ++++++++++---------- _gcode/G034-mgc.md | 42 ++- _gcode/G034-zsaa.md | 44 ++- _gcode/G035.md | 52 ++-- _gcode/G038.md | 65 ++-- _gcode/G042.md | 59 ++-- _gcode/G053.md | 20 +- _gcode/G054-G059.md | 13 +- _gcode/G060.md | 27 +- _gcode/G061.md | 94 +++--- _gcode/G076.md | 32 +- _gcode/G080.md | 17 +- _gcode/G090.md | 10 +- _gcode/G091.md | 7 +- _gcode/G092.md | 86 +++--- _gcode/G425.md | 104 ++++--- _gcode/M000-M001.md | 61 ++-- _gcode/M003.md | 82 +++--- _gcode/M004.md | 81 +++-- _gcode/M005.md | 12 +- _gcode/M007-M009.md | 24 +- _gcode/M010-M011.md | 15 +- _gcode/M016.md | 17 +- _gcode/M017.md | 54 +--- _gcode/M018.md | 60 ++-- _gcode/M020.md | 128 ++++---- _gcode/M021.md | 27 +- _gcode/M022.md | 10 +- _gcode/M023.md | 23 +- _gcode/M024.md | 41 ++- _gcode/M025.md | 8 +- _gcode/M026.md | 18 +- _gcode/M027.md | 48 ++- _gcode/M028.md | 38 ++- _gcode/M029.md | 7 - _gcode/M030.md | 14 +- _gcode/M031.md | 8 +- _gcode/M032.md | 52 ++-- _gcode/M033.md | 24 +- _gcode/M034.md | 45 ++- _gcode/M042.md | 101 +++---- _gcode/M043-T.md | 86 +++--- _gcode/M043.md | 110 +++---- _gcode/M048.md | 128 ++++---- _gcode/M073.md | 43 ++- _gcode/M075.md | 17 +- _gcode/M076.md | 9 +- _gcode/M077.md | 11 +- _gcode/M078.md | 6 - _gcode/M080.md | 19 +- _gcode/M082.md | 6 +- _gcode/M083.md | 8 +- _gcode/M085.md | 22 +- _gcode/M086.md | 66 ++--- _gcode/M087.md | 6 +- _gcode/M092.md | 85 +++--- _gcode/M100.md | 46 ++- _gcode/M102.md | 35 ++- _gcode/M104.md | 105 ++++--- _gcode/M105.md | 40 ++- _gcode/M106.md | 85 +++--- _gcode/M107.md | 20 +- _gcode/M108.md | 21 +- _gcode/M109.md | 130 ++++---- _gcode/M110.md | 20 +- _gcode/M111.md | 41 ++- _gcode/M112.md | 13 +- _gcode/M113.md | 22 +- _gcode/M114.md | 58 ++-- _gcode/M115.md | 7 +- _gcode/M117.md | 19 +- _gcode/M118.md | 65 ++-- _gcode/M119.md | 26 +- _gcode/M120.md | 12 +- _gcode/M121.md | 12 +- _gcode/M122.md | 181 ++++++------ _gcode/M123.md | 13 +- _gcode/M125.md | 84 +++--- _gcode/M126.md | 23 +- _gcode/M127.md | 10 +- _gcode/M128.md | 23 +- _gcode/M129.md | 8 +- _gcode/M140.md | 42 ++- _gcode/M141.md | 25 +- _gcode/M143.md | 67 ++--- _gcode/M145.md | 69 ++--- _gcode/M149.md | 28 +- _gcode/M150.md | 162 +++++----- _gcode/M154.md | 32 +- _gcode/M155.md | 37 ++- _gcode/M163.md | 55 ++-- _gcode/M164.md | 41 ++- _gcode/M165.md | 98 +++---- _gcode/M166.md | 125 ++++---- _gcode/M190.md | 90 +++--- _gcode/M191.md | 45 ++- _gcode/M192.md | 38 ++- _gcode/M193.md | 66 ++--- _gcode/M200.md | 94 +++--- _gcode/M201.md | 132 ++++----- _gcode/M203.md | 86 +++--- _gcode/M204.md | 74 +++-- _gcode/M205.md | 131 ++++----- _gcode/M206.md | 103 ++++--- _gcode/M207.md | 67 ++--- _gcode/M208.md | 82 +++--- _gcode/M209.md | 26 +- _gcode/M211.md | 19 +- _gcode/M217.md | 244 +++++++-------- _gcode/M218.md | 76 +++-- _gcode/M220.md | 64 ++-- _gcode/M221.md | 41 ++- _gcode/M226.md | 34 +-- _gcode/M240.md | 190 ++++++------ _gcode/M250.md | 15 +- _gcode/M255.md | 14 +- _gcode/M256.md | 18 +- _gcode/M260.md | 95 +++--- _gcode/M261.md | 75 +++-- _gcode/M280.md | 33 +-- _gcode/M281.md | 52 ++-- _gcode/M282.md | 21 +- _gcode/M290.md | 85 +++--- _gcode/M300.md | 49 ++-- _gcode/M301.md | 111 ++++--- _gcode/M302.md | 48 ++- _gcode/M303.md | 89 +++--- _gcode/M304.md | 51 ++-- _gcode/M305.md | 83 +++--- _gcode/M306.md | 172 +++++------ _gcode/M350.md | 153 ++++------ _gcode/M351.md | 111 ++++--- _gcode/M355.md | 30 +- _gcode/M360.md | 7 +- _gcode/M361.md | 7 +- _gcode/M362.md | 7 +- _gcode/M363.md | 7 +- _gcode/M364.md | 7 +- _gcode/M380.md | 40 ++- _gcode/M381.md | 28 +- _gcode/M400.md | 13 +- _gcode/M401.md | 45 ++- _gcode/M402.md | 7 +- _gcode/M403.md | 54 ++-- _gcode/M404.md | 33 +-- _gcode/M405.md | 23 +- _gcode/M406.md | 10 +- _gcode/M407.md | 14 +- _gcode/M410.md | 13 +- _gcode/M412.md | 95 +++--- _gcode/M413.md | 37 +-- _gcode/M420.md | 103 +++---- _gcode/M421.md | 131 ++++----- _gcode/M422.md | 97 +++--- _gcode/M423.md | 99 +++---- _gcode/M425.md | 154 +++++----- _gcode/M428.md | 27 +- _gcode/M430.md | 54 ++-- _gcode/M486.md | 100 +++---- _gcode/M493.md | 99 +++---- _gcode/M500.md | 12 +- _gcode/M501.md | 10 +- _gcode/M502.md | 17 +- _gcode/M503.md | 35 +-- _gcode/M504.md | 12 +- _gcode/M510.md | 10 +- _gcode/M511.md | 25 +- _gcode/M512.md | 39 ++- _gcode/M524.md | 9 +- _gcode/M540.md | 20 +- _gcode/M569.md | 87 +++--- _gcode/M575.md | 27 +- _gcode/M592.md | 26 +- _gcode/M593.md | 39 ++- _gcode/M600.md | 26 +- _gcode/M603.md | 59 ++-- _gcode/M605.md | 111 ++++--- _gcode/M665-scara.md | 109 ++++--- _gcode/M665.md | 138 ++++----- _gcode/M666-dual.md | 49 ++-- _gcode/M666.md | 49 ++-- _gcode/M672.md | 10 +- _gcode/M701.md | 62 ++-- _gcode/M702.md | 58 ++-- _gcode/M710.md | 89 +++--- _gcode/M7219.md | 149 +++++----- _gcode/M808.md | 29 +- _gcode/M810-M819.md | 24 +- _gcode/M851.md | 156 +++++----- _gcode/M852.md | 45 +-- _gcode/M860-M869.md | 174 ++++++----- _gcode/M871.md | 112 ++++--- _gcode/M876.md | 24 +- _gcode/M900.md | 114 ++++--- _gcode/M906.md | 114 ++++--- _gcode/M907.md | 106 +++---- _gcode/M908.md | 32 +- _gcode/M909.md | 7 +- _gcode/M910.md | 4 - _gcode/M911.md | 7 +- _gcode/M912.md | 102 +++---- _gcode/M913.md | 96 +++--- _gcode/M914.md | 84 +++--- _gcode/M915.md | 49 ++-- _gcode/M916.md | 171 +++++------ _gcode/M917.md | 169 +++++------ _gcode/M918.md | 168 +++++------ _gcode/M919.md | 233 +++++++-------- _gcode/M928.md | 12 +- _gcode/M951.md | 108 ++++--- _gcode/M993.md | 14 +- _gcode/M994.md | 15 + _gcode/M997.md | 20 +- _gcode/M999.md | 20 +- _gcode/T-mmu2.md | 24 +- _gcode/T.md | 51 ++-- 236 files changed, 6825 insertions(+), 8031 deletions(-) create mode 100644 _gcode/M994.md diff --git a/_gcode/G000-G001.md b/_gcode/G000-G001.md index aa7f537cf7..4d97939a43 100644 --- a/_gcode/G000-G001.md +++ b/_gcode/G000-G001.md @@ -8,92 +8,85 @@ since: 1.0.0-beta group: motion codes: [ G0, G1 ] - related: [ G2, G3, G5, M82, M83, G91 ] -notes: | - - Coordinates are given in millimeters by default. Units may be set to inches by [`G20`](/docs/gcode/G020.html). - - In Relative Mode ([`G91`](/docs/gcode/G091.html)) all coordinates are interpreted as relative, adding onto the previous position. - - In Extruder Relative Mode ([`M83`](/docs/gcode/M083.html)) the E coordinate is interpreted as relative, adding onto the previous E position. - - A single linear move may generate several smaller moves to the planner due to kinematics and bed leveling compensation. Printing performance can be tuned by adjusting segments-per-second. +notes: +- Coordinates are given in millimeters by default. Units may be set to inches by [`G20`](/docs/gcode/G020.html). +- In Relative Mode ([`G91`](/docs/gcode/G091.html)) all coordinates are interpreted as relative, adding onto the previous position. +- In Extruder Relative Mode ([`M83`](/docs/gcode/M083.html)) the E coordinate is interpreted as relative, adding onto the previous E position. +- A single linear move may generate several smaller moves to the planner due to kinematics and bed leveling compensation. Printing performance can be tuned by adjusting segments-per-second. -devnotes: | - - Developers: Keep using `G0` for non-print moves. It makes G-code more adaptable to lasers, engravers, etc. +devnotes: +- "Developers: Keep using `G0` for non-print moves. It makes G-code more adaptable to lasers, engravers, etc." parameters: - - - tag: X - optional: true - description: An absolute or relative coordinate on the X axis (in current units). - values: - - - tag: pos - type: float - - - tag: Y - optional: true - description: An absolute or relative coordinate on the Y axis (in current units). - values: - - - tag: pos - type: float - - - tag: Z - optional: true - description: An absolute or relative coordinate on the Z axis (in current units). - values: - - - tag: pos - type: float - - - tag: E - optional: true - 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. - values: - - - tag: pos - type: float - - - tag: F - optional: true - 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. - values: - - - tag: rate - type: float - - - tag: S - since: 2.1.1 - requires: LASER_FEATURE - optional: true - description: Set the laser power for the move. - values: - - - tag: power - type: float + +- tag: X + optional: true + description: An absolute or relative coordinate on the X axis (in current units). + values: + - tag: pos + type: float + +- tag: Y + optional: true + description: An absolute or relative coordinate on the Y axis (in current units). + values: + - tag: pos + type: float + +- tag: Z + optional: true + description: An absolute or relative coordinate on the Z axis (in current units). + values: + - tag: pos + type: float + +- tag: E + optional: true + 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. + values: + - tag: pos + type: float + +- tag: F + optional: true + 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. + values: + - tag: rate + type: float + +- tag: S + since: 2.1.1 + requires: LASER_FEATURE + optional: true + description: Set the laser power for the move. + values: + - tag: power + type: float examples: - - - pre: The most basic move sets a feedrate and moves the tool to the given position. - code: - - G0 X12 ; Move to 12mm on the X axis - - G0 F1500 ; Set the feedrate to 1500 mm/min - - G1 X90.6 Y13.8 ; Move to 90.6mm on the X axis and 13.8mm on the Y axis - - - pre: There are some caveats related with feedrates. Consider the following: - code: - - G1 F1500 ; Set the feedrate to 1500 mm/min - - G92 E0 - - G1 X50 Y25.3 E22.4 ; Move while extruding - post: In the above example the feedrate is set to 1500 mm/min, then the tool is moved 50mm on the X axis and 25.3mm on the Y axis while extruding 22.4mm of filament between the two points. - - - code: - - G1 F1500 - - G92 E0 - - G1 X50 Y25.3 E22.4 F3000 - post: However, in the above example, we set a feedrate of 1500 mm/min on line 1 then do the move described above, accelerating to a feedrate of 3000 mm/min (if possible). The extrusion will accelerate along with the X and Y movement, so everything stays synchronized. +- pre: The most basic move sets a feedrate and moves the tool to the given position. + code: + - G0 X12 ; Move to 12mm on the X axis + - G0 F1500 ; Set the feedrate to 1500 mm/min + - G1 X90.6 Y13.8 ; Move to 90.6mm on the X axis and 13.8mm on the Y axis + +- pre: There are some caveats related with feedrates. Consider the following: + code: + - G1 F1500 ; Set the feedrate to 1500 mm/min + - G92 E0 + - G1 X50 Y25.3 E22.4 ; Move while extruding + post: In the above example the feedrate is set to 1500 mm/min, then the tool is moved 50mm on the X axis and 25.3mm on the Y axis while extruding 22.4mm of filament between the two points. + +- code: + - G1 F1500 + - G92 E0 + - G1 X50 Y25.3 E22.4 F3000 + post: However, in the above example, we set a feedrate of 1500 mm/min on line 1 then do the move described above, accelerating to a feedrate of 3000 mm/min (if possible). The extrusion will accelerate along with the X and Y movement, so everything stays synchronized. --- + The `G0` and `G1` commands add a linear move to the queue to be performed after all previous moves are completed. These commands yield control back to the command parser as soon as the move is queued, but they may delay the command parser while awaiting a slot in the queue. A linear move traces a straight line from one point to another, ensuring that the specified axes will arrive simultaneously at the given coordinates (by linear interpolation). The speed may change over time following an acceleration curve, according to the acceleration and jerk settings of the given axes. diff --git a/_gcode/G002-G003.md b/_gcode/G002-G003.md index 5c0bdb12d8..28781978a1 100644 --- a/_gcode/G002-G003.md +++ b/_gcode/G002-G003.md @@ -13,109 +13,98 @@ codes: [ G2, G3 ] related: [ G17, G18, G19 ] parameters: - - - tag: X - optional: true - description: A coordinate on the X axis - values: - - - tag: pos - type: float - - - tag: Y - optional: true - description: A coordinate on the Y axis - values: - - - tag: pos - type: float - - - tag: Z - optional: true - description: A coordinate on the Z axis - values: - - - tag: pos - type: float - - - tag: I + +- tag: X + optional: true + description: A coordinate on the X axis + values: + - tag: pos type: float - optional: false - description: An offset from the current X position to use as the arc center - values: - - - tag: offset - type: float - - - tag: J + +- tag: Y + optional: true + description: A coordinate on the Y axis + values: + - tag: pos type: float - optional: false - description: An offset from the current Y position to use as the arc center - values: - - - tag: offset - type: float - - - tag: R + +- tag: Z + optional: true + description: A coordinate on the Z axis + values: + - tag: pos + type: float + +- tag: I + type: float + optional: false + description: An offset from the current X position to use as the arc center + values: + - tag: offset + type: float + +- tag: J + type: float + optional: false + description: An offset from the current Y position to use as the arc center + values: + - tag: offset + type: float + +- tag: R + type: float + optional: false + description: A radius from the current XY position to use as the arc center + values: + - tag: radius + type: float + +- tag: E + type: float + optional: true + description: The amount to extrude between the start point and end point + values: + - tag: pos + type: float + +- tag: F + optional: true + description: The maximum rate of the move between the start and end point + values: + - tag: rate type: float optional: false - description: A radius from the current XY position to use as the arc center - values: - - - tag: radius - type: float - - - tag: E + +- tag: P + optional: true + description: Specify complete circles. (Requires `ARC_P_CIRCLES`) + values: + - tag: count + type: int + +- tag: S + optional: true + since: 2.0.8 + description: Set the Laser power for the move. + values: + - tag: power type: float - optional: true - description: The amount to extrude between the start point and end point - values: - - - tag: pos - type: float - - - tag: F - optional: true - description: The maximum rate of the move between the start and end point - values: - - - tag: rate - type: float - optional: false - - - tag: P - optional: true - description: Specify complete circles. (Requires `ARC_P_CIRCLES`) - values: - - - tag: count - type: int - - - tag: S - optional: true - since: 2.0.8 - description: Set the Laser power for the move. - values: - - - tag: power - type: float examples: - - - pre: Move in a clockwise arc from the current position to [125, 32] with the center offset from the current position by (10.5, 10.5). - code: G2 X125 Y32 I10.5 J10.5 - - - pre: Move in a counter-clockwise arc from the current position to [125, 32] with the center offset from the current position by (10.5, 10.5). - code: G3 X125 Y32 I10.5 J10.5 - - - pre: Move in a complete clockwise circle with the center offset from the current position by [20, 20]. - code: G2 I20 J20 +- pre: Move in a clockwise arc from the current position to [125, 32] with the center offset from the current position by (10.5, 10.5). + code: G2 X125 Y32 I10.5 J10.5 + +- pre: Move in a counter-clockwise arc from the current position to [125, 32] with the center offset from the current position by (10.5, 10.5). + code: G3 X125 Y32 I10.5 J10.5 + +- pre: Move in a complete clockwise circle with the center offset from the current position by [20, 20]. + code: G2 I20 J20 images: - - - title: G3 command geometry - caption: This illustrates a counter clockwise arc, starting at [9, 6]. It can be generated either by `G3 X2 Y7 I-4 J-3` or `G3 X2 Y7 R5` - path: G3fig.png +- title: G3 command geometry + caption: This illustrates a counter clockwise arc, starting at [9, 6]. It can be generated either by `G3 X2 Y7 I-4 J-3` or `G3 X2 Y7 R5` + path: G3fig.png + --- `G2` adds a clockwise arc move to the planner; `G3` adds a counter-clockwise arc. An arc move starts at the current position and ends at the given XYZ, pivoting around a center-point offset given by `I` and `J` or `R`. diff --git a/_gcode/G004.md b/_gcode/G004.md index fe3e9af44f..2eaf4cd83f 100644 --- a/_gcode/G004.md +++ b/_gcode/G004.md @@ -10,34 +10,31 @@ group: motion codes: [ G4 ] notes: - - If both `S` and `P` are included, `S` takes precedence. - - '[`M0`](/docs/gcode/M000-M001.html)/[`M1`](/docs/gcode/M000-M001.html) provides an interruptible "dwell" (Marlin 1.1.0 and up).' - - '`G4` with no arguments is effectively the same as [`M400`](/docs/gcode/M400.html).' +- If both `S` and `P` are included, `S` takes precedence. +- '[`M0`](/docs/gcode/M000-M001.html)/[`M1`](/docs/gcode/M000-M001.html) provides an interruptible "dwell" (Marlin 1.1.0 and up).' +- '`G4` with no arguments is effectively the same as [`M400`](/docs/gcode/M400.html).' parameters: - - - tag: S - optional: true - description: Amount of time to dwell - values: - - - tag: time - type: int - unit: sec - - - tag: P - optional: true - description: Amount of time to dwell - values: - - - tag: time - type: int - unit: ms + +- tag: S + optional: true + description: Amount of time to dwell + values: + - tag: time + type: int + unit: sec + +- tag: P + optional: true + description: Amount of time to dwell + values: + - tag: time + type: int + unit: ms example: - - - code: - - G4 P500 ; Dwell for 1/2 second +- code: G4 P500 ; Dwell for 1/2 second + --- Dwell pauses the command queue and waits for a period of time. diff --git a/_gcode/G005.md b/_gcode/G005.md index 77204b7818..9157690076 100644 --- a/_gcode/G005.md +++ b/_gcode/G005.md @@ -11,103 +11,91 @@ group: motion codes: [ G5 ] videos: - - aVwxzDHniEw +- aVwxzDHniEw notes: - - It is an error if an axis other than `X` or `Y` is specified. - - The first control point is the current position of the head. `XY` is the destination (the last control point of the spline). - - The next control-points are the current position plus `IJ` and the current position plus `PQ`. - - "`I` and `J` can be omitted, which results in these offsets being zero. This produces a 3-point spline (try the [interactive demo](//www.geogebra.org/m/WPHQ9rUt)). However, `P` and `Q` are required (otherwise you just get a linear movement)." +- It is an error if an axis other than `X` or `Y` is specified. +- The first control point is the current position of the head. `XY` is the destination (the last control point of the spline). +- The next control-points are the current position plus `IJ` and the current position plus `PQ`. +- "`I` and `J` can be omitted, which results in these offsets being zero. This produces a 3-point spline (try the [interactive demo](//www.geogebra.org/m/WPHQ9rUt)). However, `P` and `Q` are required (otherwise you just get a linear movement)." parameters: - - - tag: X - optional: false - description: A destination coordinate on the X axis - values: - - - tag: pos - type: float - - - tag: Y - optional: false - description: A destination coordinate on the Y axis - values: - - - tag: pos - type: float - - - tag: E - optional: true - description: The length of filament to feed into the extruder between the start and end point - values: - - - tag: pos - type: float - - - tag: F - optional: true - description: The maximum feedrate of the move between the start and end point (in current units per second). This value applies to all subsequent moves. - values: - - - tag: rate - type: float - - - tag: I - optional: false - description: Offset from the `X` start point to first control point - values: - - - tag: pos - type: float - - - tag: J - optional: false - description: Offset from the `Y` start point to first control point - values: - - - tag: pos - type: float - - - tag: P - optional: false - description: Offset from the `X` end point to second control point - values: - - - tag: pos - type: float - - - tag: Q - optional: false - description: Offset from the `Y` end point to the second control point - values: - - - tag: pos - type: float - - - tag: S - optional: true - since: 2.0.8 - description: Set the Laser power for the move. - values: - - - tag: power - type: float + +- tag: X + optional: false + description: A destination coordinate on the X axis + values: + - tag: pos + type: float + +- tag: Y + optional: false + description: A destination coordinate on the Y axis + values: + - tag: pos + type: float + +- tag: E + optional: true + description: The length of filament to feed into the extruder between the start and end point + values: + - tag: pos + type: float + +- tag: F + optional: true + description: The maximum feedrate of the move between the start and end point (in current units per second). This value applies to all subsequent moves. + values: + - tag: rate + type: float + +- tag: I + optional: false + description: Offset from the `X` start point to first control point + values: + - tag: pos + type: float + +- tag: J + optional: false + description: Offset from the `Y` start point to first control point + values: + - tag: pos + type: float + +- tag: P + optional: false + description: Offset from the `X` end point to second control point + values: + - tag: pos + type: float + +- tag: Q + optional: false + description: Offset from the `Y` end point to the second control point + values: + - tag: pos + type: float + +- tag: S + optional: true + since: 2.0.8 + description: Set the Laser power for the move. + values: + - tag: power + type: float examples: - - - pre: - - 'For example, to program a curvy "N" shape:' - code: - - G0 X0 Y0 - - G5 I0 J3 P0 Q-3 X1 Y1 - - - - pre: - - 'A second curvy "N" that attaches smoothly to this one can now be made without specifying `I` and `J`:' - code: - - G5 P0 Q-3 X2 Y2 +- pre: 'For example, to program a curvy "N" shape:' + code: + - G0 X0 Y0 + - G5 I0 J3 P0 Q-3 X1 Y1 + +- pre: 'A second curvy "N" that attaches smoothly to this one can now be made without specifying `I` and `J`:' + code: G5 P0 Q-3 X2 Y2 + --- + `G5` creates a cubic B-spline in the XY plane with the `X` and `Y` axes only. `P` and `Q` parameters are required. `I` and `J` are required for the first `G5` command in a series. For subsequent `G5` commands, either both `I` and `J` must be specified, or neither. If `I` and `J` are unspecified, the starting direction of the cubic will automatically match the ending direction of the previous cubic (as if `I` and `J` are the negation of the previous `P` and `Q`). See [This interactive demo](//www.geogebra.org/m/WPHQ9rUt) to understand how Bézier control points work. diff --git a/_gcode/G006.md b/_gcode/G006.md index 65ae07851c..9ae0701e29 100644 --- a/_gcode/G006.md +++ b/_gcode/G006.md @@ -9,72 +9,66 @@ group: motion experimental: true requires: DIRECT_STEPPING - codes: [ G6 ] notes: - - Requires `DIRECT_STEPPING`. - - Position sync in step-daemon is not entirely finished and movements made with the control panel may be lost. At this moment, homing is required to sync step daemon and the device. Always home before issuing movement commands. - - Use with extra caution. +- Requires `DIRECT_STEPPING`. +- Position sync in step-daemon is not entirely finished and movements made with the control panel may be lost. At this moment, homing is required to sync step daemon and the device. Always home before issuing movement commands. +- Use with extra caution. parameters: - - - tag: I - optional: true - description: Set page index - values: - - - tag: index - type: int - - - tag: R - optional: true - description: Step rate per second. Last value is cached for future invocations. - values: - - - tag: rate - type: float - - - tag: S - optional: true - description: Number of steps to take. Defaults to max steps. - values: - - - tag: rate - type: float - - - tag: X - optional: true - description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats. - values: - - - tag: direction - type: int - - - tag: Y - optional: true - description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats. - values: - - - tag: direction - type: int - - - tag: Z - optional: true - description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats. - values: - - - tag: direction - type: int - - - tag: E - optional: true - description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats. - values: - - - tag: direction - type: int + +- tag: I + optional: true + description: Set page index + values: + - tag: index + type: int + +- tag: R + optional: true + description: Step rate per second. Last value is cached for future invocations. + values: + - tag: rate + type: float + +- tag: S + optional: true + description: Number of steps to take. Defaults to max steps. + values: + - tag: rate + type: float + +- tag: X + optional: true + description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats. + values: + - tag: direction + type: int + +- tag: Y + optional: true + description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats. + values: + - tag: direction + type: int + +- tag: Z + optional: true + description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats. + values: + - tag: direction + type: int + +- tag: E + optional: true + description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats. + values: + - tag: direction + type: int + --- + Direct Stepping allows a host device to issue direct stepper movements in binary format, pre-written by the host device to a page in the device RAM. A "page manager" mechanism is provided to load the binary data onto the device. The page manager provided here uses a parallel protocol over the USB serial connection to write pages to the device RAM, and is decoupled from the normal serial G-code pipeline. This allows the host device to preload pages as fast as possible without waiting on the G-code pipeline. diff --git a/_gcode/G010.md b/_gcode/G010.md index d6f11d7fdc..ff65dee662 100644 --- a/_gcode/G010.md +++ b/_gcode/G010.md @@ -9,24 +9,19 @@ requires: FWRETRACT group: motion codes: [ G10 ] - -notes: - - Requires `FWRETRACT`. - - See related codes [`G11`](/docs/gcode/G011.html), [`M207`](/docs/gcode/M207.html), [`M208`](/docs/gcode/M208.html), and [`M209`](/docs/gcode/M209.html). +related: [ G11, M207, M208, M209 ] parameters: - - - tag: S - optional: true - 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) - values: - - - type: bool + +- tag: S + optional: true + 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) + values: + - type: bool example: - - - code: - - G10 ; retract +- code: G10 ; retract + --- Retract the filament according to settings of [`M207`](/docs/gcode/M207.html). diff --git a/_gcode/G011.md b/_gcode/G011.md index 6753217f78..8e93767eca 100644 --- a/_gcode/G011.md +++ b/_gcode/G011.md @@ -9,15 +9,15 @@ since: 1.0.0-beta group: motion codes: [ G11 ] +related: [ G10, M207, M208, M209 ] notes: - - Requires `FWRETRACT`. - - See related codes [`G10`](/docs/gcode/G010.html), [`M207`](/docs/gcode/M207.html), [`M208`](/docs/gcode/M208.html), and [`M209`](/docs/gcode/M209.html). +- Requires `FWRETRACT`. +- See related codes [`G10`](/docs/gcode/G010.html), [`M207`](/docs/gcode/M207.html), [`M208`](/docs/gcode/M208.html), and [`M209`](/docs/gcode/M209.html). example: - - - code: - - G11 ; recover +- code: G11 ; recover + --- Unretract (i.e., recover, prime) the filament according to settings of [`M208`](/docs/gcode/M208.html). @@ -25,4 +25,3 @@ Unretract (i.e., recover, prime) the filament according to settings of [`M208`]( Multiple consecutive `G11` or `G11 S1` commands without a corresponding [`G10`](/docs/gcode/G010.html) or `G10 S1` will be ignored. "Performs two moves: An optional Z lower at the maximum Z feedrate (travel acceleration), and a recovery move at the recover feedrate (retract acceleration)." - diff --git a/_gcode/G012.md b/_gcode/G012.md index 98d69b9844..e893e113d2 100644 --- a/_gcode/G012.md +++ b/_gcode/G012.md @@ -11,80 +11,70 @@ group: nozzle codes: [ G12 ] notes: - - Default behavior is defined by `NOZZLE_CLEAN_STROKES`, `NOZZLE_CLEAN_START_POINT`, `NOZZLE_CLEAN_END_POINT`, `NOZZLE_CLEAN_TRIANGLES`, `NOZZLE_CLEAN_CIRCLE_MIDDLE`, `NOZZLE_CLEAN_CIRCLE_RADIUS` and `NOZZLE_CLEAN_GOBACK`. - - With `NOZZLE_CLEAN_GOBACK` enabled, the nozzle automatically returns to the XYZ position before `G12`. +- Default behavior is defined by `NOZZLE_CLEAN_FEATURE` settings in `Configuration.h`. +- With `NOZZLE_CLEAN_GOBACK` enabled, the nozzle automatically returns to the XYZ position before `G12`. parameters: - - - tag: P - optional: true - description: Pattern style selection - values: - - - tag: 0 - description: Linear move back and forth - - - tag: 1 - description: Move in a zigzag pattern - - - tag: 2 - description: Move in a circular pattern - - - tag: R - optional: true - description: Radius of nozzle cleaning circle - values: - - - tag: radius - type: float - - - tag: S - optional: true - description: Number of repetitions of the pattern - values: - - - tag: count - type: int - - - tag: T - optional: true - description: Number of triangles in the zigzag pattern - values: - - - tag: count - type: int - - - tag: X - optional: true - description: Include X motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.) - values: - - - type: flag - - - tag: Y - optional: true - description: Include Y motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.) - values: - - - type: flag - - - tag: Z - optional: true - description: Include Z motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.) - values: - - - type: flag + +- tag: P + optional: true + description: Pattern style selection + values: + - tag: 0 + description: Linear move back and forth + - tag: 1 + description: Move in a zigzag pattern + - tag: 2 + description: Move in a circular pattern + +- tag: R + optional: true + description: Radius of nozzle cleaning circle + values: + - tag: radius + type: float + +- tag: S + optional: true + description: Number of repetitions of the pattern + values: + - tag: count + type: int + +- tag: T + optional: true + description: Number of triangles in the zigzag pattern + values: + - tag: count + type: int + +- tag: X + optional: true + description: Include X motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.) + values: + - type: flag + +- tag: Y + optional: true + description: Include Y motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.) + values: + - type: flag + +- tag: Z + optional: true + description: Include Z motion when cleaning with limited axes. (Leave out `X`, `Y`, and `Z` for non-limited cleaning.) + values: + - type: flag examples: - - - pre: The most basic example is to use the command without any arguments, this will default to a stroke based pattern which will be stroked `NOZZLE_CLEAN_STROKES` times. - code: G12 ; stroke pattern (default) - - - pre: To generate a three triangle zig-zag pattern which will be stroked one time use the following command. - code: G12 P1 S1 T3 ; zig-zag pattern with 3 triangles - - - pre: To generate a 10mm radius circle which will be stroked one time use the following command. - code: G12 P2 S1 R10 ; 10mm circle +- pre: The most basic example is to use the command without any arguments, this will default to a stroke based pattern which will be stroked `NOZZLE_CLEAN_STROKES` times. + code: G12 ; stroke pattern (default) + +- pre: To generate a three triangle zig-zag pattern which will be stroked one time use the following command. + code: G12 P1 S1 T3 ; zig-zag pattern with 3 triangles + +- pre: To generate a 10mm radius circle which will be stroked one time use the following command. + code: G12 P2 S1 R10 ; 10mm circle --- diff --git a/_gcode/G017-G019.md b/_gcode/G017-G019.md index 202ad597c8..61674f9272 100644 --- a/_gcode/G017-G019.md +++ b/_gcode/G017-G019.md @@ -10,21 +10,15 @@ group: geometry codes: [ G17, G18, G19 ] related: [ G2, G3, G5 ] -notes: - - Requires `CNC_WORKSPACE_PLANES`. +examples: +- pre: Select Plane XY + code: G17 -parameters: +- pre: Select Plane ZX + code: G18 -examples: - - - pre: Select Plane XY - code: G17 - - - pre: Select Plane ZX - code: G18 - - - pre: Select Plane YZ - code: G19 +- pre: Select Plane YZ + code: G19 --- diff --git a/_gcode/G026.md b/_gcode/G026.md index e2934e9397..22ac87191f 100644 --- a/_gcode/G026.md +++ b/_gcode/G026.md @@ -10,136 +10,118 @@ group: calibration codes: [ G26 ] -notes: | - - Before 1.1.6 it only works with `AUTO_BED_LEVELING_UBL`. - - Since 1.1.7 it also works with `MESH_BED_LEVELING` and `AUTO_BED_LEVELING_BILINEAR`. +notes: +- Before 1.1.6 `G26` requires `AUTO_BED_LEVELING_UBL`. +- Since 1.1.7 `G26` also works with `MESH_BED_LEVELING` and `AUTO_BED_LEVELING_BILINEAR`. parameters: - - - tag: B - optional: true - description: Bed temperature (otherwise 60°C) to use for the test print. - values: - - - type: int - tag: temp - - - tag: C - optional: true - description: Continue with the closest point (otherwise, don't) - values: - - - type: bool - - - tag: D - optional: true - description: Disable leveling compensation (otherwise, enable) - values: - - - type: flag - - - tag: F - optional: true - description: Filament diameter (otherwise 1.75mm) - values: - - - type: float - tag: linear - - - tag: H - optional: true - description: Hot end temperature (otherwise 205°C) to use for the test print. - values: - - - type: float - tag: linear - - - tag: I - since: 2.0.6 - optional: true - description: Material preset to use for the test print. Overrides `S`. - values: - - - type: int - tag: index - - - tag: K - optional: true - description: Keep heaters on when done - values: - - - type: bool - - - tag: L - optional: true - description: Layer height to use for the test - values: - - - type: float - tag: linear - - - tag: O - optional: true - description: Ooze amount (otherwise 0.3mm). Emitted at the start of the test. - values: - - - type: float - tag: linear - - - tag: P - optional: true - description: Prime Length - values: - - - type: float - tag: linear - - - tag: Q - optional: true - description: Retraction multiplier. `G26` retract and recover are 1.0mm and 1.2mm respectively. Both retract and recover are multiplied by this value. - values: - - - type: float - - - tag: R - optional: true - description: Number of `G26` Repetitions (otherwise 999) - values: - - - type: int - - - tag: S - optional: true - description: Nozzle size (otherwise 0.4mm) - values: - - - type: float - - - tag: U - optional: true - description: Random deviation. (`U` with no value, 50). - values: - - - type: float - tag: linear - - - tag: X - optional: true - description: X position (otherwise, current X position) - values: - - - type: float - tag: linear - - - tag: Y - optional: true - description: Y position (otherwise, current Y position) - values: - - - type: float - tag: linear - -examples: + +- tag: B + optional: true + description: Bed temperature (otherwise 60°C) to use for the test print. + values: + - type: int + tag: temp + +- tag: C + optional: true + description: Continue with the closest point (otherwise, don't) + values: + - type: bool + +- tag: D + optional: true + description: Disable leveling compensation (otherwise, enable) + values: + - type: flag + +- tag: F + optional: true + description: Filament diameter (otherwise 1.75mm) + values: + - type: float + tag: linear + +- tag: H + optional: true + description: Hot end temperature (otherwise 205°C) to use for the test print. + values: + - type: float + tag: linear + +- tag: I + since: 2.0.6 + optional: true + description: Material preset to use for the test print. Overrides `S`. + values: + - type: int + tag: index + +- tag: K + optional: true + description: Keep heaters on when done + values: + - type: bool + +- tag: L + optional: true + description: Layer height to use for the test + values: + - type: float + tag: linear + +- tag: O + optional: true + description: Ooze amount (otherwise 0.3mm). Emitted at the start of the test. + values: + - type: float + tag: linear + +- tag: P + optional: true + description: Prime Length + values: + - type: float + tag: linear + +- tag: Q + optional: true + description: Retraction multiplier. `G26` retract and recover are 1.0mm and 1.2mm respectively. Both retract and recover are multiplied by this value. + values: + - type: float + +- tag: R + optional: true + description: Number of `G26` Repetitions (otherwise 999) + values: + - type: int + +- tag: S + optional: true + description: Nozzle size (otherwise 0.4mm) + values: + - type: float + +- tag: U + optional: true + description: Random deviation. (`U` with no value, 50). + values: + - type: float + tag: linear + +- tag: X + optional: true + description: X position (otherwise, current X position) + values: + - type: float + tag: linear + +- tag: Y + optional: true + description: Y position (otherwise, current Y position) + values: + - type: float + tag: linear --- diff --git a/_gcode/G027.md b/_gcode/G027.md index 946f1c9882..3a8c3770f6 100644 --- a/_gcode/G027.md +++ b/_gcode/G027.md @@ -12,41 +12,34 @@ group: nozzle codes: [ G27 ] notes: - - The parking XY position and Z value are defined by `NOZZLE_PARK_POINT`. - - The minimum Z raise is defined by `NOZZLE_PARK_Z_RAISE_MIN`. +- The parking XY position and Z value are defined by `NOZZLE_PARK_POINT`. +- The minimum Z raise is defined by `NOZZLE_PARK_Z_RAISE_MIN`. parameters: - - - tag: P - since: 2.0.0 - optional: true - description: Parking behavior - values: - - - tag: 0 - description: (Default) Relative raise by `NOZZLE_PARK_Z_RAISE_MIN` before XY parking. In this case `NOZZLE_PARK_POINT.z` is used as the _minimum_ Z park position. - - - tag: 1 - description: Absolute move to `NOZZLE_PARK_POINT.z` before XY parking. _This may move the nozzle down, so use with caution!_ - - - tag: 2 - description: Relative raise by `NOZZLE_PARK_POINT.z` before XY parking. - - - tag: 3 - since: 2.2.0 - description: Relative raise by `NOZZLE_PARK_Z_RAISE_MIN`, skip XY parking. - - - tag: 4 - since: 2.2.0 - description: No Z raise. Just XY parking. +- tag: P + since: 2.0.0 + optional: true + description: Parking behavior + values: + - tag: 0 + description: (Default) Relative raise by `NOZZLE_PARK_Z_RAISE_MIN` before XY parking. In this case `NOZZLE_PARK_POINT.z` is used as the _minimum_ Z park position. + - tag: 1 + description: Absolute move to `NOZZLE_PARK_POINT.z` before XY parking. _This may move the nozzle down, so use with caution!_ + - tag: 2 + description: Relative raise by `NOZZLE_PARK_POINT.z` before XY parking. + - tag: 3 + since: 2.2.0 + description: Relative raise by `NOZZLE_PARK_Z_RAISE_MIN`, skip XY parking. + - tag: 4 + since: 2.2.0 + description: No Z raise. Just XY parking. examples: - - - pre: The most basic example is to use the command without any arguments, which raises Z by the default distance and moves to the parking position. - code: G27 ; Raise Z if lower - - - pre: This one is useful as an end script, simply raising Z and parking. - code: G27 P2 ; Always raise Z +- pre: The most basic example is to use the command without any arguments, which raises Z by the default distance and moves to the parking position. + code: G27 ; Raise Z if lower + +- pre: This one is useful as an end script, simply raising Z and parking. + code: G27 P2 ; Always raise Z --- diff --git a/_gcode/G028.md b/_gcode/G028.md index 905ddc40c5..6aebb184d7 100644 --- a/_gcode/G028.md +++ b/_gcode/G028.md @@ -8,60 +8,47 @@ group: calibration codes: [ G28 ] -notes: +notes: | - Homing is required before [`G29`](/docs/gcode/G029.html), [`M48`](/docs/gcode/M048.html), and some other procedures. - If homing is needed the LCD will blink the X Y Z indicators. - - | - By default `G28` disables bed leveling. Follow with `M420 S` to turn leveling on. + - By default `G28` disables bed leveling. Follow with `M420 S` to turn leveling on. - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. parameters: - - - tag: L - type: flag - optional: true - description: Flag to restore bed leveling state after homing. (default `true`) - - - tag: O - since: 1.1.9 - type: flag - optional: true - description: Flag to skip homing if the position is already trusted - - - tag: R - since: 1.1.9 - type: float - optional: true - description: The distance to raise the nozzle before homing - - - tag: X - type: flag - optional: true - description: Flag to home the X axis - - - tag: Y - type: flag - optional: true - description: Flag to home the Y axis - - - tag: Z - type: flag - optional: true - description: Flag to home the Z axis +- tag: L + type: flag + optional: true + description: Flag to restore bed leveling state after homing. (default `true`) +- tag: O + since: 1.1.9 + type: flag + optional: true + description: Flag to skip homing if the position is already trusted +- tag: R + since: 1.1.9 + type: float + optional: true + description: The distance to raise the nozzle before homing +- tag: X + type: flag + optional: true + description: Flag to home the X axis +- tag: Y + type: flag + optional: true + description: Flag to home the Y axis +- tag: Z + type: flag + optional: true + description: Flag to home the Z axis examples: - - - pre: - - 'The most-used form of this command is to home all axes:' - code: - - G28 ; Home all axes - - - code: - - G28 X Z ; Home the X and Z axes - - - code: - - G28 O ; Home all "untrusted" axes +- pre: "The most-used form of this command is to home all axes:" + code: G28 ; Home all axes +- code: G28 X Z ; Home the X and Z axes +- code: G28 O ; Home all "untrusted" axes + --- When you first start up your machine it has no idea where the toolhead is positioned, so Marlin needs to use a procedure called "homing" to establish a known position. To do this it moves each axis towards one end of its track until it triggers a switch, commonly called an "endstop." Marlin knows where the endstops are, so once all the endstops have been triggered the position is known. diff --git a/_gcode/G029-abl-3point.md b/_gcode/G029-abl-3point.md index ef5dea3fa4..97f66e2a91 100644 --- a/_gcode/G029-abl-3point.md +++ b/_gcode/G029-abl-3point.md @@ -7,80 +7,73 @@ author: thinkyhead requires: AUTO_BED_LEVELING_3POINT group: calibration -related: [ M420 ] codes: [ G29 ] +related: [ M420 ] -notes: -- Any arguments left out of `G29` will use your configured defaults. -- | - By default `G28` disables bed leveling. Follow `G28` with `M420 S` to turn leveling on. - - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. - - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. -- To save time and machine wear, save your matrix to EEPROM with [`M500`](/docs/gcode/M500.html) and in your slicer's "Starting G-code" replace `G29` with `M420 S1` to enable your last-saved matrix. +notes: | + - Any arguments left out of `G29` will use your configured defaults. + - By default `G28` disables bed leveling. Follow `G28` with `M420 S` to turn leveling on. + - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. + - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. + - To save time and machine wear, save your matrix to EEPROM with [`M500`](/docs/gcode/M500.html) and in your slicer's "Starting G-code" replace `G29` with `M420 S1` to enable your last-saved matrix. parameters: -- - tag: A + +- tag: A optional: true description: Abort leveling procedure in-progress (`PROBE_MANUALLY`) values: - - - type: bool -- - tag: C + - type: bool + +- tag: C optional: true description: Create fake points for testing. (`DEBUG_LEVELING_FEATURE`) values: - - - type: bool -- - tag: O + - type: bool + +- tag: O type: bool optional: true description: Optional. If leveling is already enabled then exit without leveling. (1.1.9) -- - tag: Q + +- tag: Q optional: true description: Query the current leveling state (`PROBE_MANUALLY`, `DEBUG_LEVELING_FEATURE`) values: - - - type: bool -- - tag: E + - type: bool + +- tag: E optional: true description: | - - By default G29 will engage the Z probe, test the bed, then disengage. - - Include "E" to engage/disengage the Z probe for each sample. - - There's no extra effect if you have a fixed Z probe. (without `PROBE_MANUALLY`) + - By default G29 will engage the Z probe, test the bed, then disengage. + - Include "E" to engage/disengage the Z probe for each sample. + - There's no extra effect if you have a fixed Z probe. (without `PROBE_MANUALLY`) values: - - - type: bool -- - tag: D + - type: bool + +- tag: D optional: true description: Dry-Run mode. Just probe the grid but don't update the bed leveling data values: - - - type: bool -- - tag: J + - type: bool + +- tag: J optional: true description: Jettison the leveling data stored in SRAM and turn off leveling compensation. Data in EEPROM is not affected. values: - - - type: bool -- - tag: V + - type: bool + +- tag: V optional: true description: Set the verbose level values: - - - type: int - tag: 0-4 + - type: int + tag: 0-4 + +example: +- pre: Probe 3 points and compensate + code: G29 -examples: -- - code: G29 ; Probe 3 points and compensate --- Automatic (3-Point) Bed Leveling probes the bed at 3 points and enables bed leveling compensation using a rotation matrix to compensate for bed tilt. diff --git a/_gcode/G029-abl-bilinear.md b/_gcode/G029-abl-bilinear.md index 41baa3062d..7786e8ad7b 100644 --- a/_gcode/G029-abl-bilinear.md +++ b/_gcode/G029-abl-bilinear.md @@ -10,163 +10,145 @@ group: calibration related: [ M420, M421 ] codes: [ G29 ] -notes: -- Any arguments left out of `G29` will use the default values set in `Configuration.h`. -- | - By default `G28` disables bed leveling. Follow `G28` with `M420 S` to turn leveling on. - - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. - - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. -- To save time and machine wear, save your mesh to EEPROM with [`M500`](/docs/gcode/M500.html) and in your slicer's "Starting G-code" replace `G29` with `M420 S1` to enable your last-saved mesh. +notes: | + - Any arguments left out of `G29` will use the default values set in `Configuration.h`. + - By default `G28` disables bed leveling. Follow `G28` with `M420 S` to turn leveling on. + - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. + - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. + - To save time and machine wear, save your mesh to EEPROM with [`M500`](/docs/gcode/M500.html) and in your slicer's "Starting G-code" replace `G29` with `M420 S1` to enable your last-saved mesh. parameters: -- - tag: A + +- tag: A optional: true description: Abort leveling procedure in-progress (`PROBE_MANUALLY`) values: - - - type: bool -- - tag: C + - type: bool + +- tag: C optional: true description: Create a fake grid for testing. (`DEBUG_LEVELING_FEATURE`) values: - - - type: bool -- - tag: O + - type: bool + +- tag: O type: bool optional: true description: Optional. If leveling is already enabled then exit without leveling. (1.1.9) -- - tag: Q + +- tag: Q optional: true description: Query the current leveling state (`PROBE_MANUALLY`, `DEBUG_LEVELING_FEATURE`) values: - - - type: bool -- - tag: X + - type: bool + +- tag: X optional: true description: Specify X when setting a mesh value (`PROBE_MANUALLY`). values: - - - type: int/float -- - tag: Y + - type: float + +- tag: Y optional: true description: Specify Y when setting a mesh value. values: - - - type: int/float -- - tag: Z + - type: float + +- tag: Z optional: true description: Specify the Z offset when setting a mesh value. values: - - - type: float -- - tag: W + - type: float + +- tag: W optional: true description: | Write a mesh Z offset. - Use `X`,`Y` or `I`,`J` to specify the point. - Use `Z` to specify the new value to set. values: - - - type: bool -- - tag: S + - type: bool + +- tag: S optional: true description: Set the XY travel speed between probe points. values: - - - tag: rate - type: float -- - tag: E + - tag: rate + type: float + +- tag: E optional: true description: | - By default G29 will engage the Z probe, test the bed, then disengage. - Include "E" to engage/disengage the Z probe for each sample. - There's no extra effect if you have a fixed Z probe. values: - - - type: bool -- - tag: D + - type: bool + +- tag: D optional: true description: Dry-Run mode. Just probe the grid but don't update the bed leveling data values: - - - type: bool -- - tag: H + - type: bool + +- tag: H optional: true description: Set the square width and height of the area to probe. values: - - - tag: linear - type: float -- - tag: F + - tag: linear + type: float + +- tag: F optional: true description: Set the front limit of the probing grid. values: - - - tag: linear - type: float -- - tag: B + - tag: linear + type: float + +- tag: B optional: true description: Set the back limit of the probing grid. values: - - - tag: linear - type: float -- - tag: L + - tag: linear + type: float + +- tag: L optional: true description: Set the left limit of the probing grid. values: - - - tag: linear - type: float -- - tag: R + - tag: linear + type: float + +- tag: R optional: true description: Set the right limit of the probing grid. values: - - - tag: linear - type: float -- - tag: J + - tag: linear + type: float + +- tag: J optional: true description: (Without `W`) Jettison the leveling data stored in SRAM and turn off leveling compensation. Data in EEPROM is not affected. values: - - - type: bool -- - tag: V + - type: bool + +- tag: V optional: true description: Set the verbose level values: - - - type: int - tag: 0-4 + - type: int + tag: 0-4 examples: -- - pre: Automatic Probing examples + +- pre: Automatic Probing examples post: '`G29` without arguments uses your default settings.' code: G29 ; Measure the bed -- - post: 'Probe your configured N x N matrix within the bounds `X50` `Y50` to `X150` `Y150` (verbose).' + +- post: 'Probe your configured N x N matrix within the bounds `X50` `Y50` to `X150` `Y150` (verbose).' code: G29 L50 R150 F50 B150 V4 -- - pre: Manual Probing example + +- pre: Manual Probing example post: 'Each `G29` command goes to the next step until the whole procedure is done. The `V1` parameter provides a progress report.' code: - G29 V1 ; Ready! Go to Point 1, wait... @@ -179,6 +161,7 @@ examples: - G29 V1 ; Store Z, go to Point 8, wait... - G29 V1 ; Store Z, go to Point 9, wait... - G29 V1 ; Store Z. Calculate matrix. Activate. + --- Automatic (Bilinear) Bed Leveling probes the bed at some fixed number of points and produces a mesh representing the imperfections across the bed. diff --git a/_gcode/G029-abl-linear.md b/_gcode/G029-abl-linear.md index d7bf007b96..2764fb8fff 100644 --- a/_gcode/G029-abl-linear.md +++ b/_gcode/G029-abl-linear.md @@ -10,175 +10,158 @@ group: calibration related: [ M420 ] codes: [ G29 ] -notes: -- Any arguments left out of `G29` will use the default values set in `Configuration.h`. -- | - By default `G28` disables bed leveling. Follow `G28` with `M420 S` to turn leveling on. - - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. - - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. -- To save time and machine wear, save your matrix to EEPROM with [`M500`](/docs/gcode/M500.html) and in your slicer's "Starting G-code" replace `G29` with `M420 S1` to enable your last-saved matrix. +notes: | + - Any arguments left out of `G29` will use the default values set in `Configuration.h`. + - By default `G28` disables bed leveling. Follow `G28` with `M420 S` to turn leveling on. + - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. + - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. + - To save time and machine wear, save your matrix to EEPROM with [`M500`](/docs/gcode/M500.html) and in your slicer's "Starting G-code" replace `G29` with `M420 S1` to enable your last-saved matrix. parameters: -- - tag: A + +- tag: A optional: true description: Abort leveling procedure in-progress (`PROBE_MANUALLY`) values: - - - type: bool -- - tag: C + - type: bool + +- tag: C optional: true description: Create a fake grid for testing. (`DEBUG_LEVELING_FEATURE`) values: - - - type: bool -- - tag: O + - type: bool + +- tag: O type: bool optional: true description: Optional. If leveling is already enabled then exit without leveling. (1.1.9) -- - tag: Q + +- tag: Q optional: true description: Query the current leveling state (`PROBE_MANUALLY`, `DEBUG_LEVELING_FEATURE`) values: - - - type: bool -- - tag: X + - type: bool + +- tag: X optional: true description: Set the number of columns (in X) that will be probed. values: - - - type: int -- - tag: Y + - type: int + +- tag: Y optional: true description: Set the number of rows (in Y) that will be probed. values: - - - type: int -- - tag: P + - type: int + +- tag: P optional: true description: Set the size of the square grid that will be probed - P x P points values: - - - type: int -- - tag: S + - type: int + +- tag: S optional: true description: Set the XY travel speed between probe points. values: - - - tag: rate - type: float -- - tag: E + - tag: rate + type: float + +- tag: E optional: true description: | - - By default G29 will engage the Z probe, test the bed, then disengage. - - Include "E" to engage/disengage the Z probe for each sample. - - There's no extra effect if you have a fixed Z probe. (without `PROBE_MANUALLY`) + - By default G29 will engage the Z probe, test the bed, then disengage. + - Include "E" to engage/disengage the Z probe for each sample. + - There's no extra effect if you have a fixed Z probe. (without `PROBE_MANUALLY`) values: - - - type: bool -- - tag: D + - type: bool + +- tag: D optional: true description: Dry-Run mode. Just probe the grid but don't update the bed leveling data values: - - - type: bool -- - tag: T + - type: bool + +- tag: T optional: true description: Generate a Bed Topology Report values: - - - type: bool -- - tag: H + - type: bool + +- tag: H optional: true description: Set the square width and height of the area to probe. values: - - - tag: linear - type: float -- - tag: F + - tag: linear + type: float + +- tag: F optional: true description: Set the front limit of the probing grid. values: - - - tag: linear - type: float -- - tag: B + - tag: linear + type: float + +- tag: B optional: true description: Set the back limit of the probing grid. values: - - - tag: linear - type: float -- - tag: L + - tag: linear + type: float + +- tag: L optional: true description: Set the left limit of the probing grid. values: - - - tag: linear - type: float -- - tag: R + - tag: linear + type: float + +- tag: R optional: true description: Set the right limit of the probing grid. values: - - - tag: linear - type: float -- - tag: J + - tag: linear + type: float + +- tag: J optional: true description: Jettison the leveling data stored in SRAM and turn off leveling compensation. Data in EEPROM is not affected. values: - - - type: bool -- - tag: V + - type: bool + +- tag: V optional: true description: Set the verbose level. Level 2 and up act like 'T'. values: - - - type: int - tag: 0-4 + - type: int + tag: 0-4 examples: -- - pre: Automatic Probing examples + +- pre: Automatic Probing examples post: '`G29` is most commonly used without any arguments. This uses the defaults set in `Configuration.h`.' code: G29 ; probe and enable -- - post: Probe a 5x5 matrix. + +- post: Probe a 5x5 matrix. code: G29 P5 ; 5x5 matrix -- - post: 'Probe a 4x8 matrix from `X50` `Y50` to `X150` `Y150`, printing a full report.' + +- post: 'Probe a 4x8 matrix from `X50` `Y50` to `X150` `Y150`, printing a full report.' code: G29 X4 Y8 L50 R150 F50 B150 T V4 -- - pre: Manual Probing example + +- pre: Manual Probing example post: 'Each `G29` command goes to the next step until the whole procedure is done. The `V1` parameter provides a progress report.' code: - - G29 V1 ; Ready! Go to Point 1, wait... - - G29 V1 ; Store Z, go to Point 2, wait... - - G29 V1 ; Store Z, go to Point 3, wait... - - G29 V1 ; Store Z, go to Point 4, wait... - - G29 V1 ; Store Z, go to Point 5, wait... - - G29 V1 ; Store Z, go to Point 6, wait... - - G29 V1 ; Store Z, go to Point 7, wait... - - G29 V1 ; Store Z, go to Point 8, wait... - - G29 V1 ; Store Z, go to Point 9, wait... - - G29 V1 ; Store Z. Calculate matrix. Activate. + - G29 V1 ; Ready! Go to Point 1, wait... + - G29 V1 ; Store Z, go to Point 2, wait... + - G29 V1 ; Store Z, go to Point 3, wait... + - G29 V1 ; Store Z, go to Point 4, wait... + - G29 V1 ; Store Z, go to Point 5, wait... + - G29 V1 ; Store Z, go to Point 6, wait... + - G29 V1 ; Store Z, go to Point 7, wait... + - G29 V1 ; Store Z, go to Point 8, wait... + - G29 V1 ; Store Z, go to Point 9, wait... + - G29 V1 ; Store Z. Calculate matrix. Activate. + --- Automatic (Linear) Bed Leveling probes the bed in a grid and enables bed leveling compensation using a matrix to compensate for bed tilt, applying a "least-squares" approximation. diff --git a/_gcode/G029-mbl.md b/_gcode/G029-mbl.md index c561b707bd..b0eeadefec 100644 --- a/_gcode/G029-mbl.md +++ b/_gcode/G029-mbl.md @@ -10,120 +10,105 @@ group: calibration related: [ M420, M421 ] codes: [ G29 ] -notes: -- Requires the `MESH_BED_LEVELING` option in `Configuration.h`. -- Similar to `AUTO_BED_LEVELING_BILINEAR` with `PROBE_MANUALLY` but uses less SRAM. -- For automatic probe-based leveling enable one of the [`AUTO_BED_LEVELING_*`](/docs/configuration/configuration.html#bed-leveling) options instead. -- | - By default `G28` disables bed leveling. Follow `G28` with `M420 S` to turn leveling on. - - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. - - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. +notes: | + - Requires the `MESH_BED_LEVELING` option in `Configuration.h`. + - Similar to `AUTO_BED_LEVELING_BILINEAR` with `PROBE_MANUALLY` but uses less SRAM. + - For automatic probe-based leveling enable one of the [`AUTO_BED_LEVELING_*`](/docs/configuration/configuration.html#bed-leveling) options instead. + - By default `G28` disables bed leveling. Follow `G28` with `M420 S` to turn leveling on. + - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. + - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. parameters: -- - tag: S + +- tag: S optional: false values: - - - tag: 0 - description: Produce a mesh report (see examples below). - - - tag: 1 - description: Start probing mesh points. - - - tag: 2 - description: Probe the next mesh point. - - - tag: 3 - description: Manually modify a single point with `X` `Y` `Z` parameters. (See also [`M421`](/docs/gcode/M421.html).) - - - tag: 4 - description: Set a global Z offset. Positive values are away from the bed; negative values are closer. - - - tag: 5 - description: Reset and disable mesh. -- - tag: I + - tag: 0 + description: Produce a mesh report (see examples below). + - tag: 1 + description: Start probing mesh points. + - tag: 2 + description: Probe the next mesh point. + - tag: 3 + description: Manually modify a single point with `X` `Y` `Z` parameters. (See also [`M421`](/docs/gcode/M421.html).) + - tag: 4 + description: Set a global Z offset. Positive values are away from the bed; negative values are closer. + - tag: 5 + description: Reset and disable mesh. + +- tag: I optional: true description: '**(Marlin 2.x)** With `S3`, the (0...n-1) X index of the mesh value to modify.' values: - - - tag: index - type: int -- - tag: J + - tag: index + type: int + +- tag: J optional: true description: '**(Marlin 2.x)** With `S3`, the (0...n-1) Y index of the mesh value to modify.' values: - - - tag: index - type: int -- - tag: X + - tag: index + type: int + +- tag: X optional: true description: '**(Marlin 1.x)** With `S3`, the (1...n) X count of the mesh value to modify.' values: - - - tag: count - type: int -- - tag: Y + - tag: count + type: int + +- tag: Y optional: true description: '**(Marlin 1.x)** With `S3`, the (1...n) Y count of the mesh value to modify.' values: - - - tag: count - type: int -- - tag: Z + - tag: count + type: int + +- tag: Z optional: true description: With `S3`, the new mesh Z value. values: - - - tag: linear - type: float + - tag: linear + type: float examples: -- - pre: 'S0 mesh report:' - code: - - | - > G29 S0 - Num X,Y: 3,3 - Z offset: 0 - Measured points: - 0 1 2 - 0 +0.011 -0.020 -0.026 - 1 +0.017 +0.002 -0.019 - 2 +0.022 -0.030 -0.013 - -- - pre: '**(Marlin 1.x)** Modify some mesh points and view the new mesh:' - code: - - | - > G29 S3 X3 Y3 Z0.042 - > G29 S3 X2 Y2 Z-0.666 - > G29 S0 - Num X,Y: 3,3 - Z offset: 0 - Measured points: - 0 1 2 - 0 +0.011 -0.020 -0.026 - 1 +0.017 -0.666 -0.019 - 2 +0.022 -0.030 +0.042 -- - pre: '**(Marlin 2.x)** Modify some mesh points and view the new mesh:' - code: - - | - > G29 S3 I2 J2 Z0.042 - > G29 S3 I1 J1 Z-0.666 - > G29 S0 - 3x3 mesh. Z offset: 0 - Measured points: - 0 1 2 - 0 +0.011 -0.020 -0.026 - 1 +0.017 -0.666 -0.019 - 2 +0.022 -0.030 +0.042 + +- pre: 'S0 mesh report:' + code: | + > G29 S0 + Num X,Y: 3,3 + Z offset: 0 + Measured points: + 0 1 2 + 0 +0.011 -0.020 -0.026 + 1 +0.017 +0.002 -0.019 + 2 +0.022 -0.030 -0.013 + +- pre: '**(Marlin 1.x)** Modify some mesh points and view the new mesh:' + code: | + > G29 S3 X3 Y3 Z0.042 + > G29 S3 X2 Y2 Z-0.666 + > G29 S0 + Num X,Y: 3,3 + Z offset: 0 + Measured points: + 0 1 2 + 0 +0.011 -0.020 -0.026 + 1 +0.017 -0.666 -0.019 + 2 +0.022 -0.030 +0.042 + +- pre: '**(Marlin 2.x)** Modify some mesh points and view the new mesh:' + code: | + > G29 S3 I2 J2 Z0.042 + > G29 S3 I1 J1 Z-0.666 + > G29 S0 + 3x3 mesh. Z offset: 0 + Measured points: + 0 1 2 + 0 +0.011 -0.020 -0.026 + 1 +0.017 -0.666 -0.019 + 2 +0.022 -0.030 +0.042 + --- Mesh Bed Leveling (MBL) allows interactively measuring a Z height mesh without a bed probe. The only tool required is a piece of paper or a feeler gauge. MBL uses the mesh to compensate for variations in height across the bed. diff --git a/_gcode/G029-ubl.md b/_gcode/G029-ubl.md index 486e25aae5..5b1c366577 100644 --- a/_gcode/G029-ubl.md +++ b/_gcode/G029-ubl.md @@ -34,315 +34,284 @@ notes: | - We know it takes a lot of effort to create good working Mesh data, so UBL stores its mesh data in a separate location where it won't be affected by EEPROM errors or version changes. parameters: - - - tag: A - optional: true - description: '**Activate** Unified Bed Leveling (i.e., `M420 S1`)' - values: - - - type: flag - - - tag: B - optional: true - description: | - **Business Card** mode (`P2` only) - - Use the 'Business Card' mode of the Manual Probe subsystem with `P2`. A value may be given, or else it will be measured. - - In this mode of `G29 P2`, use a shim that the nozzle can grab onto as it is lowered. - 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. - - Note: A non-compressible Spark Gap feeler gauge is recommended over a business card. - values: - - - tag: mm/flag - type: float - - - tag: C - optional: true - description: | - - `G29 P1 C` Continue: - Continues the generation of a partially-constructed Mesh without invalidating previous measurements. - - `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. - - `G29 P3 C` Constant: specifies the Constant for the fill. Otherwise, uses a "reasonable" value. - - `G29 Z C` Current: Use the Current location (instead of bed center or nearest edge). - values: - - - tag: bool/float - type: value - - - tag: D - optional: true - description: Disable Unified Bed Leveling (i.e., `M420 S0`). - values: - - - type: flag - - - tag: E - optional: true - description: Stow probe after probing `E`ach point (`P1` only). - values: - - - type: flag - - - tag: F - optional: true - description: | - **Fade** height. (UBL only! For others use `M420 Z`) - - Fade 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. - values: - - - unit: linear - type: float - - - tag: H - optional: true - description: | - **Height**: - - `G29 P2 H`: Height for Manual Probe raise (`P2` only). - Specify the Height to raise the nozzle after each manual probe of the bed. - If omitted, the nozzle will raise by `Z_CLEARANCE_BETWEEN_PROBES`. - - `G29 P4 H` : Offset above the mesh height to place the nozzle. - If omitted, `Z_CLEARANCE_BETWEEN_PROBES` will be used. - values: - - - unit: linear - type: float - - - tag: I - optional: true - description: | - **Invalidate** a number of mesh points (default 1). - - Invalidate Mesh Points near the given `X Y` (Default: nozzle position) - - If no `I` value is given, only the point nearest to the given position is invalidated. - 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 (#). - - You can move the nozzle around and use this feature to select the center of the area (or cell) to invalidate. - values: - - - type: int - - - tag: J - optional: true + +- tag: A + optional: true + description: '**Activate** Unified Bed Leveling (i.e., `M420 S1`)' + values: + - type: flag + +- tag: B + optional: true + description: | + **Business Card** mode (`P2` only) + - Use the 'Business Card' mode of the Manual Probe subsystem with `P2`. A value may be given, or else it will be measured. + - In this mode of `G29 P2`, use a shim that the nozzle can grab onto as it is lowered. + 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. + - Note: A non-compressible Spark Gap feeler gauge is recommended over a business card. + values: + - tag: mm/flag + type: float + +- tag: C + optional: true + description: | + - `G29 P1 C` Continue: + Continues the generation of a partially-constructed Mesh without invalidating previous measurements. + - `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. + - `G29 P3 C` Constant: specifies the Constant for the fill. Otherwise, uses a "reasonable" value. + - `G29 Z C` Current: Use the Current location (instead of bed center or nearest edge). + values: + - tag: bool/float + type: value + +- tag: D + optional: true + description: Disable Unified Bed Leveling (i.e., `M420 S0`). + values: + - type: flag + +- tag: E + optional: true + description: Stow probe after probing `E`ach point (`P1` only). + values: + - type: flag + +- tag: F + optional: true + description: | + **Fade** height. (UBL only! For others use `M420 Z`) + + Fade 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. + values: + - unit: linear + type: float + +- tag: H + optional: true + description: | + **Height**: + - `G29 P2 H`: Height for Manual Probe raise (`P2` only). + Specify the Height to raise the nozzle after each manual probe of the bed. + If omitted, the nozzle will raise by `Z_CLEARANCE_BETWEEN_PROBES`. + - `G29 P4 H` : Offset above the mesh height to place the nozzle. + If omitted, `Z_CLEARANCE_BETWEEN_PROBES` will be used. + values: + - unit: linear + type: float + +- tag: I + optional: true + description: | + **Invalidate** a number of mesh points (default 1). + - Invalidate Mesh Points near the given `X Y` (Default: nozzle position) + - If no `I` value is given, only the point nearest to the given position is invalidated. + 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 (#). + - You can move the nozzle around and use this feature to select the center of the area (or cell) to invalidate. + values: + - type: int + +- tag: J + optional: true + description: | + **Grid** (or 3-Point) leveling: + - These options calculate a plane and adjust the existing mesh to the bed tilt. + - If a value is provided, probe a grid with the given number of points, squared. + - With no value, probe 3 points to find the plane of the bed. + values: + - type: int + +- tag: K + optional: true + requires: UBL_DEVEL_DEBUGGING + 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`)' + values: + - unit: index + type: int + +- tag: L + optional: true + description: | + **Load** a mesh. If no index is given, load the previously-activated mesh. + The given mesh index will be used for subsequent Load and Store operations. + values: + - unit: index + type: int + +- tag: P + optional: true + 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." + values: + - tag: 0 + 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: 1 description: | - **Grid** (or 3-Point) leveling: - - These options calculate a plane and adjust the existing mesh to the bed tilt. - - If a value is provided, probe a grid with the given number of points, squared. - - With no value, probe 3 points to find the plane of the bed. - values: - - - type: int - - - tag: K - optional: true - requires: UBL_DEVEL_DEBUGGING - 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`)' - values: - - - unit: index - type: int - - - tag: L - optional: true + **Automatic Probing** invalidates the mesh and continues automatic probing using the probe. + - 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`. + Deltabots can only probe within the area where `DELTA_PROBEABLE_RADIUS` and `DELTA_PRINTABLE_RADIUS` overlap. + - Unreachable points can be filled in later with the `P2` and `P3` phases. + - 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. + - The `X` and `Y` parameters prioritize where to try and measure points. If omitted, the current probe position is used. + - Use `T` (Topology) in this phase to report the probing results. + - `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. + - tag: 2 description: | - **Load** a mesh. If no index is given, load the previously-activated mesh. - The given mesh index will be used for subsequent Load and Store operations. - values: - - - unit: index - type: int - - - tag: P - optional: true - 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." - values: - - - tag: 0 - 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: 1 - description: | - **Automatic Probing** invalidates the mesh and continues automatic probing using the probe. - - 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`. - Deltabots can only probe within the area where `DELTA_PROBEABLE_RADIUS` and `DELTA_PRINTABLE_RADIUS` overlap. - - Unreachable points can be filled in later with the `P2` and `P3` phases. - - 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. - - The `X` and `Y` parameters prioritize where to try and measure points. If omitted, the current probe position is used. - - Use `T` (Topology) in this phase to report the probing results. - - `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. - - - tag: 2 - description: | - **Probe Areas** of the mesh that can't be automatically handled. - - 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.) - - 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. - - 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. - - The `T` (Map) parameter helps track mesh building progress. - - NOTE: `P2` requires an LCD controller! - - - tag: 3 - description: | - **Fill Unpopulated** regions of the mesh with a fixed value (`C`) or use 'smart fill' to extrapolate from already probed points (`no argument`). - - 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`. - - 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. - - - tag: 4 - description: | - **Fine Tune** the Mesh. Generally used in the form `G29 P4 Rnn Xxxx Yyyy`. - - 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). - - 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. - - `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. - - 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. - - The general form is `G29 P4 [R points] [X position] [Y position]`. - - 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. - - _USE WITH CAUTION, as a bad mesh can cause the nozzle to crash into the bed!_ - - - tag: 5 - description: | - **Find Mean** Mesh Height and Standard Deviation. - - 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]`. - - - tag: 6 - description: | - **Shift Mesh** height by the `C` value. - - 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. - - - tag: Q - optional: true - 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.' - values: - - - unit: index - type: int - - - tag: R - optional: true + **Probe Areas** of the mesh that can't be automatically handled. + - 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.) + - 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. + - 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. + - The `T` (Map) parameter helps track mesh building progress. + - NOTE: `P2` requires an LCD controller! + - tag: 3 description: | - Repeat count. (Default `GRID_MAX_POINTS_X * GRID_MAX_POINTS_Y`). - - `P3` Example: `G29 P3 R4 C0` will set the 4 points closest to the nozzle to `0`. - - `P4` Example: `G29 P4 R3 X80 Y80` will allow you to adjust the 3 points closest to X80 Y80. - - This parameter does not apply to Phase 1! `P1` will always attempt to probe the full grid. - values: - - - type: int - - - tag: S - optional: true + **Fill Unpopulated** regions of the mesh with a fixed value (`C`) or use 'smart fill' to extrapolate from already probed points (`no argument`). + - 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`. + - 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. + - tag: 4 description: | - **Save** the mesh to EEPROM in the given slot. - - If no slot number is given, save to the last-activated slot. - - Use `S-1` for G-code output that can be used to restore the mesh anytime. - - Note that this command also saves the current UBL state (enabled or disabled). - values: - - - tag: slot - type: int - - - tag: T - optional: true + **Fine Tune** the Mesh. Generally used in the form `G29 P4 Rnn Xxxx Yyyy`. + - 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). + - 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. + - `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. + - 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. + - The general form is `G29 P4 [R points] [X position] [Y position]`. + - 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. + - _USE WITH CAUTION, as a bad mesh can cause the nozzle to crash into the bed!_ + - tag: 5 description: | - **Topology**: Include a Topology Map in the output. - - This parameter can be used alone (`G29 T`) or in combination with most of the other commands. - - This option works with all Phase commands (_e.g.,_ `G29 P4 R 5 T X 50 Y100 C-0.1 O`) - - A map type can also be specified: - - `T0`: Human-readable (the default) - - `T1`: Delimited. Suitable to paste into a spreadsheet to obtain a 3D graph of the mesh. - values: - - - tag: 0 - - - tag: 1 - - - tag: U - optional: true + **Find Mean** Mesh Height and Standard Deviation. + - 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]`. + - tag: 6 description: | - **Unlevel**: Probe the outer perimeter to assist bed tramming. (Use with `G29 P1 O`) - - 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). - values: - - - type: flag - - - tag: V - optional: true - description: Verbosity Level (0-4) - values: - - - tag: 0 - - - tag: 1 - - - tag: 2 - - - tag: 3 - - - tag: 4 - - - tag: W - optional: true - requires: UBL_DEVEL_DEBUGGING - description: '**_What?_**: Display valuable UBL data. (Requires `UBL_DEVEL_DEBUGGING`)' - values: - - - type: flag - - - tag: X - optional: true - description: '**X position** for all phases and commands (Default: current X)' - values: - - - type: float - unit: linear - - - tag: Y - optional: true - description: '**Y position** for all phases and commands (Default: current Y)' - values: - - - type: float - unit: linear + **Shift Mesh** height by the `C` value. + - 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. + +- tag: Q + optional: true + 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.' + values: + - unit: index + type: int + +- tag: R + optional: true + description: | + Repeat count. (Default `GRID_MAX_POINTS_X * GRID_MAX_POINTS_Y`). + - `P3` Example: `G29 P3 R4 C0` will set the 4 points closest to the nozzle to `0`. + - `P4` Example: `G29 P4 R3 X80 Y80` will allow you to adjust the 3 points closest to X80 Y80. + - This parameter does not apply to Phase 1! `P1` will always attempt to probe the full grid. + values: + - type: int + +- tag: S + optional: true + description: | + **Save** the mesh to EEPROM in the given slot. + - If no slot number is given, save to the last-activated slot. + - Use `S-1` for G-code output that can be used to restore the mesh anytime. + - Note that this command also saves the current UBL state (enabled or disabled). + values: + - tag: slot + type: int + +- tag: T + optional: true + description: | + **Topology**: Include a Topology Map in the output. + - This parameter can be used alone (`G29 T`) or in combination with most of the other commands. + - This option works with all Phase commands (_e.g.,_ `G29 P4 R 5 T X 50 Y100 C-0.1 O`) + - A map type can also be specified: + - `T0`: Human-readable (the default) + - `T1`: Delimited. Suitable to paste into a spreadsheet to obtain a 3D graph of the mesh. + values: + - tag: 0 + - tag: 1 + +- tag: U + optional: true + description: | + **Unlevel**: Probe the outer perimeter to assist bed tramming. (Use with `G29 P1 O`) + - 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). + values: + - type: flag + +- tag: V + optional: true + description: Verbosity Level (0-4) + values: + - tag: 0 + - tag: 1 + - tag: 2 + - tag: 3 + - tag: 4 + +- tag: W + optional: true + requires: UBL_DEVEL_DEBUGGING + description: '**_What?_**: Display valuable UBL data. (Requires `UBL_DEVEL_DEBUGGING`)' + values: + - type: flag + +- tag: X + optional: true + description: '**X position** for all phases and commands (Default: current X)' + values: + - type: float + unit: linear + +- tag: Y + optional: true + description: '**Y position** for all phases and commands (Default: current Y)' + values: + - type: float + unit: linear examples: - - - pre: This is a minimal sequence for set-up and initial probing of a UBL mesh on a machine that includes a display and z-probe - code: | - G28 ; Home XYZ. - G29 P1 ; Do automated probing of the bed. - G29 P3 ; Smart Fill Repeat until all mesh points are filled in, Used to fill unreachable points. - G29 S0 ; Save UBL mesh points to slot 0 (EEPROM). - G29 F 10.0 ; Set Fade Height for correction at 10.0 mm. - G29 A ; Activate the UBL System. - M500 ; Save current setup. WARNING - UBL will be active at power up, before any G28. - - - pre: This is a minimal sequence for set-up and initial probing of a UBL mesh on a machine that includes a display and no z-probe - code: | - G28 ; Home XYZ. - G29 P4 R255 ; Do manual probing of the bed. - G29 S0 ; Save UBL mesh points to slot 0 (EEPROM). - G29 F 10.0 ; Set Fade Height for correction at 10.0 mm. - G29 A ; Activate the UBL System. - M500 ; Save current setup. WARNING - UBL will be active at power up, before any G28. - - - pre: Optional settings - code: | - M502 ; Load configuration defaults. - M500 ; Save configuration to EEPROM. M502 followed by M500 is suggested post flash to wipe the eeprom of invalid old settings. - - M190 S65 ; Heat Bed to 65C. Not required, but having the printer at temperature may help accuracy. - M104 S210 ; Heat Hotend to 210C. Not required, but having the printer at temperature may help accuracy. - - G29 T ; View the Z compensation values. - G29 P2 B T ; Manually probe unreachable points. Requires an LCD controller. - - - pre: Use [`G26`](/docs/gcode/G026.html) and `G29` commands to fine-tune a measured mesh - code: | - G26 C P T3.0 ; Produce mesh validation pattern with primed nozzle. G26 is optional; any bed leveling stl would also work. - ; NOTE - PLA temperatures are assumed unless you specify - e.g. - B 105 H 225 for ABS Plastic - G29 P4 T ; Move nozzle to 'bad' areas and fine tune the values if needed. - ; Repeat G26 and G29 P4 T commands as needed. - G29 S0 ; Save UBL mesh values to EEPROM. - M500 ; Resave UBL's state information. - - - pre: Tilt a stored mesh; e.g. in your startup script - code: | - G29 L0 ; Load the mesh stored in slot 0 (from G29 S0) - G29 J ; Probe 3 points and tilt the mesh according to what it finds, optionally G29 J2 would do 4 points. + +- pre: This is a minimal sequence for set-up and initial probing of a UBL mesh on a machine that includes a display and z-probe + code: | + G28 ; Home XYZ. + G29 P1 ; Do automated probing of the bed. + G29 P3 ; Smart Fill Repeat until all mesh points are filled in, Used to fill unreachable points. + G29 S0 ; Save UBL mesh points to slot 0 (EEPROM). + G29 F 10.0 ; Set Fade Height for correction at 10.0 mm. + G29 A ; Activate the UBL System. + M500 ; Save current setup. WARNING - UBL will be active at power up, before any G28. + +- pre: This is a minimal sequence for set-up and initial probing of a UBL mesh on a machine that includes a display and no z-probe + code: | + G28 ; Home XYZ. + G29 P4 R255 ; Do manual probing of the bed. + G29 S0 ; Save UBL mesh points to slot 0 (EEPROM). + G29 F 10.0 ; Set Fade Height for correction at 10.0 mm. + G29 A ; Activate the UBL System. + M500 ; Save current setup. WARNING - UBL will be active at power up, before any G28. +- + pre: Optional settings + code: | + M502 ; Load configuration defaults. + M500 ; Save configuration to EEPROM. M502 followed by M500 is suggested post flash to wipe the eeprom of invalid old settings. + + M190 S65 ; Heat Bed to 65C. Not required, but having the printer at temperature may help accuracy. + M104 S210 ; Heat Hotend to 210C. Not required, but having the printer at temperature may help accuracy. + + G29 T ; View the Z compensation values. + G29 P2 B T ; Manually probe unreachable points. Requires an LCD controller. + +- pre: Use [`G26`](/docs/gcode/G026.html) and `G29` commands to fine-tune a measured mesh + code: | + G26 C P T3.0 ; Produce mesh validation pattern with primed nozzle. G26 is optional; any bed leveling stl would also work. + ; NOTE - PLA temperatures are assumed unless you specify - e.g. - B 105 H 225 for ABS Plastic + G29 P4 T ; Move nozzle to 'bad' areas and fine tune the values if needed. + ; Repeat G26 and G29 P4 T commands as needed. + G29 S0 ; Save UBL mesh values to EEPROM. + M500 ; Resave UBL's state information. + +- pre: Tilt a stored mesh; e.g. in your startup script + code: | + G29 L0 ; Load the mesh stored in slot 0 (from G29 S0) + G29 J ; Probe 3 points and tilt the mesh according to what it finds, optionally G29 J2 would do 4 points. + --- The Unified Bed Leveling System (UBL) provides a comprehensive set of resources to produce the best bed leveling results possible. See the full [Unified Bed Leveling](/docs/features/unified_bed_leveling.html) documentation for more details. diff --git a/_gcode/G030.md b/_gcode/G030.md index 7c777e1e47..721fba8b24 100644 --- a/_gcode/G030.md +++ b/_gcode/G030.md @@ -11,41 +11,37 @@ group: calibration codes: [ G30 ] parameters: - - - tag: C - optional: true - description: Probe with temperature compensation enabled (`PTC_PROBE`, `PTC_BED`, `PTC_HOTEND`) - values: - - - type: bool - default: 1 - - - tag: X - optional: true - description: X probe position - values: - - - tag: pos - type: float - - - tag: Y - optional: true - description: Y probe position - values: - - - tag: pos - type: float - - - tag: E - optional: true - description: Engage the probe for each point - values: - - - type: bool - default: 0 + +- tag: C + optional: true + description: Probe with temperature compensation enabled (`PTC_PROBE`, `PTC_BED`, `PTC_HOTEND`) + values: + - type: bool + default: 1 + +- tag: X + optional: true + description: X probe position + values: + - tag: pos + type: float + +- tag: Y + optional: true + description: Y probe position + values: + - tag: pos + type: float + +- tag: E + optional: true + description: Engage the probe for each point + values: + - type: bool + default: 0 notes: - - Use `SERIAL_FLOAT_PRECISION` to set the number of decimal places in the output. +- Use `SERIAL_FLOAT_PRECISION` to set the number of decimal places in the output. --- diff --git a/_gcode/G031.md b/_gcode/G031.md index a1c8c120ca..679b920a35 100644 --- a/_gcode/G031.md +++ b/_gcode/G031.md @@ -8,15 +8,14 @@ since: 1.0.0-beta requires: Z_PROBE_SLED group: calibration -related: G32 +related: [ G32 ] codes: [ G31 ] notes: Requires `Z_PROBE_SLED`. example: - - - pre: Dock the sled - code: G31 +- pre: Dock the sled + code: G31 --- diff --git a/_gcode/G032.md b/_gcode/G032.md index 7674f0ef2a..f3075c41fb 100644 --- a/_gcode/G032.md +++ b/_gcode/G032.md @@ -8,15 +8,14 @@ since: 1.0.0-beta requires: Z_PROBE_SLED group: calibration -related: G31 +related: [ G31 ] codes: [ G32 ] notes: -examples: - - - pre: Undock the sled - code: G32 +example: +- pre: Undock the sled + code: G32 --- diff --git a/_gcode/G033.md b/_gcode/G033.md index 981ae84cc4..64c9c73ffb 100644 --- a/_gcode/G033.md +++ b/_gcode/G033.md @@ -12,174 +12,165 @@ group: [ calibration, delta ] codes: [ G33 ] parameters: - - - tag: C - optional: true - description: If omitted iterations stop at best achievable precision. If set iterations will stop at the set precision. - values: - - type: float - - - tag: E - optional: true - description: Engage the probe for each point. - values: - - type: bool - - - tag: F - optional: true - description: Run ("force") this number of iterations and take the best result. - values: - - type: int - tag: 1-30 - - - tag: P - optional: true - description: Number of probe points. If not specified, uses DELTA_CALIBRATION_DEFAULT_POINTS - values: - - type: int - - - tag: 0 - description: Normalize end-stops and tower angle corrections only (no probing). - - - tag: 1 - description: Probe center and set height only. - - - tag: 2 - description: Probe center and towers. Set height, endstops, and delta radius. - - - tag: 3 - description: Probe all positions - center, towers and opposite towers. Set all. - - - tag: 4-10 - description: Probe all positions with intermediate locations, averaging them. - - - tag: T - optional: true - description: Disable tower angle corrections calibration (`P3`-`P7`) - values: - - type: bool - - - tag: V - optional: true - description: Set the verbose level - values: - - type: int - - - tag: 0 - description: Dry run, no calibration - - - tag: 1 - description: Report settings - - - tag: 2 - description: Report settings and probe results - - - tag: 3 - description: Report settings, probe results, and calibration results - - - default: 1 - - - tag: O - optional: true - since: 2.0.9.2 - description: Probe at probe-offset-relative positions instead of the required kinematic points. - values: - - type: bool - - - tag: R - optional: true - since: 2.0.9.2 - description: Temporarily reduce the size of the probe grid by the specified amount. - values: - - type: float + +- tag: C + optional: true + description: If omitted iterations stop at best achievable precision. If set iterations will stop at the set precision. + values: + - type: float + +- tag: E + optional: true + description: Engage the probe for each point. + values: + - type: bool + +- tag: F + optional: true + description: Run ("force") this number of iterations and take the best result. + values: + - type: int + tag: 1-30 + +- tag: P + optional: true + description: Number of probe points. If not specified, uses DELTA_CALIBRATION_DEFAULT_POINTS + values: + - type: int + - tag: 0 + description: Normalize end-stops and tower angle corrections only (no probing). + - tag: 1 + description: Probe center and set height only. + - tag: 2 + description: Probe center and towers. Set height, endstops, and delta radius. + - tag: 3 + description: Probe all positions - center, towers and opposite towers. Set all. + - tag: 4-10 + description: Probe all positions with intermediate locations, averaging them. + +- tag: T + optional: true + description: Disable tower angle corrections calibration (`P3`-`P7`) + values: + - type: bool + +- tag: V + optional: true + description: Set the verbose level + values: + - type: int + - tag: 0 + description: Dry run, no calibration + - tag: 1 + description: Report settings + - tag: 2 + description: Report settings and probe results + - tag: 3 + description: Report settings, probe results, and calibration results + - default: 1 + +- tag: O + optional: true + since: 2.0.9.2 + description: Probe at probe-offset-relative positions instead of the required kinematic points. + values: + - type: bool + +- tag: R + optional: true + since: 2.0.9.2 + description: Temporarily reduce the size of the probe grid by the specified amount. + values: + - type: float notes: examples: - - - pre: Default (Verbose 1) - code: | - G33 - - > G33 Auto Calibrate - > Checking... AC - > .Height:295.00 Ex:+0.00 Ey:+0.00 Ez:+0.00 Radius:100.00 - > .Tower angle : Tx:+0.00 Ty:+0.00 Tz:+0.00 - > Iteration : 01 std dev:2.665 - > .Height:297.85 Ex:-0.18 Ey:-0.13 Ez:+0.00 Radius:100.68 - > .Tower angle : Tx:-0.05 Ty:+0.08 Tz:+0.00 - > Iteration : 02 std dev:0.128 - > .Height:297.77 Ex:-0.19 Ey:-0.09 Ez:+0.00 Radius:100.80 - > .Tower angle : Tx:-0.07 Ty:+0.15 Tz:+0.00 - > Iteration : 03 std dev:0.025 - > .Height:297.78 Ex:-0.17 Ey:-0.09 Ez:+0.00 Radius:100.78 - > .Tower angle : Tx:-0.09 Ty:+0.20 Tz:+0.00 - > Iteration : 04 std dev:0.022 - > .Height:297.80 Ex:-0.14 Ey:-0.07 Ez:+0.00 Radius:100.79 - > .Tower angle : Tx:-0.10 Ty:+0.22 Tz:+0.00 - > Iteration : 05 std dev:0.019 - > .Height:297.81 Ex:-0.13 Ey:-0.06 Ez:+0.00 Radius:100.80 - > .Tower angle : Tx:-0.10 Ty:+0.25 Tz:+0.00 - > Calibration OK rolling back. - > .Height:297.80 Ex:-0.14 Ey:-0.07 Ez:+0.00 Radius:100.79 - > .Tower angle : Tx:-0.10 Ty:+0.22 Tz:+0.00 - > Save with M500 and/or copy to Configuration.h - - - pre: Verbose 2 - code: | - G33 V2 - - > G33 Auto Calibrate - > Checking... AC - > .Height:297.80 Ex:-0.14 Ey:-0.07 Ez:+0.00 Radius:100.79 - > .Tower angle : Tx:-0.10 Ty:+0.22 Tz:+0.00 - > . c:+0.01 x:+0.06 y:+0.04 z:+0.01 - > . yz:-0.02 zx:-0.01 xy:+0.01 - > Iteration : 01 std dev:0.028 - > .Height:297.81 Ex:-0.10 Ey:-0.04 Ez:+0.00 Radius:100.81 - > .Tower angle : Tx:-0.10 Ty:+0.24 Tz:+0.00 - > . c:-0.03 x:-0.01 y:-0.02 z:-0.03 - > . yz:-0.05 zx:-0.05 xy:-0.06 - > Calibration OK rolling back. - > .Height:297.80 Ex:-0.14 Ey:-0.07 Ez:+0.00 Radius:100.79 - > .Tower angle : Tx:-0.10 Ty:+0.22 Tz:+0.00 - > Save with M500 and/or copy to Configuration.h - - - pre: Using `V0` for Dry Run with no calibration. - code: | - G33 V0 - - > G33 Auto Calibrate - > Checking... AC (DRY-RUN) - > .Height:295.00 Ex:+0.00 Ey:+0.00 Ez:+0.00 Radius:100.00 - > .Tower angle : Tx:+0.00 Ty:+0.00 Tz:+0.00 - > . c:-2.86 x:-2.68 y:-2.62 z:-2.56 - > . yz:-2.55 zx:-2.61 xy:-2.78 - > End DRY-RUN std dev:2.668 - - - pre: Using the `T` flag for no tower angles. - code: | - G33 T - - > G33 Auto Calibrate - > Checking... AC - > .Height:297.79 Ex:-0.13 Ey:-0.06 Ez:+0.00 Radius:100.83 - > Iteration : 01 std dev:0.024 - > .Height:297.82 Ex:-0.09 Ey:-0.05 Ez:+0.00 Radius:100.82 - > Calibration OK rolling back. - > .Height:297.79 Ex:-0.13 Ey:-0.06 Ez:+0.00 Radius:100.83 - > Save with M500 and/or copy to Configuration.h - - - pre: Use a single point (`P1`) to check the height. - code: | - G33 P1 - - > G33 Auto Calibrate - > Checking... AC - > .Height:297.79 - > Calibration OK - > .Height:297.80 - > Save with M500 and/or copy to Configuration.h + +- pre: Default (Verbose 1) + code: | + G33 + + > G33 Auto Calibrate + > Checking... AC + > .Height:295.00 Ex:+0.00 Ey:+0.00 Ez:+0.00 Radius:100.00 + > .Tower angle : Tx:+0.00 Ty:+0.00 Tz:+0.00 + > Iteration : 01 std dev:2.665 + > .Height:297.85 Ex:-0.18 Ey:-0.13 Ez:+0.00 Radius:100.68 + > .Tower angle : Tx:-0.05 Ty:+0.08 Tz:+0.00 + > Iteration : 02 std dev:0.128 + > .Height:297.77 Ex:-0.19 Ey:-0.09 Ez:+0.00 Radius:100.80 + > .Tower angle : Tx:-0.07 Ty:+0.15 Tz:+0.00 + > Iteration : 03 std dev:0.025 + > .Height:297.78 Ex:-0.17 Ey:-0.09 Ez:+0.00 Radius:100.78 + > .Tower angle : Tx:-0.09 Ty:+0.20 Tz:+0.00 + > Iteration : 04 std dev:0.022 + > .Height:297.80 Ex:-0.14 Ey:-0.07 Ez:+0.00 Radius:100.79 + > .Tower angle : Tx:-0.10 Ty:+0.22 Tz:+0.00 + > Iteration : 05 std dev:0.019 + > .Height:297.81 Ex:-0.13 Ey:-0.06 Ez:+0.00 Radius:100.80 + > .Tower angle : Tx:-0.10 Ty:+0.25 Tz:+0.00 + > Calibration OK rolling back. + > .Height:297.80 Ex:-0.14 Ey:-0.07 Ez:+0.00 Radius:100.79 + > .Tower angle : Tx:-0.10 Ty:+0.22 Tz:+0.00 + > Save with M500 and/or copy to Configuration.h + +- pre: Verbose 2 + code: | + G33 V2 + + > G33 Auto Calibrate + > Checking... AC + > .Height:297.80 Ex:-0.14 Ey:-0.07 Ez:+0.00 Radius:100.79 + > .Tower angle : Tx:-0.10 Ty:+0.22 Tz:+0.00 + > . c:+0.01 x:+0.06 y:+0.04 z:+0.01 + > . yz:-0.02 zx:-0.01 xy:+0.01 + > Iteration : 01 std dev:0.028 + > .Height:297.81 Ex:-0.10 Ey:-0.04 Ez:+0.00 Radius:100.81 + > .Tower angle : Tx:-0.10 Ty:+0.24 Tz:+0.00 + > . c:-0.03 x:-0.01 y:-0.02 z:-0.03 + > . yz:-0.05 zx:-0.05 xy:-0.06 + > Calibration OK rolling back. + > .Height:297.80 Ex:-0.14 Ey:-0.07 Ez:+0.00 Radius:100.79 + > .Tower angle : Tx:-0.10 Ty:+0.22 Tz:+0.00 + > Save with M500 and/or copy to Configuration.h + +- pre: Using `V0` for Dry Run with no calibration. + code: | + G33 V0 + + > G33 Auto Calibrate + > Checking... AC (DRY-RUN) + > .Height:295.00 Ex:+0.00 Ey:+0.00 Ez:+0.00 Radius:100.00 + > .Tower angle : Tx:+0.00 Ty:+0.00 Tz:+0.00 + > . c:-2.86 x:-2.68 y:-2.62 z:-2.56 + > . yz:-2.55 zx:-2.61 xy:-2.78 + > End DRY-RUN std dev:2.668 + +- pre: Using the `T` flag for no tower angles. + code: | + G33 T + + > G33 Auto Calibrate + > Checking... AC + > .Height:297.79 Ex:-0.13 Ey:-0.06 Ez:+0.00 Radius:100.83 + > Iteration : 01 std dev:0.024 + > .Height:297.82 Ex:-0.09 Ey:-0.05 Ez:+0.00 Radius:100.82 + > Calibration OK rolling back. + > .Height:297.79 Ex:-0.13 Ey:-0.06 Ez:+0.00 Radius:100.83 + > Save with M500 and/or copy to Configuration.h + +- pre: Use a single point (`P1`) to check the height. + code: | + G33 P1 + + > G33 Auto Calibrate + > Checking... AC + > .Height:297.79 + > Calibration OK + > .Height:297.80 + > Save with M500 and/or copy to Configuration.h + --- With the `G33` command you can: diff --git a/_gcode/G034-mgc.md b/_gcode/G034-mgc.md index af2ec5e981..041ae5b79a 100644 --- a/_gcode/G034-mgc.md +++ b/_gcode/G034-mgc.md @@ -11,35 +11,29 @@ group: calibration codes: [ G34 ] related: [ M422, M906, M907, M915 ] -notes: - - Requires `MECHANICAL_GANTRY_CALIBRATION`. - parameters: - - - tag: S - optional: true - description: "Current value to use for the raise move. (Default: `GANTRY_CALIBRATION_CURRENT`)" - values: - - - unit: mA - type: int - - - tag: Z - optional: true - description: "Extra distance past `Z_MAX_POS` to move the Z axis. (Default: `GANTRY_CALIBRATION_EXTRA_HEIGHT`)" - values: - - - unit: linear - type: float + +- tag: S + optional: true + description: "Current value to use for the raise move. (Default: `GANTRY_CALIBRATION_CURRENT`)" + values: + - unit: mA + type: int + +- tag: Z + optional: true + description: "Extra distance past `Z_MAX_POS` to move the Z axis. (Default: `GANTRY_CALIBRATION_EXTRA_HEIGHT`)" + values: + - unit: linear + type: float videos: - - 3jAFQdTk8iw +- 3jAFQdTk8iw example: - - - pre: 'Mechanical gantry calibration:' - code: - - G34 +- pre: 'Mechanical gantry calibration:' + code: G34 + --- This command is used to align the ends of the X gantry. See the [video demonstration](//youtu.be/3jAFQdTk8iw?t=684) below. diff --git a/_gcode/G034-zsaa.md b/_gcode/G034-zsaa.md index 98455c4ad0..00f6a11c09 100644 --- a/_gcode/G034-zsaa.md +++ b/_gcode/G034-zsaa.md @@ -11,35 +11,31 @@ group: calibration codes: [ G34 ] related: [ M422, M906, M907 ] -notes: - - Requires `Z_STEPPER_AUTO_ALIGN`. - parameters: - - - tag: I - optional: true - description: Iterations - must be between 1 - 30 - - - tag: T - optional: true - description: Target accuracy - must be between 0.01 - 1.0 - - - tag: A - optional: true - description: Amplification - must be between 0.5 - 2.0 - - - tag: E - optional: true - description: Stow probe after probing each point. + +- tag: I + optional: true + description: Iterations - must be between 1 - 30 + +- tag: T + optional: true + description: Target accuracy - must be between 0.01 - 1.0 + +- tag: A + optional: true + description: Amplification - must be between 0.5 - 2.0 + +- tag: E + optional: true + description: Stow probe after probing each point. videos: - - 6UgT9YqY3UA +- 6UgT9YqY3UA example: - - - pre: 'Align Z steppers:' - code: - - G34 +- pre: 'Align Z steppers:' + code: G34 + --- Align multiple Z stepper motors using a bed probe by probing one position per stepper. See [`M422`](/docs/gcode/M422.html) for Z-Stepper automatic alignment parameter selection. diff --git a/_gcode/G035.md b/_gcode/G035.md index 2159c91cf4..fb4021286c 100644 --- a/_gcode/G035.md +++ b/_gcode/G035.md @@ -8,40 +8,32 @@ requires: ASSISTED_TRAMMING group: calibration codes: [ G35 ] - -notes: - - Requires `ASSISTED_TRAMMING`. +related: [ G26, G29 ] parameters: - - - tag: S - optional: true - description: Screw thread type - values: - - - tag: 30 - description: M3 clockwise - - - tag: 31 - description: M3 counter-clockwise - - - tag: 40 - description: M4 clockwise - - - tag: 41 - description: M4 counter-clockwise - - - tag: 50 - description: M5 clockwise - - - tag: 51 - description: M5 counter-clockwise + +- tag: S + optional: true + description: Screw thread type + values: + - tag: 30 + description: M3 clockwise + - tag: 31 + description: M3 counter-clockwise + - tag: 40 + description: M4 clockwise + - tag: 41 + description: M4 counter-clockwise + - tag: 50 + description: M5 clockwise + - tag: 51 + description: M5 counter-clockwise example: - - - pre: 'Tram a bed with M4 clockwise screws' - code: - - G35 S40 + +- pre: 'Tram a bed with M4 clockwise screws' + code: G35 S40 + --- This command runs an interactive procedure to help you adjust the bed corners so that the bed is as true to the machine frame as possible. This is an important step in calibrating your printer and getting the best first layer results. diff --git a/_gcode/G038.md b/_gcode/G038.md index e6f6105302..22e9e2ee50 100644 --- a/_gcode/G038.md +++ b/_gcode/G038.md @@ -11,42 +11,39 @@ group: calibration codes: [ G38.2, G38.3, G38.4, G38.5 ] notes: - - These commands require `G38_PROBE_TARGET` and a defined probe. - - '`G38.4` and `G38.5` are only available with the `G38_PROBE_AWAY` option.' +- These commands require `G38_PROBE_TARGET` and a defined probe. +- '`G38.4` and `G38.5` are only available with the `G38_PROBE_AWAY` option.' parameters: - - - tag: X - optional: true - description: Target X - values: - - - tag: pos - type: float - - - tag: Y - optional: true - description: Target Y - values: - - - tag: pos - type: float - - - tag: Z - optional: true - description: Target Z - values: - - - tag: pos - type: float - - - tag: F - optional: true - description: Feedrate for the move - values: - - - tag: rate - type: float + +- tag: X + optional: true + description: Target X + values: + - tag: pos + type: float + +- tag: Y + optional: true + description: Target Y + values: + - tag: pos + type: float + +- tag: Z + optional: true + description: Target Z + values: + - tag: pos + type: float + +- tag: F + optional: true + description: Feedrate for the move + values: + - tag: rate + type: float + --- The Probe Target commands are used to probe towards (or away from) a workpiece to determine its precise position. You might, for example, use a grounded metal workpiece, with a metal probe spliced into the bed probe circuit. diff --git a/_gcode/G042.md b/_gcode/G042.md index e2301e52ce..b5442629bb 100644 --- a/_gcode/G042.md +++ b/_gcode/G042.md @@ -11,39 +11,36 @@ group: calibration codes: [ G42 ] parameters: - - - tag: I - optional: true - description: The column of the mesh coordinate - values: - - - tag: pos - type: float - - - tag: J - optional: true - description: The row of the mesh coordinate - values: - - - tag: pos - type: float - - - tag: F - optional: true - 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. - values: - - - tag: rate - type: float + +- tag: I + optional: true + description: The column of the mesh coordinate + values: + - tag: pos + type: float + +- tag: J + optional: true + description: The row of the mesh coordinate + values: + - tag: pos + type: float + +- tag: F + optional: true + 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. + values: + - tag: rate + type: float examples: - - - pre: Move to various points on a 9x9 mesh - code: - - G42 I0 J0 ; front left corner - - G42 I4 J4 ; center - - G42 I4 J8 ; back center - - G42 I8 J8 ; back right + +- pre: Move to various points on a 9x9 mesh + code: + - G42 I0 J0 ; front left corner + - G42 I4 J4 ; center + - G42 I4 J8 ; back center + - G42 I8 J8 ; back right --- diff --git a/_gcode/G053.md b/_gcode/G053.md index 924fddef95..1a70907601 100644 --- a/_gcode/G053.md +++ b/_gcode/G053.md @@ -11,18 +11,18 @@ group: geometry codes: [ G53 ] notes: - - Requires `CNC_COORDINATE_SYSTEMS`. examples: - - - pre: Rapid linear move to the machine origin in native space - code: G53 G0 X0 Y0 Z0 - - - pre: Rapid linear move to absolute coordinate X20 in native space - code: G53 G1 X20 - - - pre: Use native space - code: G53 + +- pre: Rapid linear move to the machine origin in native space + code: G53 G0 X0 Y0 Z0 + +- pre: Rapid linear move to absolute coordinate X20 in native space + code: G53 G1 X20 + +- pre: Use native space + code: G53 + --- `G53` applies native workspace to the current move. See [`G54-G59.3`](/docs/gcode/G054-G059.html) for workspace coordinate system. diff --git a/_gcode/G054-G059.md b/_gcode/G054-G059.md index 9991aedb44..be6fbe2054 100644 --- a/_gcode/G054-G059.md +++ b/_gcode/G054-G059.md @@ -9,17 +9,16 @@ experimental: true group: geometry codes: [ G54, G55, G56, G57, G58, G59, G59.1, G59.2, G59.3 ] -related: G92 +related: [ G92 ] notes: - - Requires `CNC_COORDINATE_SYSTEMS`. example: - - - pre: 'Use coordinate system 2 and rapid move to workspace offset origin:' - code: - - G55 ; Select workspace 1 - - G0 X0 Y0 X0 +- pre: 'Use coordinate system 2 and rapid move to workspace offset origin:' + code: + - G55 ; Select workspace 1 + - G0 X0 Y0 X0 + --- A workspace is an XYZ offset to the native machine space. All workspaces default to 0,0,0 at start, or with EEPROM support they may be restored from a previous session. See [`G53`](/docs/gcode/G053.html) for native space. diff --git a/_gcode/G060.md b/_gcode/G060.md index 91157edfc2..0c9cd6d971 100644 --- a/_gcode/G060.md +++ b/_gcode/G060.md @@ -10,24 +10,21 @@ related: [ G61 ] group: coordinates parameters: - - - tag: S - optional: true - description: Memory slot. If omitted, the first slot (0) is used. - values: - - - tag: slot - type: int +- tag: S + optional: true + description: Memory slot. If omitted, the first slot (0) is used. + values: + - tag: slot + type: int -notes: | - - The total number of slots is configured with the `SAVED_POSITIONS` option. - - All slots are initially set to 0, 0, 0. +notes: +- The total number of slots is configured with the `SAVED_POSITIONS` option. +- All slots are initially set to 0, 0, 0. example: - - - pre: Save current position to slot 0 - code: - - G60 S0 +- pre: Save current position to slot 0 + code: G60 S0 + --- Save the current position of all axes in an SRAM buffer for later recall with [`G61`](/docs/gcode/G061.html). diff --git a/_gcode/G061.md b/_gcode/G061.md index 603c9b016f..aef1a76ba5 100644 --- a/_gcode/G061.md +++ b/_gcode/G061.md @@ -4,62 +4,56 @@ title: Return to Saved Position brief: Return to saved position of specified slot author: shitcreek contrib: Hans007a, thinkyhead -codes: [ G61 ] -related: [ G60 ] group: coordinates +codes: [ G61 ] +related: [ G60 ] + parameters: - - - tag: F - optional: true - description: Move feedrate - values: - - - tag: rate - type: float - - - tag: S - optional: true - description: Memory slot (0 if omitted) - values: - - - tag: slot - type: int - - - tag: X - optional: true - description: Flag to restore the X axis - values: - - - type: flag - - - tag: Y - optional: true - description: Flag to restore the Y axis - values: - - - type: flag - - - tag: Z - optional: true - description: Flag to restore the Z axis - values: - - - type: flag - - - tag: E - optional: true - description: Flag to restore the E axis - values: - - - type: flag + +- tag: F + optional: true + description: Move feedrate + values: + - tag: rate + type: float + +- tag: S + optional: true + description: Memory slot (0 if omitted) + values: + - tag: slot + type: int + +- tag: X + optional: true + description: Flag to restore the X axis + values: + - type: flag + +- tag: Y + optional: true + description: Flag to restore the Y axis + values: + - type: flag + +- tag: Z + optional: true + description: Flag to restore the Z axis + values: + - type: flag + +- tag: E + optional: true + description: Flag to restore the E axis + values: + - type: flag example: - - - pre: Move to the XY coordinates stored in slot 0 - code: - - G61 XY S0 +- pre: Move to the XY coordinates stored in slot 0 + code: G61 XY S0 + --- Use this command to move to a saved position. To limit the move to only some axes, include one or more axis letters. Otherwise all axes will be included. diff --git a/_gcode/G076.md b/_gcode/G076.md index 65d06ffb81..15dcdc02e5 100644 --- a/_gcode/G076.md +++ b/_gcode/G076.md @@ -13,26 +13,26 @@ experimental: true group: calibration notes: - - Requires `PTC_PROBE` and `PTC_BED`. - - This process can take a very long time. The timeout is currently set to 15min to allow the parts to fully heat up and cool down. - - Use [`M500`](/docs/gcode/M500.html) to save the result to EEPROM. +- Requires `PTC_PROBE` and `PTC_BED`. +- This process can take a very long time. The timeout is currently set to 15min to allow the parts to fully heat up and cool down. +- Use [`M500`](/docs/gcode/M500.html) to save the result to EEPROM. parameters: - - - tag: B - optional: true - description: Calibrate bed only - - - tag: P - optional: true - description: Calibrate probe only + +- tag: B + optional: true + description: Calibrate bed only + +- tag: P + optional: true + description: Calibrate probe only example: - - - code: - - G76 ; calibrate bed, then probe - - G76 B ; calibrate bed only - - G76 P ; calibrate probe only +- code: + - G76 ; calibrate bed, then probe + - G76 B ; calibrate bed only + - G76 P ; calibrate probe only + --- Calibrate temperature compensation offsets for bed and/or probe temperatures. Temperature compensation values are added to probe measurements when running [`G29`](/docs/gcode/G029.html) mesh bed leveling. Currently, calibration only heats up the bed, not the hotend. The probe is heated up by bringing it close to the heated bed and cooled down by moving it away. diff --git a/_gcode/G080.md b/_gcode/G080.md index 14d4ec92ba..e7c355aced 100644 --- a/_gcode/G080.md +++ b/_gcode/G080.md @@ -9,17 +9,14 @@ group: motion codes: [ G80 ] -notes: - - Requires `GCODE_MOTION_MODES`. - example: - - - pre: 'Cancel motion mode G1' - code: - - G0 ; sets motion mode to G0 - - X10 Y10 ; moves to X10 Y10 in motion mode G0 - - G80 ; cancels the current motion mode - - X20 Y20 ; returns unknown command +- pre: 'Cancel motion mode G1' + code: + - G0 ; sets motion mode to G0 + - X10 Y10 ; moves to X10 Y10 in motion mode G0 + - G80 ; cancels the current motion mode + - X20 Y20 ; returns unknown command + --- Cancels the current motion mode (G0 G1 G2 G3 G5 G38.X). With `GCODE_MOTION_MODES` enabled, Marlin will remember the last used motion mode which can then be canceled with `G80`. diff --git a/_gcode/G090.md b/_gcode/G090.md index 9c38f154ba..5964d34342 100644 --- a/_gcode/G090.md +++ b/_gcode/G090.md @@ -8,15 +8,13 @@ since: 1.0.0-beta group: units codes: [ G90 ] +related: [ G91 ] -notes: - - Absolute positioning is the default. +notes: Absolute positioning is the default. example: - - - pre: Enable absolute mode - code: - - G90 ; Set all axes to absolute +- pre: Enable absolute mode + code: G90 ; Set all axes to absolute --- diff --git a/_gcode/G091.md b/_gcode/G091.md index 650d93afb7..c35f56209a 100644 --- a/_gcode/G091.md +++ b/_gcode/G091.md @@ -8,12 +8,11 @@ since: 1.0.0-beta group: units codes: [ G91 ] +related: [ G90 ] example: - - - pre: Enable relative mode - code: - - G91 ; Set all axes to relative +- pre: Enable relative mode + code: G91 ; Set all axes to relative --- diff --git a/_gcode/G092.md b/_gcode/G092.md index e0b7b62c43..dfaa0b170c 100644 --- a/_gcode/G092.md +++ b/_gcode/G092.md @@ -11,58 +11,48 @@ group: motion codes: [ G92 ] notes: - - In earlier versions of Marlin `G92` doesn't update the software endstops, so it was unsupported to set coordinates outside these boundaries. In Marlin 1.1.0 and up, the physical boundaries are maintained. This means you can no longer use `G92` to move below the bed, for example. +- In earlier versions of Marlin `G92` doesn't update the software endstops, so it was unsupported to set coordinates outside these boundaries. In Marlin 1.1.0 and up, the physical boundaries are maintained. This means you can no longer use `G92` to move below the bed, for example. parameters: - - - tag: X - optional: true - description: New X axis position - values: - - - tag: pos - type: float - - - tag: Y - optional: true - description: New Y axis position - values: - - - tag: pos - type: float - - - tag: Z - optional: true - description: New Z axis position - values: - - - tag: pos - type: float - - - tag: E - optional: true - description: New extruder position - values: - - - tag: pos - type: float + +- tag: X + optional: true + description: New X axis position + values: + - tag: pos + type: float + +- tag: Y + optional: true + description: New Y axis position + values: + - tag: pos + type: float + +- tag: Z + optional: true + description: New Z axis position + values: + - tag: pos + type: float + +- tag: E + optional: true + description: New extruder position + values: + - tag: pos + type: float examples: - - - pre: - - Specify that the nozzle's current X position is 10 and the current extruder position is 90. - code: - - G92 X10 E90 - - - pre: - - Specify that the nozzle's current XYZ position is 0, 0, 0. - code: - - G92 X0 Y0 Z0 - - - pre: - - Resets selected workspace is 0, 0, 0. - code: - - G92.1 + +- pre: Specify that the nozzle's current X position is 10 and the current extruder position is 90. + code: G92 X10 E90 + +- pre: Specify that the nozzle's current XYZ position is 0, 0, 0. + code: G92 X0 Y0 Z0 + +- pre: Resets selected workspace is 0, 0, 0. + code: G92.1 --- diff --git a/_gcode/G425.md b/_gcode/G425.md index f35ff97191..d461d48f84 100644 --- a/_gcode/G425.md +++ b/_gcode/G425.md @@ -9,64 +9,62 @@ requires: CALIBRATION_GCODE group: calibration codes: [ G425 ] +related: [ M425 ] -notes: - - | - Requires `CALIBRATION_GCODE` and the following parameters: - - `CALIBRATION_MEASUREMENT_RESOLUTION` determines the increments taken in mm when performing measurements. - - `CALIBRATION_FEEDRATE_SLOW`, `CALIBRATION_FEEDRATE_FAST` and `CALIBRATION_FEEDRATE_TRAVEL` determine the speed of motion during the calibration. - - `CALIBRATION_NOZZLE_TIP_HEIGHT` and `CALIBRATION_NOZZLE_OUTER_DIAMETER` refer to the conical part of the nozzle tip. - - `CALIBRATION_REPORTING` enables `G425 V` for reporting of measurements. - - `CALIBRATION_OBJECT_CENTER` and `CALIBRATION_OBJECT_DIMENSIONS` define the true location and dimensions of a cube/bolt/washer mounted on the bed. - - `CALIBRATION_MEASURE_RIGHT`, `CALIBRATION_MEASURE_FRONT`, `CALIBRATION_MEASURE_LEFT` and `CALIBRATION_MEASURE_BACK` define the usable touch points. Comment out any sides which are unreachable by the probe. For best results, all four sides should be reachable. - - `CALIBRATION_PIN`, `CALIBRATION_PIN_INVERTING`, `CALIBRATION_PIN_PULLDOWN` and `CALIBRATION_PIN_PULLUP` configure the pin used for calibration. For example, if the nozzle is grounded, the calibation cube would be connected to a digital input pin with a pull-up enabled. +notes: | + Requires `CALIBRATION_GCODE` and the following parameters: + - `CALIBRATION_MEASUREMENT_RESOLUTION` determines the increments taken in mm when performing measurements. + - `CALIBRATION_FEEDRATE_SLOW`, `CALIBRATION_FEEDRATE_FAST` and `CALIBRATION_FEEDRATE_TRAVEL` determine the speed of motion during the calibration. + - `CALIBRATION_NOZZLE_TIP_HEIGHT` and `CALIBRATION_NOZZLE_OUTER_DIAMETER` refer to the conical part of the nozzle tip. + - `CALIBRATION_REPORTING` enables `G425 V` for reporting of measurements. + - `CALIBRATION_OBJECT_CENTER` and `CALIBRATION_OBJECT_DIMENSIONS` define the true location and dimensions of a cube/bolt/washer mounted on the bed. + - `CALIBRATION_MEASURE_RIGHT`, `CALIBRATION_MEASURE_FRONT`, `CALIBRATION_MEASURE_LEFT` and `CALIBRATION_MEASURE_BACK` define the usable touch points. Comment out any sides which are unreachable by the probe. For best results, all four sides should be reachable. + - `CALIBRATION_PIN`, `CALIBRATION_PIN_INVERTING`, `CALIBRATION_PIN_PULLDOWN` and `CALIBRATION_PIN_PULLUP` configure the pin used for calibration. For example, if the nozzle is grounded, the calibation cube would be connected to a digital input pin with a pull-up enabled. parameters: - - - tag: B - optional: true - description: Perform calibration of backlash only. - - - tag: T - optional: true - description: Perform calibration of one toolhead only. - values: - - - tag: index - type: int - - - tag: V - optional: true - description: Probe cube and print position, error, backlash and hotend offset. (Requires `CALIBRATION_REPORTING`) - - - tag: U - optional: true - description: 'Uncertainty: how far to start probe away from the cube (mm)' - values: - - - tag: linear - type: float + +- tag: B + optional: true + description: Perform calibration of backlash only. + +- tag: T + optional: true + description: Perform calibration of one toolhead only. + values: + - tag: index + type: int + +- tag: V + optional: true + description: Probe cube and print position, error, backlash and hotend offset. (Requires `CALIBRATION_REPORTING`) + +- tag: U + optional: true + description: 'Uncertainty: how far to start probe away from the cube (mm)' + values: + - tag: linear + type: float examples: - - - pre: 'Check positional accuracy before calibration (Requires `CALIBRATION_REPORTING`):' - code: - - T1 ; Switch to second nozzle - - G425 V ; Showing positional report for T1 - - T0 ; Switch to first nozzle - - G425 V ; Showing positional report for T0 - - - pre: 'Perform automatic calibration:' - code: - - G425 ; Perform full calibration sequence - - M425 F1 S0 ; Enable backlash compensation at 100% - - - pre: 'Check positional accuracy after calibration (Requires `CALIBRATION_REPORTING`):' - code: - - T1 ; Switch to second nozzle - - G425 V ; Validate by showing report for T1 - - T0 ; Switch to first nozzle - - G425 V ; Validate by showing report for T0 + +- pre: 'Check positional accuracy before calibration (Requires `CALIBRATION_REPORTING`):' + code: + - T1 ; Switch to second nozzle + - G425 V ; Showing positional report for T1 + - T0 ; Switch to first nozzle + - G425 V ; Showing positional report for T0 + +- pre: 'Perform automatic calibration:' + code: + - G425 ; Perform full calibration sequence + - M425 F1 S0 ; Enable backlash compensation at 100% + +- pre: 'Check positional accuracy after calibration (Requires `CALIBRATION_REPORTING`):' + code: + - T1 ; Switch to second nozzle + - G425 V ; Validate by showing report for T1 + - T0 ; Switch to first nozzle + - G425 V ; Validate by showing report for T0 --- diff --git a/_gcode/M000-M001.md b/_gcode/M000-M001.md index 97f2dcdb28..815512a194 100644 --- a/_gcode/M000-M001.md +++ b/_gcode/M000-M001.md @@ -10,44 +10,37 @@ group: motion codes: [ M0, M1 ] notes: - - If both `S` and `P` are included, `S` takes precedence. - - Without an LCD controller or `EMERGENCY_PARSER` this command is ignored. - - With `EMERGENCY_PARSER` enabled the [`M108`](/docs/gcode/M108.html) command can be used to continue. +- If both `S` and `P` are included, `S` takes precedence. +- Without an LCD controller or `EMERGENCY_PARSER` this command is ignored. +- With `EMERGENCY_PARSER` enabled the [`M108`](/docs/gcode/M108.html) command can be used to continue. parameters: - - - tag: S - optional: true - description: Expire time, in seconds - values: - - - tag: sec - type: int - - - tag: P - optional: true - description: Expire time, in milliseconds - values: - - - tag: ms - type: int - - - tag: string - optional: true - description: An optional message to display on the LCD + +- tag: S + optional: true + description: Expire time, in seconds + values: + - tag: sec + type: int + +- tag: P + optional: true + description: Expire time, in milliseconds + values: + - tag: ms + type: int + +- tag: string + optional: true + description: An optional message to display on the LCD examples: - - - pre: - Stop and wait - code: - - M0 - - - - pre: - Display a message, stop, and wait - code: - - M0 Click to continue + +- pre: Stop and wait + code: M0 + +- pre: Display a message, stop, and wait + code: M0 Click to continue --- diff --git a/_gcode/M003.md b/_gcode/M003.md index 6fe4847c6e..0bbd48e219 100644 --- a/_gcode/M003.md +++ b/_gcode/M003.md @@ -7,57 +7,55 @@ contrib: shitcreek since: 1.1.2 requires: SPINDLE_LASER_ENABLE -related: [ M4, M5 ] group: control codes: [ M3 ] +related: [ M4, M5 ] notes: - - 'S is interpeted as the configured value range: PWM (default), Percentage, or RPM. (See `CUTTER_POWER_UNIT`)' - - "[`M3`](/docs/gcode/M003.html) and [`M4`](/docs/gcode/M004.html) aren't needed with `LASER_POWER_INLINE` and `LASER_MOVE_POWER` enabled. Power is set directly in [`G1`](/docs/gcode/G000-G001.html)…[`G5`](/docs/gcode/G005.html)" +- '`S` is interpeted as the configured value range: PWM (default), Percentage, or RPM. (See `CUTTER_POWER_UNIT`)' +- "`M3` and [`M4`](/docs/gcode/M004.html) aren't needed with `LASER_POWER_INLINE` and `LASER_MOVE_POWER` enabled. Power is set directly in [`G1`](/docs/gcode/G000-G001.html)…[`G5`](/docs/gcode/G005.html)" parameters: - - - tag: S - optional: true - description: Spindle speed or laser power in the configured value range (see `CUTTER_POWER_DISPLAY`). (PWM 0-255 by default) - values: - - - tag: power - type: byte - - - tag: O - optional: true - description: Spindle speed or laser power in PWM 0-255 value range - values: - - - tag: power - type: byte - - - tag: I - optional: true - description: Inline mode ON / OFF. - values: - - - tag: mode - type: bool + +- tag: S + optional: true + description: Spindle speed or laser power in the configured value range (see `CUTTER_POWER_DISPLAY`). (PWM 0-255 by default) + values: + - tag: power + type: byte + +- tag: O + optional: true + description: Spindle speed or laser power in PWM 0-255 value range + values: + - tag: power + type: byte + +- tag: I + optional: true + description: Inline mode ON / OFF. + values: + - tag: mode + type: bool examples: - - - pre: Set spindle rotation clockwise at 50% with `CUTTER_POWER_UNIT` set to `PERCENT` - code: M3 S50 - - - pre: Set spindle rotation clockwise at 6K RPM with `CUTTER_POWER_UNIT` set to `RPM` - code: M3 S5000 - - - pre: Set laser power to 50% in PWM - code: M3 O128 - - - pre: Turn on the laser at full / `SPEED_POWER_STARTUP` power - code: M3 - - - pre: Fire laser at 80% on next G1,G2 and G3 move - code: M3 S204 I + +- pre: Set spindle rotation clockwise at 50% with `CUTTER_POWER_UNIT` set to `PERCENT` + code: M3 S50 + +- pre: Set spindle rotation clockwise at 6K RPM with `CUTTER_POWER_UNIT` set to `RPM` + code: M3 S5000 + +- pre: Set laser power to 50% in PWM + code: M3 O128 + +- pre: Turn on the laser at full / `SPEED_POWER_STARTUP` power + code: M3 + +- pre: Fire laser at 80% on next G1,G2 and G3 move + code: M3 S204 I + --- Wait for moves to complete, then set the spindle speed (clockwise) or laser power. diff --git a/_gcode/M004.md b/_gcode/M004.md index 6c73364cbe..17029dbb13 100644 --- a/_gcode/M004.md +++ b/_gcode/M004.md @@ -7,57 +7,54 @@ contrib: shitcreek since: 1.1.2 requires: SPINDLE_LASER_ENABLE -related: [ M3, M5 ] group: control codes: [ M4 ] +related: [ M3, M5 ] notes: - - 'S is interpeted as the configured value range: PWM (default), Percentage, or RPM. (See `CUTTER_POWER_UNIT`)' - - "[`M3`](/docs/gcode/M003.html) and [`M4`](/docs/gcode/M004.html) aren't needed with `LASER_POWER_INLINE` and `LASER_MOVE_POWER` enabled. Power is set directly in [`G1`](/docs/gcode/G000-G001.html)…[`G5`](/docs/gcode/G005.html)" +- '`S` is interpeted as the configured value range: PWM (default), Percentage, or RPM. (See `CUTTER_POWER_UNIT`)' +- "[`M3`](/docs/gcode/M003.html) and `M4` aren't needed with `LASER_POWER_INLINE` and `LASER_MOVE_POWER` enabled. Power is set directly in [`G1`](/docs/gcode/G000-G001.html)…[`G5`](/docs/gcode/G005.html)" parameters: - - - tag: S - optional: true - description: Spindle speed or laser power in the configured value range (see `CUTTER_POWER_UNIT`). (PWM 0-255 by default) - values: - - - tag: power - type: byte - - - tag: O - optional: true - description: Spindle speed or laser power in PWM 0-255 value range - values: - - - tag: power - type: byte - - - tag: I - optional: true - description: Inline mode ON / OFF. - values: - - - tag: mode - type: bool + +- tag: S + optional: true + description: Spindle speed or laser power in the configured value range (see `CUTTER_POWER_UNIT`). (PWM 0-255 by default) + values: + - tag: power + type: byte + +- tag: O + optional: true + description: Spindle speed or laser power in PWM 0-255 value range + values: + - tag: power + type: byte + +- tag: I + optional: true + description: Inline mode ON / OFF. + values: + - tag: mode + type: bool examples: - - - pre: Set spindle rotation counter-clockwise at 50% with `CUTTER_POWER_UNIT` set to `PERCENT` - code: M4 S50 - - - pre: Set spindle rotation counter-clockwise at 50% with `CUTTER_POWER_UNIT` set to `PWM` - code: M4 S128 - - - pre: Set spindle rotation counter-clockwise at 80% in `PWM` - code: M4 O204 - - - pre: Turn on the laser at full / `SPEED_POWER_STARTUP` power - code: M4 - - - pre: Fire laser at 80% on next G1,G2 and G3 move - code: M4 S204 I + +- pre: Set spindle rotation counter-clockwise at 50% with `CUTTER_POWER_UNIT` set to `PERCENT` + code: M4 S50 + +- pre: Set spindle rotation counter-clockwise at 50% with `CUTTER_POWER_UNIT` set to `PWM` + code: M4 S128 + +- pre: Set spindle rotation counter-clockwise at 80% in `PWM` + code: M4 O204 + +- pre: Turn on the laser at full / `SPEED_POWER_STARTUP` power + code: M4 + +- pre: Fire laser at 80% on next G1,G2 and G3 move + code: M4 S204 I --- diff --git a/_gcode/M005.md b/_gcode/M005.md index e47a81c8ff..9e4916b15a 100644 --- a/_gcode/M005.md +++ b/_gcode/M005.md @@ -7,19 +7,17 @@ contrib: shitcreek since: 1.1.2 requires: SPINDLE_LASER_ENABLE -related: [ M3, M4 ] group: control +related: [ M3, M4 ] codes: [ M5 ] notes: - - '[`G0`](/docs/gcode/G000-G001.html) and [`G28`](/docs/gcode/G028.html) will also turn the laser off' -parameters: +- '[`G0`](/docs/gcode/G000-G001.html) and [`G28`](/docs/gcode/G028.html) will also turn the laser off' -examples: - - - pre: Turn off the spindle or laser - code: M5 +example: +- pre: Turn off the spindle or laser + code: M5 --- diff --git a/_gcode/M007-M009.md b/_gcode/M007-M009.md index da2b55cfeb..10332f2c4f 100644 --- a/_gcode/M007-M009.md +++ b/_gcode/M007-M009.md @@ -9,18 +9,16 @@ group: control codes: [ M7, M8, M9 ] examples: - - - pre: Turn on mist coolant - code: - - M7 - - - pre: Turn on spindle flood coolant or laser air assist - code: - - M8 - - - pre: Turn off all coolants or air assist - code: - - M9 + +- pre: Turn on mist coolant + code: M7 + +- pre: Turn on spindle flood coolant or laser air assist + code: M8 + +- pre: Turn off all coolants or air assist + code: M9 + --- -This command pertains to a CNC machine with a liquid cooling system or a laser with air assist. +These commands pertain to a CNC machine with a liquid cooling system or a laser with air assist. diff --git a/_gcode/M010-M011.md b/_gcode/M010-M011.md index eb283b70ab..d97e15449b 100644 --- a/_gcode/M010-M011.md +++ b/_gcode/M010-M011.md @@ -14,14 +14,13 @@ requires: AIR_EVACUATION notes: These G-codes can only be enabled for use with a spindle or laser setup. examples: - - - pre: Turn laser blower motor on - code: - - M10 - - - pre: Turn laser blower motor off - code: - - M11 + +- pre: Turn laser blower motor on + code: M10 + +- pre: Turn laser blower motor off + code: M11 + --- Immediately turn the cutter's vacuum or laser's blower motor on or off. diff --git a/_gcode/M016.md b/_gcode/M016.md index ea77437b13..e119f47767 100644 --- a/_gcode/M016.md +++ b/_gcode/M016.md @@ -10,18 +10,15 @@ requires: EXPECTED_PRINTER_CHECK codes: [ M16 ] -notes: - parameters: - - - tag: string - optional: false - description: The string to compare to MACHINE_NAME. -examples: - - - pre: Halt if the MACHINE_NAME is not "Arthur" - code: M16 Arthur +- tag: string + optional: false + description: The string to compare to MACHINE_NAME. + +example: +- pre: Halt if the MACHINE_NAME is not "Arthur" + code: M16 Arthur --- diff --git a/_gcode/M017.md b/_gcode/M017.md index ab38a97df3..e2148a1f2c 100644 --- a/_gcode/M017.md +++ b/_gcode/M017.md @@ -7,55 +7,27 @@ author: thinkyhead group: control codes: [ M17 ] - -notes: +related: [ M18 ] parameters: - - - tag: X - optional: true - description: X Enable - values: - - - tag: flag - type: bool - - - tag: Y - optional: true - description: Y Enable - values: - - - tag: flag - type: bool - - - tag: Z - optional: true - description: Z Enable - values: - - - tag: flag - type: bool - - - tag: E - optional: true - description: E Enable - values: - - - tag: flag - type: bool +- tag: 'X, Y, Z, E, A, B, C, U, V, W' + optional: true + requires: '*_DRIVER_TYPE' + description: 'Disable Axes such as X, Y, Z, E, A, B, C, U, V, W.' + values: + - type: flag examples: - - - pre: Enable power on all stepper motors - code: M17 - - - pre: Enable Z and E steppers immediately - code: M17 Z E +- pre: Enable power on all stepper motors + code: M17 + +- pre: Enable Z and E steppers immediately + code: M17 Z E --- -This command can be used to enable one or more steppers (`X`,`Y`,`Z`,`E`). +This command can be used to enable one or more steppers (`X`,`Y`,`Z`, …, `E`). If no steppers are specified, this command enables all steppers immediately. diff --git a/_gcode/M018.md b/_gcode/M018.md index d74063bdb0..5fb3c7e38b 100644 --- a/_gcode/M018.md +++ b/_gcode/M018.md @@ -7,42 +7,40 @@ author: thinkyhead group: control codes: [ M18, M84 ] +related: [ M17 ] -notes: - - Axes may be renamed. Axis parameters below apply to the default axis names. +notes: Axes may be renamed. Axis parameters below apply to the default axis names. parameters: - - - tag: S - optional: true - requires: 'DISABLE_IDLE_*' - description: Set the inactivity timeout. Set to 0 to disable the timeout. - values: - - - tag: seconds - type: int - - - tag: 'X, Y, Z, A, B, C, U, V, W' - optional: true - requires: '*_DRIVER_TYPE' - description: 'Disable Axes such as X, Y, Z, A, B, C, U, V, W.' - values: - - - type: flag + +- tag: S + optional: true + requires: 'DISABLE_IDLE_*' + description: Set the inactivity timeout. Set to 0 to disable the timeout. + values: + - tag: seconds + type: int + +- tag: 'X, Y, Z, E, A, B, C, U, V, W' + optional: true + requires: '*_DRIVER_TYPE' + description: 'Disable Axes such as X, Y, Z, E, A, B, C, U, V, W.' + values: + - type: flag examples: - - - pre: Disable all steppers immediately - code: M18 - - - pre: Disable Z and E steppers immediately - code: M18 Z E - - - pre: Set the stepper inactivity timeout to 1 minute - code: M18 S60 - - - pre: Disable the stepper inactivity timeout - code: M18 S0 + +- pre: Disable all steppers immediately + code: M18 + +- pre: Disable Z and E steppers immediately + code: M18 Z E + +- pre: Set the stepper inactivity timeout to 1 minute + code: M18 S60 + +- pre: Disable the stepper inactivity timeout + code: M18 S0 --- diff --git a/_gcode/M020.md b/_gcode/M020.md index 24ddef56d4..20fb59752d 100644 --- a/_gcode/M020.md +++ b/_gcode/M020.md @@ -10,77 +10,71 @@ group: sdcard codes: [ M20 ] related: [ M33 ] -notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - parameters: - - - tag: F - since: 2.0.9.4 - optional: true - description: Only list BIN files. Used by host plugins to facilitate firmware upload. - requires: CUSTOM_FIRMWARE_UPLOAD - values: - - - type: flag - - - tag: L - since: 2.0.9 - experimental: true - optional: true - description: Include the long filename in the listing. - requires: LONG_FILENAME_HOST_SUPPORT - values: - - - type: flag - - - tag: T - since: 2.1.2 - optional: true - description: Include the file timestamp in the listing. - requires: M20_TIMESTAMP_SUPPORT - values: - - - type: flag + +- tag: F + since: 2.0.9.4 + optional: true + description: Only list BIN files. Used by host plugins to facilitate firmware upload. + requires: CUSTOM_FIRMWARE_UPLOAD + values: + - type: flag + +- tag: L + since: 2.0.9 + experimental: true + optional: true + description: Include the long filename in the listing. + requires: LONG_FILENAME_HOST_SUPPORT + values: + - type: flag + +- tag: T + since: 2.1.2 + optional: true + description: Include the file timestamp in the listing. + requires: M20_TIMESTAMP_SUPPORT + values: + - type: flag examples: - - - pre: List the contents of the SD card - post: The firmware will send no other output between "Begin file list" and "End file list." - code: | - > M20 - Begin file list - MYFILE.GCO 14129 - SUBDIR~1/MORETH\~1.GCO 68447 - End file list - ok - - - pre: List files with long filename (for display) - post: This format produces a prettier File Manager in OctoPrint, but the long name is not used in selecting the file to print, nor are folder long names included. - code: | - > M20 L - Begin file list - MYFILE.GCO 14129 MyFile.gcode - SUBDIR~1/MORETH\~1.GCO 68447 Sub Directory/MoretHall.gcode - End file list - ok - - - pre: List files with file modification timestamp (for display) - post: OctoPrint 1.9+ uses the timestamp to display file upload times. - code: | - > M20 T - Begin file list - MYFILE.GCO 14129 0x5515758F - SUBDIR~1/MORETH\~1.GCO 68447 0x55195745 - End file list - ok - > M20 L T - Begin file list - MYFILE.GCO 14129 0x5515758F MyFile.gcode - SUBDIR~1/MORETH\~1.GCO 68447 0x55195745 Sub Directory/MoretHall.gcode - End file list - ok +- pre: List the contents of the SD card + post: The firmware will send no other output between "Begin file list" and "End file list." + code: | + > M20 + Begin file list + MYFILE.GCO 14129 + SUBDIR~1/MORETH\~1.GCO 68447 + End file list + ok + +- pre: List files with long filename (for display) + post: This format produces a prettier File Manager in OctoPrint, but the long name is not used in selecting the file to print, nor are folder long names included. + code: | + > M20 L + Begin file list + MYFILE.GCO 14129 MyFile.gcode + SUBDIR~1/MORETH\~1.GCO 68447 Sub Directory/MoretHall.gcode + End file list + ok + +- pre: List files with file modification timestamp (for display) + post: OctoPrint 1.9+ uses the timestamp to display file upload times. + code: | + > M20 T + Begin file list + MYFILE.GCO 14129 0x5515758F + SUBDIR~1/MORETH\~1.GCO 68447 0x55195745 + End file list + ok + + > M20 L T + Begin file list + MYFILE.GCO 14129 0x5515758F MyFile.gcode + SUBDIR~1/MORETH\~1.GCO 68447 0x55195745 Sub Directory/MoretHall.gcode + End file list + ok --- diff --git a/_gcode/M021.md b/_gcode/M021.md index e23fec19d5..4f5044618b 100644 --- a/_gcode/M021.md +++ b/_gcode/M021.md @@ -8,24 +8,21 @@ requires: SDSUPPORT group: sdcard codes: [ M21 ] +related: [ M22 ] -notes: Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) +examples: -parameters: +- pre: Init card with success + code: + - "> M21" + - SD card ok + - ok -examples: - - - pre: Init card with success - code: | - > M21 - SD card ok - ok - - - pre: Init card with failure - code: | - > M21 - No SD card - ok +- pre: Init card with failure + code: + - "> M21" + - No SD card + - ok --- diff --git a/_gcode/M022.md b/_gcode/M022.md index 197041284c..e6a1f58dc0 100644 --- a/_gcode/M022.md +++ b/_gcode/M022.md @@ -8,16 +8,10 @@ requires: SDSUPPORT group: sdcard codes: [ M22 ] - -notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - -parameters: - -examples: +related: [ M21 ] --- If Marlin gets confused about the state of the SD card, this command can be used to simulate an ejection of the SD card. -Re-insert the SD card or use [`M21`](/docs/gcode/M021.html) to enable the SD card following [`M22`](/docs/gcode/M022.html). +Re-insert the SD card or use [`M21`](/docs/gcode/M021.html) to enable the SD card. diff --git a/_gcode/M023.md b/_gcode/M023.md index 365bd3f535..0587c66ec5 100644 --- a/_gcode/M023.md +++ b/_gcode/M023.md @@ -10,22 +10,17 @@ group: sdcard codes: [ M23 ] related: [ M24 ] -notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - parameters: - - - tag: filename - optional: false - description: The filename of the file to open. +- tag: filename + optional: false + description: The filename of the file to open. -examples: - - - pre: Select a file and start it - code: | - > M23 /musicg\~1/jingle.gco - Now fresh file: /musicg\~1/jingle.gco - > M24 +example: +- pre: Select a file and start it + code: | + > M23 /musicg\~1/jingle.gco + Now fresh file: /musicg\~1/jingle.gco + > M24 --- diff --git a/_gcode/M024.md b/_gcode/M024.md index bc307b15ac..7b0bd7e0a9 100644 --- a/_gcode/M024.md +++ b/_gcode/M024.md @@ -1,41 +1,36 @@ --- tag: m0024 title: Start or Resume SD print -brief: Start or resume a file selected with [`M23`](/docs/gcode/M023.html) +brief: Start or resume a file selected with M23 author: thinkyhead requires: SDSUPPORT group: sdcard codes: [ M24 ] -related: [ M23 ] +related: [ M23, M524 ] notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - - Since Marlin 2.0.0, SD printing can be aborted with [`M524`](/docs/gcode/M524.html). +- Since Marlin 2.0.0, SD printing can be aborted with [`M524`](/docs/gcode/M524.html). parameters: - - - tag: S - optional: true - description: Position in file to resume from (requires `POWER_LOSS_RECOVERY`) - values: - - - tag: pos - type: long - - - tag: T - optional: true - description: Elapsed time since start of print (requires `POWER_LOSS_RECOVERY`) - values: - - - tag: time - type: long - -examples: + +- tag: S + optional: true + description: Position in file to resume from (requires `POWER_LOSS_RECOVERY`) + values: + - tag: pos + type: long + +- tag: T + optional: true + description: Elapsed time since start of print (requires `POWER_LOSS_RECOVERY`) + values: + - tag: time + type: long --- Start an SD print or resume the paused SD print. If `PARK_HEAD_ON_PAUSE` is enabled, unpark the nozzle. -If `POWER_LOSS_RECOVERY` is enabled [`M24`](/docs/gcode/M024.html) accepts parameters which allow resuming the print from a specific point in the file. These parameters are usually only used in this scenario. +If `POWER_LOSS_RECOVERY` is enabled `M24` accepts parameters which allow resuming the print from a specific point in the file. These parameters are usually only used in this scenario. diff --git a/_gcode/M025.md b/_gcode/M025.md index f6769583b3..0efcf4f5ba 100644 --- a/_gcode/M025.md +++ b/_gcode/M025.md @@ -8,13 +8,7 @@ requires: SDSUPPORT group: sdcard codes: [ M25 ] - -notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - -parameters: - -examples: +related: [ M23, M24, M125 ] --- diff --git a/_gcode/M026.md b/_gcode/M026.md index 88fe082da5..f89ac585b8 100644 --- a/_gcode/M026.md +++ b/_gcode/M026.md @@ -9,20 +9,14 @@ group: sdcard codes: [ M26 ] -notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - parameters: - - - tag: S - optional: true - description: Next file read position to set - values: - - - tag: pos - type: long -examples: +- tag: S + optional: true + description: Next file read position to set + values: + - tag: pos + type: long --- diff --git a/_gcode/M027.md b/_gcode/M027.md index f4862901ac..e6a38b13a9 100644 --- a/_gcode/M027.md +++ b/_gcode/M027.md @@ -10,36 +10,34 @@ group: sdcard codes: [ M27 ] notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) +- Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) parameters: - - - tag: S - optional: true - description: Interval between auto-reports. `S0` to disable (requires `AUTO_REPORT_SD_STATUS`) - values: - - - tag: seconds - type: int - - - tag: C - optional: true - description: Report the filename and long filename of the current file +- tag: S + optional: true + description: Interval between auto-reports. `S0` to disable (requires `AUTO_REPORT_SD_STATUS`) + values: + - tag: seconds + type: int + +- tag: C + optional: true + description: Report the filename and long filename of the current file examples: - - - pre: Report current SD status - code: M27 S4 - - - pre: Report SD status every 4 seconds - code: M27 S4 - - - pre: Stop reporting SD status - code: M27 S0 - - - pre: Report currently open filename - code: M27 C + +- pre: Report current SD status + code: M27 S4 + +- pre: Report SD status every 4 seconds + code: M27 S4 + +- pre: Stop reporting SD status + code: M27 S0 + +- pre: Report currently open filename + code: M27 C --- diff --git a/_gcode/M028.md b/_gcode/M028.md index 7432bdf145..ee829816a5 100644 --- a/_gcode/M028.md +++ b/_gcode/M028.md @@ -7,30 +7,28 @@ author: thinkyhead requires: SDSUPPORT group: sdcard -related: [ M29, M928 ] codes: [ M28 ] +related: [ M29, M928 ] -notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - - Use [`M928`](/docs/gcode/M928.html) to log commands to a file during printing. +notes: Use [`M928`](/docs/gcode/M928.html) to log commands to a file during printing. parameters: - - - tag: B1 - optional : true - description: Set an optimized binary file transfer mode. (Requires `BINARY_FILE_TRANSFER`) - - - tag: filename - optional: false - description: File name to write - -example: - - - pre: Start writing to file.txt - code: M28 file.txt - - - pre: Start binary writing to file.txt - code: M28 B1 file.txt + +- tag: B1 + optional : true + description: Set an optimized binary file transfer mode. (Requires `BINARY_FILE_TRANSFER`) + +- tag: filename + optional: false + description: File name to write + +examples: + +- pre: Start writing to file.txt + code: M28 file.txt + +- pre: Start binary writing to file.txt + code: M28 B1 file.txt --- diff --git a/_gcode/M029.md b/_gcode/M029.md index c188b6334c..1fe0127941 100644 --- a/_gcode/M029.md +++ b/_gcode/M029.md @@ -10,13 +10,6 @@ group: sdcard codes: [ M29 ] related: [ M28, M928 ] -notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - -parameters: - -examples: - --- Stop writing to a file that was begun with [`M28`](/docs/gcode/M028.html) or [`M928`](/docs/gcode/M928.html). Logging is disabled. diff --git a/_gcode/M030.md b/_gcode/M030.md index c28bbc8440..1366b5d6b4 100644 --- a/_gcode/M030.md +++ b/_gcode/M030.md @@ -9,18 +9,16 @@ group: sdcard codes: [ M30 ] notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) +- Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) parameters: - - - tag: filename - optional: false - description: The filename of the file to delete. +- tag: filename + optional: false + description: The filename of the file to delete. example: - - - pre: Delete the file "/path/to/file.gco" - code: M30 /path/to/file.gco +- pre: Delete the file "/path/to/file.gco" + code: M30 /path/to/file.gco --- diff --git a/_gcode/M031.md b/_gcode/M031.md index 6b9c42c845..0777645828 100644 --- a/_gcode/M031.md +++ b/_gcode/M031.md @@ -7,13 +7,7 @@ author: thinkyhead group: printjob codes: [ M31 ] -related: [M75,M76,M77,M78] - -notes: - -parameters: - -examples: +related: [ M75, M76, M77, M78 ] --- diff --git a/_gcode/M032.md b/_gcode/M032.md index e297b13ccf..6f4422400a 100644 --- a/_gcode/M032.md +++ b/_gcode/M032.md @@ -11,38 +11,36 @@ group: sdcard codes: [ M32 ] notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) - - This is a seldom-used beta feature that needs more testing and use-cases. +- Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) +- This is a seldom-used beta feature that needs more testing and use-cases. parameters: - - - tag: P - optional: true - description: Sub-Program flag - values: - - - tag: flag - type: bool - - - tag: S - optional: true - description: Starting file offset - values: - - - tag: filepos - type: int + +- tag: P + optional: true + description: Sub-Program flag + values: + - tag: flag + type: bool + +- tag: S + optional: true + description: Starting file offset + values: + - tag: filepos + type: int examples: - - - pre: Select and start a file at offset 5022. - code: M32 S5022 !/boats/sailboat.gco - - - pre: Select and start a file from within G-code. - code: M32 P !/models/lgbust.gco# - post: The `#` suffix is needed when using `P` to "stop buffer pre-reading" so no commands after [`M32`](/docs/gcode/M032.html) will go into the buffer until after it returns. + +- pre: Select and start a file at offset 5022. + code: M32 S5022 !/boats/sailboat.gco + +- pre: Select and start a file from within G-code. + code: M32 P !/models/lgbust.gco# + post: The `#` suffix is needed when using `P` to "stop buffer pre-reading" so no commands after `M32` will go into the buffer until after it returns. --- -The [`M32`](/docs/gcode/M032.html) command exists to allow G-code to load other G-code files and run them as sub-programs. This can be useful to change the start / end G-code for a batch of files without having to edit them all. +The `M32` command exists to allow G-code to load other G-code files and run them as sub-programs. This can be useful to change the start / end G-code for a batch of files without having to edit them all. -For legacy reasons [`M32`](/docs/gcode/M032.html) uses '`!`' (and '`#`') to delimit the filepath parameter. The filepath must be the last parameter. +For legacy reasons `M32` uses '`!`' (and '`#`') to delimit the filepath parameter. The filepath must be the last parameter. diff --git a/_gcode/M033.md b/_gcode/M033.md index 2bcb9ab6e9..dc032316ee 100644 --- a/_gcode/M033.md +++ b/_gcode/M033.md @@ -11,25 +11,19 @@ group: sdcard codes: [ M33 ] notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) and `LONG_FILENAME_HOST_SUPPORT` +- Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) and `LONG_FILENAME_HOST_SUPPORT` parameters: - - - tag: path - optional: false - description: DOS 8.3 path to a file or folder +- tag: path + optional: false + description: DOS 8.3 path to a file or folder examples: - - - pre: - Get the long path for a file - code: - - M33 funstuff/mask.gco - - - pre: - Output - code: - - FunStuff/Mask.gcode + +- pre: Get the long path for a file + code: + - M33 funstuff/mask.gco + - "> FunStuff/Mask.gcode" --- diff --git a/_gcode/M034.md b/_gcode/M034.md index 6572cd4cbf..e8596d9223 100644 --- a/_gcode/M034.md +++ b/_gcode/M034.md @@ -5,38 +5,31 @@ brief: Set SDCard file sorting options. author: thinkyhead since: 1.1.0 -requires: SDSUPPORT,SDCARD_SORT_ALPHA +requires: SDSUPPORT, SDCARD_SORT_ALPHA group: sdcard codes: [ M34 ] -notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) and `SDCARD_SORT_ALPHA`. +notes: Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) and `SDCARD_SORT_ALPHA`. parameters: - - - tag: S - optional: true - description: Sorting on/off - values: - - - type: bool - - - tag: F - optional: true - description: Folder Sorting - values: - - - tag: -1 - description: Folders before files - - - tag: 0 - description: No folder sorting - - - tag: 1 - description: Folders after files - -examples: + +- tag: S + optional: true + description: Sorting on/off + values: + - type: bool + +- tag: F + optional: true + description: Folder Sorting + values: + - tag: -1 + description: Folders before files + - tag: 0 + description: No folder sorting + - tag: 1 + description: Folders after files --- diff --git a/_gcode/M042.md b/_gcode/M042.md index b396405378..4dab28f5bb 100644 --- a/_gcode/M042.md +++ b/_gcode/M042.md @@ -6,65 +6,58 @@ author: thinkyhead requires: DIRECT_PIN_CONTROL group: control -codes: [ M42 ] -notes: +codes: [ M42 ] +related: [ M226 ] parameters: - - - tag: I - optional: true - since: 1.1.9.1 - description: Ignore protection on pins that Marlin is using. - values: - - - type: bool - - - tag: T - optional: true - since: 2.0.5.2 - description: Set the pin mode. Prior to Marlin 2.0.9.4 this is set with the `M` parameter. - values: - - - tag: 0 - description: '`INPUT`' - - - tag: 1 - description: '`OUTPUT`' - - - tag: 2 - description: '`INPUT_PULLUP`' - - - tag: 3 - description: '`INPUT_PULLDOWN`' - - - tag: P - optional: true - description: A digital pin number (even for analog pins) to write to. (`LED_PIN` if omitted) - values: - - - tag: pin - type: int - - - tag: S - optional: false - description: The state to set. PWM pins may be set from 0-255. - values: - - - tag: state - type: int + +- tag: I + optional: true + since: 1.1.9.1 + description: Ignore protection on pins that Marlin is using. + values: + - type: bool + +- tag: T + optional: true + since: 2.0.5.2 + description: Set the pin mode. Prior to Marlin 2.0.9.4 this is set with the `M` parameter. + values: + - tag: 0 + description: '`INPUT`' + - tag: 1 + description: '`OUTPUT`' + - tag: 2 + description: '`INPUT_PULLUP`' + - tag: 3 + description: '`INPUT_PULLDOWN`' + +- tag: P + optional: true + description: A digital pin number (even for analog pins) to write to. (`LED_PIN` if omitted) + values: + - tag: pin + type: int + +- tag: S + optional: false + description: The state to set. PWM pins may be set from 0-255. + values: + - tag: state + type: int examples: - - - pre: Turn the LED pin on - code: M42 S1 - - - pre: Turn on pin 33 - code: M42 P33 S1 - - - pre: Set pin 44 to do PWM with 50% DC - code: M42 P44 S128 + +- pre: Turn the LED pin on + code: M42 S1 + +- pre: Turn on pin 33 + code: M42 P33 S1 + +- pre: Set pin 44 to do PWM with 50% DC + code: M42 P44 S128 --- -For custom hardware not officially supported in Marlin, you can often just connect up an unused pin and use [`M42`](/docs/gcode/M042.html) to control it. +For custom hardware not officially supported in Marlin, you can often just connect up an unused pin and use `M42` to control it. diff --git a/_gcode/M043-T.md b/_gcode/M043-T.md index c2e7fab12d..c429f22a61 100644 --- a/_gcode/M043-T.md +++ b/_gcode/M043-T.md @@ -4,6 +4,7 @@ title: Toggle Pins brief: Get information about pins. author: thinkyhead contrib: TwoRedCells + experimental: true requires: PINS_DEBUGGING group: debug @@ -11,54 +12,49 @@ group: debug codes: [ M43 T ] notes: - - Requires `PINS_DEBUGGING`. This feature should be disabled for production use. - - See [`M43`](/docs/gcode/M043.html) for other pins debug options. +- Requires `PINS_DEBUGGING`. This feature should be disabled for production use. +- See [`M43`](/docs/gcode/M043.html) for other pins debug options. parameters: - - - tag: S - optional: true - description: Start Pin number. If not given, will default to 0 - values: - - - tag: pin - type: int - - - tag: L - optional: true - description: End Pin number. If not given, will default to last pin defined for this board - values: - - - tag: pin - type: int - - - tag: I - optional: true - description: Flag to ignore Marlin's pin protection. **Use with caution!!!!** - values: - - - type: bool - - - tag: R - optional: true - description: Repeat pulses on each pin this number of times before continuing to next pin. If not given will default to 1. - values: - - - tag: count - type: int - - - tag: W - optional: true - description: Wait time (in milliseconds) transitions. If not given will default to 500. - values: - - - tag: time - type: int -examples: - - - pre: Toggle pins 3-6 five times with 1 second low and 1 second high pulses but only if the pin isn't in the protected list. - code: M43 T S3 L6 R5 W1000 +- tag: S + optional: true + description: "Start Pin number. (Default: 0)" + values: + - tag: pin + type: int + +- tag: L + optional: true + description: "End Pin number. (Default: last pin)" + values: + - tag: pin + type: int + +- tag: I + optional: true + description: Flag to ignore Marlin's pin protection. **Use with caution!** + values: + - + type: bool + +- tag: R + optional: true + description: "Number of times to toggle each pin. (Default: 1)" + values: + - tag: count + type: int + +- tag: W + optional: true + description: "Wait time (in milliseconds) transitions. (Default: 500)." + values: + - tag: time + type: int + +example: +- pre: Toggle unprotected pins from 3 to 6 five times each with 1 second low / high pulses. + code: M43 T S3 L6 R5 W1000 --- diff --git a/_gcode/M043.md b/_gcode/M043.md index c124c74001..3827a238f7 100644 --- a/_gcode/M043.md +++ b/_gcode/M043.md @@ -10,68 +10,68 @@ group: debug codes: [ M43 ] -notes: - - Requires `PINS_DEBUGGING`. This feature should be disabled for production use. +notes: This feature can be disabled for production use. parameters: - - - tag: P - optional: true - description: Digital Pin Number - values: - - - tag: pin - type: int - - - tag: W - optional: true - description: Watch pins - - - tag: E - optional: true - description: Watch endstops - values: - - - type: bool - - - tag: T - optional: true - description: Toggle pins - see [`M43 T`](/docs/gcode/M043-T.html) for options - values: - - - tag: S - optional: true - description: Test BLTouch type servo probes. Use `P` to specify servo index (0-3). Defaults to 0 if `P` omitted - values: - - - tag: I - optional: true - description: Ignore protection when reporting values - values: +- tag: P + optional: true + description: Digital Pin Number + values: + - tag: pin + type: int + +- tag: W + optional: true + description: Watch pins + +- tag: E + optional: true + description: Watch endstops + values: + - type: bool + +- tag: T + optional: true + description: Toggle pins - see [`M43 T`](/docs/gcode/M043-T.html) for options + values: + - type: flag + +- tag: S + optional: true + description: Test BLTouch type servo probes. Use `P` to specify servo index (0-3). Defaults to 0 if `P` is omitted. + values: + - type: flag + +- tag: I + optional: true + description: Ignore protection when reporting values + values: + - type: flag examples: - - - pre: Get a report on all pins - code: M43 - - - pre: Get a report on all pins, ignore pin protection list when displaying values - code: M43 I - - - pre: Watch pin 56 for changes - code: M43 P56 W - - - pre: Start watching endstops - code: M43 E1 - - - pre: Toggle pins 3-6 five times with 1 second low and 1 second high pulses but only if the pin isn't in the protected list. - code: M43 T S3 L6 R5 W1000 - - - pre: Test probe controlled by servo index 2. - code: M43 S P2 + +- pre: Get a report on all pins + code: M43 + +- pre: Get a report on all pins, ignore pin protection list when displaying values + code: M43 I + +- pre: Watch pin 56 for changes + code: M43 P56 W + +- pre: Start watching endstops + code: M43 E1 + +- pre: Toggle pins 3-6 five times with 1 second low and 1 second high pulses but only if the pin isn't in the protected list. + code: M43 T S3 L6 R5 W1000 + +- pre: Test probe controlled by servo index 2. + code: M43 S P2 + --- -When setting up or debugging a machine it's useful to know how pins are assigned to functions by the firmware, and to be able to find pins for use with new functions. [`M43`](/docs/gcode/M043.html) provides these tools. [`M43`](/docs/gcode/M043.html) by itself reports all pin assignments. Use `P` to specify a single pin. Use `I` to report the values on pins that are protected. Use `W` to watch the specified pin, or all pins. Use the `E` option to monitor endstops. Use `S` option to test a BLTouch type servo probe. Use `T` option to toggle pins. +When setting up or debugging a machine it's useful to know how pins are assigned to functions by the firmware, and to be able to find pins for use with new functions. `M43` provides these tools. `M43` by itself reports all pin assignments. Use `P` to specify a single pin. Use `I` to report the values on pins that are protected. Use `W` to watch the specified pin, or all pins. Use the `E` option to monitor endstops. Use `S` option to test a BLTouch type servo probe. Use `T` option to toggle pins. The `W` watch mode option continues looping, blocking all further commands, until the board is reset. If `EMERGENCY_PARSER` is enabled, [`M108`](/docs/gcode/M108.html) may also be used to exit the watch loop without needing to reset the board. diff --git a/_gcode/M048.md b/_gcode/M048.md index a367482b26..283f9c9807 100644 --- a/_gcode/M048.md +++ b/_gcode/M048.md @@ -9,79 +9,65 @@ group: calibration codes: [ M48 ] -notes: - - Requires `Z_MIN_PROBE_REPEATABILITY_TEST`. - parameters: - - - tag: C - optional: true - description: Probe with temperature compensation enabled (`PTC_PROBE`, `PTC_BED`, `PTC_HOTEND`) - values: - - - type: bool - default: 1 - - - tag: E - optional: true - description: Engage for each probe - values: - - - tag: engage - type: bool - - - tag: L - optional: true - description: Number of legs to probe - values: - - - tag: legs - type: int - - - tag: P - optional: true - description: Number of probes to do - values: - - - tag: count - type: int - - - tag: S - optional: true - description: Star/Schizoid probe. By default this will do 7 points. Override with `L`. - values: - - - tag: 0 - description: Circular pattern - - - tag: 1 - description: Star-like pattern - - - tag: V - optional: true - description: Verbose Level (0-4, default=1) - values: - - - tag: level - type: int - - - tag: X - optional: true - description: X Position - values: - - - tag: pos - type: float - - - tag: Y - optional: true - description: Y Position - values: - - - tag: pos - type: float -examples: +- tag: C + optional: true + description: Probe with temperature compensation enabled (`PTC_PROBE`, `PTC_BED`, `PTC_HOTEND`) + values: + - type: bool + default: 1 + +- tag: E + optional: true + description: Engage for each probe + values: + - tag: engage + type: bool + +- tag: L + optional: true + description: Number of legs to probe + values: + - tag: legs + type: int + +- tag: P + optional: true + description: Number of probes to do + values: + - tag: count + type: int + +- tag: S + optional: true + description: Star/Schizoid probe. By default this will do 7 points. Override with `L`. + values: + - tag: 0 + description: Circular pattern + - tag: 1 + description: Star-like pattern + +- tag: V + optional: true + description: Verbose Level (0-4, default=1) + values: + - tag: level + type: int + +- tag: X + optional: true + description: X Position + values: + - tag: pos + type: float + +- tag: Y + optional: true + description: Y Position + values: + - tag: pos + type: float --- diff --git a/_gcode/M073.md b/_gcode/M073.md index c5a3fc15a0..05adc571ca 100644 --- a/_gcode/M073.md +++ b/_gcode/M073.md @@ -10,29 +10,26 @@ group: lcd codes: [ M73 ] parameters: - - - tag: P - optional: false - description: Current print progress percentage - values: - - - tag: percent - type: int - - - tag: R - since: 2.0.0 - requires: USE_M73_REMAINING_TIME - optional: true - description: Set remaining time. - values: - - - tag: minutes - type: int - -examples: - - - pre: Set print progress to 25% and remaining time to 43.0 minutes - code: M73 P25 R43 + +- tag: P + optional: false + description: Current print progress percentage + values: + - tag: percent + type: int + +- tag: R + since: 2.0.0 + requires: USE_M73_REMAINING_TIME + optional: true + description: Set remaining time. + values: + - tag: minutes + type: int + +example: +- pre: Set print progress to 25% and remaining time to 43.0 minutes + code: M73 P25 R43 --- diff --git a/_gcode/M075.md b/_gcode/M075.md index c140d84dcb..510b5aa3fd 100644 --- a/_gcode/M075.md +++ b/_gcode/M075.md @@ -9,19 +9,18 @@ group: printjob codes: [ M75 ] notes: - - Marlin considers a print job to be in progress whenever the print job timer is running, so it should be included in your starting G-code in your slicer settings. - - When `PRINTJOB_TIMER_AUTOSTART` is enabled the print job timer will be started in response to turning on heaters. +- Marlin considers a print job to be in progress whenever the print job timer is running, so it should be included in your starting G-code in your slicer settings. +- When `PRINTJOB_TIMER_AUTOSTART` is enabled the print job timer will be started in response to turning on heaters. parameters: - - - tag: string - optional: true - description: A string to display in the LCD heading. (Requires `DWIN_CREALITY_LCD_ENHANCED`) + +- tag: string + optional: true + description: A string to display in the LCD heading. (Requires `DWIN_CREALITY_LCD_ENHANCED`) example: - - - pre: Start the print job timer - code: M75 +- pre: Start the print job timer + code: M75 --- diff --git a/_gcode/M076.md b/_gcode/M076.md index 52099731d5..342f5adef3 100644 --- a/_gcode/M076.md +++ b/_gcode/M076.md @@ -8,14 +8,9 @@ group: printjob codes: [ M76 ] -notes: - -parameters: - example: - - - pre: Pause the print job timer - code: M76 +- pre: Pause the print job timer + code: M76 --- diff --git a/_gcode/M077.md b/_gcode/M077.md index 20b2fc7859..c3c73d98a7 100644 --- a/_gcode/M077.md +++ b/_gcode/M077.md @@ -9,15 +9,12 @@ group: printjob codes: [ M77 ] notes: - - Marlin considers a print job to be in progress whenever the print job timer is running, so `M77` should be included in your ending G-code in your slicer settings. - - When `PRINTJOB_TIMER_AUTOSTART` is enabled the print job timer will be stopped in response to the heaters being turned off. - -parameters: +- Marlin considers a print job to be in progress whenever the print job timer is running, so `M77` should be included in your ending G-code in your slicer settings. +- When `PRINTJOB_TIMER_AUTOSTART` is enabled the print job timer will be stopped in response to the heaters being turned off. example: - - - pre: Stop the print job timer - code: M77 +- pre: Stop the print job timer + code: M77 --- diff --git a/_gcode/M078.md b/_gcode/M078.md index 7a9951ec47..4ddfe1b661 100644 --- a/_gcode/M078.md +++ b/_gcode/M078.md @@ -9,10 +9,4 @@ group: printjob codes: [ M78 ] -notes: - -parameters: - -examples: - --- diff --git a/_gcode/M080.md b/_gcode/M080.md index 9d40fd2bac..a36e88fe19 100644 --- a/_gcode/M080.md +++ b/_gcode/M080.md @@ -12,20 +12,19 @@ codes: [ M80 ] related: [ M81 ] notes: - - A `PS_ON_PIN` is also required. Check your board's pins file for the default. - - For Marlin 1.1.9 and earlier this feature is enabled by `POWER_SUPPLY`. - - Some octoprint plugins filter out M80/M81. If M80 does not work, use a plain serial terminal first prior reporting a bug. +- A `PS_ON_PIN` is also required. Check your board's pins file for the default. +- For Marlin 1.1.9 and earlier this feature is enabled by `POWER_SUPPLY`. +- Some octoprint plugins filter out M80/M81. If M80 does not work, use a plain serial terminal first prior reporting a bug. parameters: - - - tag: S - optional: true - description: 'Report Power Supply state' - values: + +- tag: S + optional: true + description: 'Report Power Supply state' + values: example: - - - code: M80 ; power on +- code: M80 ; power on --- diff --git a/_gcode/M082.md b/_gcode/M082.md index 06cfe35c07..6d0f9b8481 100644 --- a/_gcode/M082.md +++ b/_gcode/M082.md @@ -7,13 +7,13 @@ author: thinkyhead group: units codes: [ M82 ] +related: [ M83 ] notes: '[`G90`](/docs/gcode/G090.html) and [`G91`](/docs/gcode/G091.html) clear this mode.' example: - - - pre: Set E to Absolute Positioning - code: M82 +- pre: Set E to Absolute Positioning + code: M82 --- diff --git a/_gcode/M083.md b/_gcode/M083.md index a40c03c1d5..5dc0bde91e 100644 --- a/_gcode/M083.md +++ b/_gcode/M083.md @@ -7,15 +7,13 @@ author: thinkyhead group: units codes: [ M83 ] +related: [ M82 ] notes: '[`G90`](/docs/gcode/G090.html) and [`G91`](/docs/gcode/G091.html) clear this mode.' -parameters: - example: - - - pre: Set E to Relative Positioning - code: M83 +- pre: Set E to Relative Positioning + code: M83 --- diff --git a/_gcode/M085.md b/_gcode/M085.md index 89afc4fb01..d94c8b1513 100644 --- a/_gcode/M085.md +++ b/_gcode/M085.md @@ -8,22 +8,18 @@ group: control codes: [ M85 ] -notes: - parameters: - - - tag: S - optional: false - description: Max inactive seconds - values: - - - tag: seconds - type: int + +- tag: S + optional: false + description: Max inactive seconds + values: + - tag: seconds + type: int example: - - - pre: Shut down the machine after 10 minutes with no activity - code: M85 S600 +- pre: Shut down the machine after 10 minutes with no activity + code: M85 S600 --- diff --git a/_gcode/M086.md b/_gcode/M086.md index cea6fef990..e25268b323 100644 --- a/_gcode/M086.md +++ b/_gcode/M086.md @@ -13,43 +13,39 @@ requires: HOTEND_IDLE_TIMEOUT since: 2.2.0 parameters: - - - tag: S - optional: true - description: Timeout period. Temperatures are reduced if the machine is idle for this period. - values: - - - tag: seconds - type: int - - - tag: T - optional: true - description: Temperature trigger. Timeout only applies above this temperature. - values: - - - tag: temp - type: int - - - tag: E - optional: true - description: Extruder idle temperature. The hotend is set to this temperature on timeout. - values: - - - tag: temp - type: int - - - tag: B - optional: true - description: Bed idle temperature. The bed is set to this temperature on timeout. (Requires a heated bed.) - values: - - - tag: temp - type: int + +- tag: S + optional: true + description: Timeout period. Temperatures are reduced if the machine is idle for this period. + values: + - tag: seconds + type: int + +- tag: T + optional: true + description: Temperature trigger. Timeout only applies above this temperature. + values: + - tag: temp + type: int + +- tag: E + optional: true + description: Extruder idle temperature. The hotend is set to this temperature on timeout. + values: + - tag: temp + type: int + +- tag: B + optional: true + description: Bed idle temperature. The bed is set to this temperature on timeout. (Requires a heated bed.) + values: + - tag: temp + type: int example: - - - pre: Reduce hotend and bed temperatures after 4 minutes with a hotend over 100 - code: M86 S240 T100 E40 B30 + +- pre: Reduce hotend and bed temperatures after 4 minutes with a hotend over 100 + code: M86 S240 T100 E40 B30 --- diff --git a/_gcode/M087.md b/_gcode/M087.md index 986dfb8504..dd9807fda4 100644 --- a/_gcode/M087.md +++ b/_gcode/M087.md @@ -13,9 +13,9 @@ requires: HOTEND_IDLE_TIMEOUT since: 2.2.0 example: - - - pre: Disable the Hotend Idle Timer - code: M87 + +- pre: Disable the Hotend Idle Timer + code: M87 --- diff --git a/_gcode/M092.md b/_gcode/M092.md index 282a721223..f29be01196 100644 --- a/_gcode/M092.md +++ b/_gcode/M092.md @@ -9,62 +9,57 @@ group: motion codes: [ M92 ] notes: | - - Get the current steps-per-unit settings using `M92` with no parameters or [`M503`](/docs/gcode/M503.html) on older versions of Marlin. + - Get the current steps-per-unit settings using `M92` with no parameters or [`M503`](/docs/gcode/M503.html) on older versions of Marlin. With `EEPROM_SETTINGS` enabled: - This setting for all axes is saved with [`M500`](/docs/gcode/M500.html) and loaded with [`M501`](/docs/gcode/M501.html). - [`M502`](/docs/gcode/M502.html) resets steps-per-unit for all axes to the values from `DEFAULT_AXIS_STEPS_PER_UNIT`. parameters: - - - tag: X - optional: true - description: X steps per unit - values: - - - tag: steps - type: float - - - tag: Y - optional: true - description: Y steps per unit - values: - - - tag: steps - type: float - - - tag: Z - optional: true - description: Z steps per unit - values: - - - tag: steps - type: float - - - tag: E - optional: true - description: E steps per unit - values: - - - tag: steps - type: float - - - tag: T - optional: true - description: Target extruder (Requires `DISTINCT_E_FACTORS`) - values: - - - tag: index - type: int + +- tag: X + optional: true + description: X steps per unit + values: + - tag: steps + type: float + +- tag: Y + optional: true + description: Y steps per unit + values: + - tag: steps + type: float + +- tag: Z + optional: true + description: Z steps per unit + values: + - tag: steps + type: float + +- tag: E + optional: true + description: E steps per unit + values: + - tag: steps + type: float + +- tag: T + optional: true + description: Target extruder (Requires `DISTINCT_E_FACTORS`) + values: + - tag: index + type: int example: - - - pre: Set E steps for a new extruder - code: M92 E688.4 + +- pre: Set E steps for a new extruder + code: M92 E688.4 --- -Use [`M92`](/docs/gcode/M092.html) to set the steps-per-unit for one or more axes. This setting affects how many steps will be done for each unit of movement. +Use `M92` to set the steps-per-unit for one or more axes. This setting affects how many steps will be done for each unit of movement. Units will usually be set in steps-per-millimeter unless: - The firmware has `INCH_MODE_SUPPORT` enabled and has been set to *Inches Mode* by [`G20`](/docs/gcode/G020.html) or by having inches as the default unit. diff --git a/_gcode/M100.md b/_gcode/M100.md index 010493197c..2c3df30dae 100644 --- a/_gcode/M100.md +++ b/_gcode/M100.md @@ -9,33 +9,27 @@ group: debug codes: [ M100 ] -notes: - - Requires `M100_FREE_MEMORY_WATCHER`. - parameters: - - - tag: D - optional: true - description: Dump the free memory block from `__brkval` to the stack pointer - - - tag: F - optional: true - description: Return the number of free bytes in the memory pool along with other vital statistics that define the memory pool - - - tag: I - optional: true - description: Initialize the free memory pool so it can be watched and print vital statistics that define the free memory pool - - - tag: C - optional: true - description: Corrupt 'n' locations in the free memory pool and report the locations of the corruption. This is useful to check the correctness of the `M100 D` and `M100 F` commands - values: - - - tag: n - type: int - -examples: + +- tag: D + optional: true + description: Dump the free memory block from `__brkval` to the stack pointer + +- tag: F + optional: true + description: Return the number of free bytes in the memory pool along with other vital statistics that define the memory pool + +- tag: I + optional: true + description: Initialize the free memory pool so it can be watched and print vital statistics that define the free memory pool + +- tag: C + optional: true + description: Corrupt 'n' locations in the free memory pool and report the locations of the corruption. This is useful to check the correctness of the `M100 D` and `M100 F` commands + values: + - tag: n + type: int --- -Use [`M100`](/docs/gcode/M100.html) for development purposes to observe how much memory (particularly stack) is being used by code. Proper AVR code should avoid use of `new`, `malloc`, etc., and instead use either pre-allocated static variables or stack. +Use `M100` for development purposes to observe how much memory (particularly stack) is being used by code. Proper AVR code should avoid use of `new`, `malloc`, etc., and instead use either pre-allocated static variables or stack. diff --git a/_gcode/M102.md b/_gcode/M102.md index 5bfc381bed..101fe081e4 100644 --- a/_gcode/M102.md +++ b/_gcode/M102.md @@ -1,7 +1,7 @@ --- tag: m0102 title: Configure Bed Distance Sensor -brief: Set the state or trigger distance (in 0.1mm units) for the Bed Distance Sensor. +brief: Set parameters for the Bed Distance Sensor. author: thinkyhead since: 2.1.1 @@ -10,23 +10,22 @@ group: calibration codes: [ M102 ] -notes: - - Requires `BD_SENSOR`. - parameters: - - - tag: S - description: Set the Bed Distance Sensor state and trigger distance. - values: - - tag: -6 - description: Start Calibration - - tag: -5 - description: Read raw Calibration data - - tag: -1 - description: Read sensor information - - tag: 0 - description: Disable Adjustable Z Height - - tag: ">0" - description: Set Adjustable Z Height in 0.1mm units (e.g., `M102 S4` enables adjusting for Z <= 0.4mm.) + +- tag: S + description: Set the Bed Distance Sensor state and trigger distance. + values: + - tag: -6 + description: Start Calibration + - tag: -5 + description: Read raw Calibration data + - tag: -1 + description: Read sensor information + - tag: 0 + description: Disable Adjustable Z Height + - tag: ">0" + description: Set Adjustable Z Height in 0.1mm units (e.g., `M102 S4` enables adjusting for Z <= 0.4mm.) --- + +Set the state or trigger distance (in 0.1mm units) for the Bed Distance Sensor. diff --git a/_gcode/M104.md b/_gcode/M104.md index d4be2187d0..5422120ab1 100644 --- a/_gcode/M104.md +++ b/_gcode/M104.md @@ -7,67 +7,62 @@ author: thinkyhead group: thermal codes: [ M104 ] +related: [ M109 ] -notes: | - - With `PRINTJOB_TIMER_AUTOSTART` this command will stop the print job timer if the temperature is set at or below half of `EXTRUDE_MINTEMP`. +notes: +- With `PRINTJOB_TIMER_AUTOSTART` this command will stop the print job timer if the temperature is set at or below half of `EXTRUDE_MINTEMP`. parameters: - - - tag: I - since: 2.0.6 - optional: true - description: Material preset index. Overrides `S`. - values: - - - type: int - tag: index - - - tag: S - optional: true - description: 'Target temperature.
`AUTOTEMP`: the min auto-temperature.' - values: - - - tag: temp - type: float - - - tag: F - optional: true - description: '`AUTOTEMP`: Autotemp flag. Omit to disable autotemp.' - values: - - - tag: flag - type: bool - - - tag: B - optional: true - description: '`AUTOTEMP`: The max auto-temperature.' - values: - - - tag: temp - type: float - - - tag: T - optional: true - description: Hotend index. If omitted, the currently active hotend will be used. - values: - - - tag: index - type: int +- tag: I + since: 2.0.6 + optional: true + description: Material preset index. Overrides `S`. + values: + - tag: index + type: int + +- tag: S + optional: true + description: 'Target temperature.
`AUTOTEMP`: the min auto-temperature.' + values: + - tag: temp + type: float + +- tag: F + optional: true + description: '`AUTOTEMP`: Autotemp flag. Omit to disable autotemp.' + values: + - tag: flag + type: bool + +- tag: B + optional: true + description: '`AUTOTEMP`: The max auto-temperature.' + values: + - tag: temp + type: float + +- tag: T + optional: true + description: Hotend index. If omitted, the currently active hotend will be used. + values: + - tag: index + type: int examples: - - - pre: Set target temperature for the active hotend - code: M104 S185 - - - pre: Set target temperature for E1 - code: M104 T1 S205 - - - pre: '`AUTOTEMP`: Set autotemp range' - code: M104 F S180 B190 - - - pre: '`AUTOTEMP`: Disable autotemp' - code: M104 + +- pre: Set target temperature for the active hotend + code: M104 S185 + +- pre: Set target temperature for E1 + code: M104 T1 S205 + +- pre: '`AUTOTEMP`: Set autotemp range' + code: M104 F S180 B190 + +- pre: '`AUTOTEMP`: Disable autotemp' + code: M104 --- diff --git a/_gcode/M105.md b/_gcode/M105.md index f44daca522..967f4fe19f 100644 --- a/_gcode/M105.md +++ b/_gcode/M105.md @@ -7,33 +7,31 @@ author: thinkyhead group: thermal codes: [ M105 ] -related: M155 +related: [ M155 ] notes: - - Some hosts may hide the reply from [`M105`](/docs/gcode/M105.html). - - A better way for hosts to get regular temperature updates is to use [`M155`](/docs/gcode/M155.html) (requires `AUTO_REPORT_TEMPERATURES` and `EXTENDED_CAPABILITIES_REPORT`). Hosts then no longer need to run an extra process or use up slots in the command buffer to receive temperatures. +- Some hosts may hide the reply from `M105`. +- A better way for hosts to get regular temperature updates is to use [`M155`](/docs/gcode/M155.html) (requires `AUTO_REPORT_TEMPERATURES` and `EXTENDED_CAPABILITIES_REPORT`). Hosts then no longer need to run an extra process or use up slots in the command buffer to receive temperatures. parameters: - - - tag: R - optional: true - description: Include the Redundant temperature sensor (if any) - values: - - - type: flag - - - tag: T - optional: true - description: Hotend index - values: - - - tag: index - type: int + +- tag: R + optional: true + description: Include the Redundant temperature sensor (if any) + values: + - type: flag + +- tag: T + optional: true + description: Hotend index + values: + - tag: index + type: int examples: - - - pre: Get a temperature report - code: M105 + +- pre: Get a temperature report + code: M105 --- diff --git a/_gcode/M106.md b/_gcode/M106.md index 9eef8677cd..3b9d6ced49 100644 --- a/_gcode/M106.md +++ b/_gcode/M106.md @@ -1,62 +1,59 @@ --- tag: m0106 title: Set Fan Speed -brief: Turn on the fan and set its speed +brief: Turn on fan and set speed author: thinkyhead group: thermal requires: EXTRA_FAN_SPEED codes: [ M106 ] +related: [ M107 ] notes: - - '[`M106`](/docs/gcode/M106.html) with no speed sets the fan to full speed.' - - Turn off fans with [`M107`](/docs/gcode/M107.html). +- '`M106` with no speed sets the fan to full speed.' +- Turn off fans with [`M107`](/docs/gcode/M107.html). +- With `LASER_SYNCHRONOUS_M106_M107` `M106` will turn on the laser. parameters: - - - tag: I - since: 2.0.6 - optional: true - description: Material preset index. Overrides `S`. - values: - - - type: int - tag: index - - - tag: S - optional: true - description: Speed, from 0 to 255. S255 provides 100% duty cycle; S128 produces 50%. - values: - - - tag: speed - type: byte - - - tag: P - optional: true - description: Fan index - values: - - - tag: index - type: int - - - tag: T - optional: true - description: | - Secondary speed. Added in Marlin 1.1.7. (Requires `EXTRA_FAN_SPEED`) - - `M106 P T3-255` sets a secondary speed for ``. - - `M106 P T2` uses the set secondary speed. - - `M106 P T1` restores the previous fan speed. - values: - - - tag: secondary - type: int + +- tag: I + since: 2.0.6 + optional: true + description: Material preset index. Overrides `S`. + values: + - type: int + tag: index + +- tag: S + optional: true + description: Speed, from 0 to 255. S255 provides 100% duty cycle; S128 produces 50%. + values: + - tag: speed + type: byte + +- tag: P + optional: true + description: Fan index + values: + - tag: index + type: int + +- tag: T + optional: true + description: | + Secondary speed. Added in Marlin 1.1.7. (Requires `EXTRA_FAN_SPEED`) + - `M106 P T3-255` sets a secondary speed for ``. + - `M106 P T2` uses the set secondary speed. + - `M106 P T1` restores the previous fan speed. + values: + - tag: secondary + type: int example: - - - pre: Turn on the fan at 200/255 DC - code: M106 S200 +- pre: Turn on the fan at 200/255 DC + code: M106 S200 --- -Turn on one of the fans and set its speed. If no fan index is given, the print cooling fan is selected. The fan speed applies to the next block added to the planner, so it will not take effect until previous moves in the planner are done. Under manual control with an idle machine, [`M106`](/docs/gcode/M106.html) will change the fan speed immediately. +Turn on one of the fans and set its speed. If no fan index is given, the print cooling fan is selected. The fan speed applies to the next block added to the planner, so it will not take effect until previous moves in the planner are done. Under manual control with an idle machine, `M106` will change the fan speed immediately. diff --git a/_gcode/M107.md b/_gcode/M107.md index f1a5cc7842..b126f11ddd 100644 --- a/_gcode/M107.md +++ b/_gcode/M107.md @@ -7,20 +7,20 @@ author: thinkyhead group: thermal codes: [ M107 ] +related: [ M106 ] -notes: Turn on fans with [`M106`](/docs/gcode/M106.html). +notes: +- Turn on fans with [`M106`](/docs/gcode/M106.html). +- With `LASER_SYNCHRONOUS_M106_M107` `M107` will turn off the laser. parameters: - - - tag: P - optional: true - description: Fan index - values: - - - tag: index - type: int -examples: +- tag: P + optional: true + description: Fan index + values: + - tag: index + type: int --- diff --git a/_gcode/M108.md b/_gcode/M108.md index 0ce0281a99..bc25e451fc 100644 --- a/_gcode/M108.md +++ b/_gcode/M108.md @@ -9,24 +9,21 @@ group: control codes: [ M108 ] notes: - - | - With both `EMERGENCY_PARSER` and `HOST_KEEPALIVE_FEATURE` enabled, hosts will be able to prompt for continuation or cancellation, confirming with [`M108`](/docs/gcode/M108.html) and cancelling with [`M112`](/docs/gcode/M112.html). - -parameters: +- With both `EMERGENCY_PARSER` and `HOST_KEEPALIVE_FEATURE` enabled, hosts will be able to prompt for continuation or cancellation, confirming with `M108` and cancelling with [`M112`](/docs/gcode/M112.html). example: - - - pre: Use [`M108`](/docs/gcode/M108.html) as a "Continue" button in your host software. - code: - - M0 You're up, mate ; in your G-code file - - M108 ; as your "Continue" button + +- pre: Use `M108` as a "Continue" button in your host software. + code: + - M0 You're up, mate ; in your G-code file + - M108 ; as your "Continue" button --- -The [`M108`](/docs/gcode/M108.html) command requires `EMERGENCY_PARSER` for full effectiveness. (Otherwise a full queue blocks the parser.) +The `M108` command requires `EMERGENCY_PARSER` for full effectiveness. (Otherwise a full queue blocks the parser.) Some G-code commands cause Marlin to go into a closed loop, waiting indefinitely for a certain state or event. For example, [`M109`](/docs/gcode/M109.html) waits for the target temperature to be reached, and [`M0`](/docs/gcode/M000-M001.html) waits for an LCD click. -In the case of [`M109`](/docs/gcode/M109.html), the [`M108`](/docs/gcode/M108.html) command stops waiting for the target temperature and continues processing G-code. This may result in "cold extrude" messages. For a full stop use [`M112`](/docs/gcode/M112.html). +In the case of [`M109`](/docs/gcode/M109.html), the `M108` command stops waiting for the target temperature and continues processing G-code. This may result in "cold extrude" messages. For a full stop use [`M112`](/docs/gcode/M112.html). -In the case of [`M0`](/docs/gcode/M000-M001.html) the [`M108`](/docs/gcode/M108.html) command acts like the LCD button, breaking out of [`M0`](/docs/gcode/M000-M001.html) and continuing to process the G-code queue. +In the case of [`M0`](/docs/gcode/M000-M001.html) the `M108` command acts like the LCD button, breaking out of [`M0`](/docs/gcode/M000-M001.html) and continuing to process the G-code queue. diff --git a/_gcode/M109.md b/_gcode/M109.md index b743ed5b11..a3c784b56a 100644 --- a/_gcode/M109.md +++ b/_gcode/M109.md @@ -7,81 +7,75 @@ author: thinkyhead group: thermal codes: [ M109 ] +related: [ M104 ] notes: - - With `PRINTJOB_TIMER_AUTOSTART` this command will start the print job if heating, and stop the print job timer if the temperature is set at or below half of `EXTRUDE_MINTEMP`. - - This command (as well as [`M190`](/docs/gcode/M190.html)) can block new commands from the host, preventing remote shutdown. However, if `EMERGENCY_PARSER` is enabled, a host can send [`M108`](/docs/gcode/M108.html) to break out of the wait loop. - - To set the hot end temperature and proceed without waiting, use [`M104`](/docs/gcode/M104.html). +- With `PRINTJOB_TIMER_AUTOSTART` this command will start the print job if heating, and stop the print job timer if the temperature is set at or below half of `EXTRUDE_MINTEMP`. +- This command (as well as [`M190`](/docs/gcode/M190.html)) can block new commands from the host, preventing remote shutdown. However, if `EMERGENCY_PARSER` is enabled, a host can send [`M108`](/docs/gcode/M108.html) to break out of the wait loop. +- To set the hot end temperature and proceed without waiting, use [`M104`](/docs/gcode/M104.html). parameters: - - - tag: I - since: 2.0.6 - optional: true - description: Material preset index. Overrides `S`. - values: - - - type: int - tag: index - - - tag: S - optional: true - description: 'Target temperature (wait only when heating). Also `AUTOTEMP`: The min auto-temperature.' - values: - - - tag: temp - type: float - - - tag: R - optional: true - description: Target temperature (wait for cooling or heating). - values: - - - tag: temp - type: float - - - tag: F - optional: true - description: Autotemp flag. Omit to disable autotemp. - values: - - - tag: flag - type: bool - - - tag: B - optional: true - description: With `AUTOTEMP`, the max auto-temperature. - values: - - - tag: temp - type: float - - - tag: T - optional: true - description: Hotend index. If omitted, the currently active hotend will be used. - values: - - - tag: index - type: int +- tag: I + since: 2.0.6 + optional: true + description: Material preset index. Overrides `S`. + values: + - tag: index + type: int + +- tag: S + optional: true + description: 'Target temperature (wait only when heating). Also `AUTOTEMP`: The min auto-temperature.' + values: + - tag: temp + type: float + +- tag: R + optional: true + description: Target temperature (wait for cooling or heating). + values: + - tag: temp + type: float + +- tag: F + optional: true + description: Autotemp flag. Omit to disable autotemp. + values: + - tag: flag + type: bool + +- tag: B + optional: true + description: With `AUTOTEMP`, the max auto-temperature. + values: + - tag: temp + type: float + +- tag: T + optional: true + description: Hotend index. If omitted, the currently active hotend will be used. + values: + - tag: index + type: int examples: - - - pre: Set target temperature and wait (if heating up) - code: M109 S180 - - - pre: Set target temperature, wait even if cooling - code: M109 R120 - - - pre: Set target temperature for E1 and wait (if heating up) - code: M109 T1 R205 - - - pre: '`AUTOTEMP`: Set autotemp range, wait for temp' - code: M109 F S180 B190 - - - pre: '`AUTOTEMP`: Disable autotemp, wait for temp' - code: M109 + +- pre: Set target temperature and wait (if heating up) + code: M109 S180 + +- pre: Set target temperature, wait even if cooling + code: M109 R120 + +- pre: Set target temperature for E1 and wait (if heating up) + code: M109 T1 R205 + +- pre: '`AUTOTEMP`: Set autotemp range, wait for temp' + code: M109 F S180 B190 + +- pre: '`AUTOTEMP`: Disable autotemp, wait for temp' + code: M109 --- -This command optionally sets a new target hot end temperature and waits for the target temperature to be reached before proceeding. If the temperature is set with `S` then [`M109`](/docs/gcode/M109.html) waits *only when heating*. If the temperature is set with `R` then [`M109`](/docs/gcode/M109.html) will also wait for the temperature to go down. +This command optionally sets a new target hot end temperature and waits for the target temperature to be reached before proceeding. If the temperature is set with `S` then `M109` waits *only when heating*. If the temperature is set with `R` then `M109` will also wait for the temperature to go down. diff --git a/_gcode/M110.md b/_gcode/M110.md index 17b2796de6..2eb1ea89c3 100644 --- a/_gcode/M110.md +++ b/_gcode/M110.md @@ -8,21 +8,17 @@ group: hosts codes: [ M110 ] -notes: - - 'All these are valid: `N100 M110`, `M110 N100`, `N101 M110 N100`.' +notes: "All these are valid: `N100 M110`, `M110 N100`, `N101 M110 N100`." parameters: - - - tag: N - optional: false - description: Line number - values: - - - tag: line - type: int -examples: +- tag: N + optional: false + description: Line number + values: + - tag: line + type: int --- -Hosts can use [`M110`](/docs/gcode/M110.html) to set the current line number in a print job. Each line number sent by a host must be one higher than the previous line number, or the firmware will ignore the line and send an error requesting a resend of the missing line. This is one technique Marlin uses to keep in sync with hosts. +Hosts can use `M110` to set the current line number in a print job. Each line number sent by a host must be one higher than the previous line number, or the firmware will ignore the line and send an error requesting a resend of the missing line. This is one technique Marlin uses to keep in sync with hosts. diff --git a/_gcode/M111.md b/_gcode/M111.md index fda57bc096..b4165390f6 100644 --- a/_gcode/M111.md +++ b/_gcode/M111.md @@ -8,31 +8,28 @@ group: hosts codes: [ M111 ] -notes: - parameters: - - - tag: S - optional: true - description: Debug flag bits - values: - - - tag: flags - type: byte + +- tag: S + optional: true + description: Debug flag bits + values: + - tag: flags + type: byte examples: - - - pre: Enable extra messages - code: M111 S38 ; LEVELING, ERRORS, INFO - - - pre: Enable dry-run mode - code: M111 S8 - - - pre: Enable everything except dry-run mode - code: M111 S247 ; 255 - 8 - - - pre: Disable previously set extra debugging output - code: M111 S0 + +- pre: Enable extra messages + code: M111 S38 ; LEVELING, ERRORS, INFO + +- pre: Enable dry-run mode + code: M111 S8 + +- pre: Enable everything except dry-run mode + code: M111 S247 ; 255 - 8 + +- pre: Disable previously set extra debugging output + code: M111 S0 --- diff --git a/_gcode/M112.md b/_gcode/M112.md index 2a865dd024..915c5fa2a1 100644 --- a/_gcode/M112.md +++ b/_gcode/M112.md @@ -8,17 +8,14 @@ group: safety codes: [ M112 ] -notes: '[`M112`](/docs/gcode/M112.html) is the fastest way to shut down the machine using a host, but it may need to wait for a space to open up in the command queue. Enable `EMERGENCY_PARSER` for an instantaneous [`M112`](/docs/gcode/M112.html) command.' +notes: '`M112` is the fastest way to shut down the machine using a host, but it may need to wait for a space to open up in the command queue. Enable `EMERGENCY_PARSER` for an instantaneous `M112` command.' -parameters: - -examples: - - - pre: Shut down now! - code: M112 +example: +- pre: Shut down now! + code: M112 --- -Used for immediate halt, [`M112`](/docs/gcode/M112.html) shuts down the machine, turns off all the steppers and heaters, and if possible, turns off the power supply. A reset is required to return to operational mode. +Used for immediate halt, `M112` shuts down the machine, turns off all the steppers and heaters, and if possible, turns off the power supply. A reset is required to return to operational mode. `M112` is NOT a safety-rated "Emergency Stop" in the formal sense and is not guaranteed to meet the requirements of any safety category or required performance level (PLr). This is functionally a control stop. Machine builders should perform their own risk-assessment and implement suitable safety stop devices. diff --git a/_gcode/M113.md b/_gcode/M113.md index f9edff7fb4..501a95d250 100644 --- a/_gcode/M113.md +++ b/_gcode/M113.md @@ -9,22 +9,18 @@ group: hosts codes: [ M113 ] -notes: Requires `HOST_KEEPALIVE_FEATURE`. - parameters: - - - tag: S - optional: true - description: Keepalive interval (0-60). - values: - - - tag: seconds - type: int + +- tag: S + optional: true + description: Keepalive interval (0-60). + values: + - tag: seconds + type: int example: - - - pre: Set the keepalive interval to 5 seconds - code: M113 S5 +- pre: Set the keepalive interval to 5 seconds + code: M113 S5 --- diff --git a/_gcode/M114.md b/_gcode/M114.md index 7dc614340d..f6f70bd4c1 100644 --- a/_gcode/M114.md +++ b/_gcode/M114.md @@ -6,44 +6,42 @@ author: thinkyhead group: hosts codes: [ M114 ] -related: M154 +related: [ M154 ] notes: - - Hosts should respond to the output of `M114` by updating their current position. - - G-code [`M154`](/docs/gcode/M154.html) can be used to to auto-report positions to the host, reducing serial traffic. +- Hosts should respond to the output of `M114` by updating their current position. +- G-code [`M154`](/docs/gcode/M154.html) can be used to to auto-report positions to the host, reducing serial traffic. parameters: - - - tag: D - optional: true - description: Detailed information (requires `M114_DETAIL`) - values: - - - type: flag - - - tag: E - optional: true - description: Report E stepper position (requires `M114_DETAIL`) - values: - - - type: flag - - - tag: R - optional: true - description: Real position information (requires `M114_REALTIME`) - values: - - - type: flag + +- tag: D + optional: true + description: Detailed information (requires `M114_DETAIL`) + values: + - type: flag + +- tag: E + optional: true + description: Report E stepper position (requires `M114_DETAIL`) + values: + - type: flag + +- tag: R + optional: true + description: Real position information (requires `M114_REALTIME`) + values: + - type: flag example: - - - pre: Get the _projected_ current position - code: | - > M114 - X:0.00 Y:127.00 Z:145.00 E:0.00 Count X: 0 Y:10160 Z:116000 - ok + +- pre: Get the _projected_ current position + code: | + > M114 + X:0.00 Y:127.00 Z:145.00 E:0.00 Count X: 0 Y:10160 Z:116000 + ok --- + Get the "current position" of the active tool. Stepper values are included. If `M114_LEGACY` is enabled the planner will be synchronized before reporting so that the reported position is not be ahead of the actual planner position. diff --git a/_gcode/M115.md b/_gcode/M115.md index a1bc0d796e..055b9d622b 100644 --- a/_gcode/M115.md +++ b/_gcode/M115.md @@ -8,13 +8,8 @@ group: hosts codes: [ M115 ] -notes: - -parameters: - -examples: - --- + This command causes Marlin to output a string like this: ``` diff --git a/_gcode/M117.md b/_gcode/M117.md index dee012cdb3..4311497fb5 100644 --- a/_gcode/M117.md +++ b/_gcode/M117.md @@ -8,21 +8,20 @@ requires: ULTRA_LCD group: lcd codes: [ M117 ] +related: [ M118 ] notes: - - Requires an LCD controller. - - The message should appear immediately, but it will depend on LCD settings. +- Requires an LCD controller. +- The message should appear immediately, but it will depend on LCD settings. parameters: - - - tag: string - optional: true - description: LCD status message +- tag: string + optional: true + description: LCD status message -examples: - - - pre: Set the message to "Hello World!" - code: M117 Hello World! +example: +- pre: Set the message to "Hello World!" + code: M117 Hello World! --- diff --git a/_gcode/M118.md b/_gcode/M118.md index e08f9d9233..a177f90ab2 100644 --- a/_gcode/M118.md +++ b/_gcode/M118.md @@ -8,46 +8,43 @@ contrib: shitcreek, Teddyz group: hosts codes: [ M118 ] +related: [ M117 ] notes: - - The `E`, `A`, and `P` parameters must precede the message. - - Can also send message to serial port. +- The `E`, `A`, and `P` parameters must precede the message. +- Can also send the message to the serial port for hosts to display. parameters: - - - tag: string - optional: true - description: Message string. If omitted, a blank line will be sent. - - - tag: A1 - optional: true - description: Prepend `// ` to denote a comment or action command. Hosts like OctoPrint can interpret such commands to perform special actions. See your host's documentation. - - - tag: E1 - optional: true - description: Prepend `echo:` to the message. Some hosts will display echo messages differently when preceded by `echo:`. - - - tag: Pn - optional: true - description: Send message to host serial port (1-9). - values: - - - tag: 0 - description: Send message to all ports. - - - tag: 1 - description: Send message to main host serial port. - - - tag: 2 - description: Send message to secondary host serial port. Requires `SERIAL_PORT_2`. + +- tag: string + optional: true + description: Message string. If omitted, a blank line will be sent. + +- tag: A1 + optional: true + description: Prepend `// ` to denote a comment or action command. Hosts like OctoPrint can interpret such commands to perform special actions. See your host's documentation. + +- tag: E1 + optional: true + description: Prepend `echo:` to the message. Some hosts will display echo messages differently when preceded by `echo:`. + +- tag: Pn + optional: true + description: Send message to host serial port (1-9). + values: + - tag: 0 + description: Send message to all ports. + - tag: 1 + description: Send message to main host serial port. + - tag: 2 + description: Send message to secondary host serial port. Requires `SERIAL_PORT_2`. examples: - - - pre: Echo "Yello World!" in the console - code: M118 E1 Yello World! - - - pre: Tell [OctoPrint](//docs.octoprint.org/en/master/features/action_commands.html) to cancel the print job - code: M118 A1 action:cancel +- pre: Echo "Yello World!" in the console + code: M118 E1 Yello World! + +- pre: Tell [OctoPrint](//docs.octoprint.org/en/master/features/action_commands.html) to cancel the print job + code: M118 A1 action:cancel --- diff --git a/_gcode/M119.md b/_gcode/M119.md index 20baa776b8..505ab283df 100644 --- a/_gcode/M119.md +++ b/_gcode/M119.md @@ -9,22 +9,20 @@ group: debug codes: [ M119 ] notes: - - The `BLTOUCH` probe only sends a brief pulse, so "`TRIGGERED`" indicates the probe is in error state. - - Similarly, Trinamic's Sensorless Homing only sends a short pulse, so for these "`TRIGGERED`" is unusual. - -parameters: +- The `BLTOUCH` probe only sends a brief pulse, so "`TRIGGERED`" indicates the probe is in error state. +- Similarly, Trinamic's Sensorless Homing only sends a short pulse, so for these "`TRIGGERED`" is unusual. example: - - - pre: Get all endstop states - code: | - > M119 - Reporting endstop status - x_min: open - y_min: open - z_min: TRIGGERED - z_probe: open - filament: open + +- pre: Get all endstop states + code: | + > M119 + Reporting endstop status + x_min: open + y_min: open + z_min: TRIGGERED + z_probe: open + filament: open --- diff --git a/_gcode/M120.md b/_gcode/M120.md index f7260f3b75..17e414a21e 100644 --- a/_gcode/M120.md +++ b/_gcode/M120.md @@ -1,21 +1,19 @@ --- tag: m0120 title: Enable Endstops -brief: Enable endstops and keep them enabled when not homing. +brief: Enable endstops and keep them enabled even when not homing. author: thinkyhead group: control codes: [ M120 ] +related: [ M121 ] notes: After this command endstops will be kept enabled when not homing. This may have side-effects if using `SD_ABORT_ON_ENDSTOP_HIT`. -parameters: - -examples: - - - pre: Enable endstops - code: M120 +example: +- pre: Enable endstops + code: M120 --- diff --git a/_gcode/M121.md b/_gcode/M121.md index 35a65f3be1..760f21ac45 100644 --- a/_gcode/M121.md +++ b/_gcode/M121.md @@ -1,21 +1,19 @@ --- tag: m0121 title: Disable Endstops -brief: Disable endstops and keep them enabled when not homing. +brief: Disable endstops and keep them disabled when not homing. author: thinkyhead group: control codes: [ M121 ] +related: [ M120 ] notes: After this command endstops will be kept disabled when not homing. This may have side-effects if using `SD_ABORT_ON_ENDSTOP_HIT`. -parameters: - -examples: - - - pre: Disable endstops - code: M121 +example: +- pre: Disable endstops + code: M121 --- diff --git a/_gcode/M122.md b/_gcode/M122.md index d5b9873338..63dbff842c 100644 --- a/_gcode/M122.md +++ b/_gcode/M122.md @@ -5,106 +5,105 @@ brief: Get TMC Debug Info author: mbuc since: 1.1.7 -requires: HAS_TRINAMIC_CONFIG group: debug codes: [ M122 ] notes: - - '`TMC_DEBUG` is no longer required to enable this G-code in Marlin 2.x, but enabling it produces an extended report.' - - Responses of all `LOW` (`00:00:00:00`) or all `HIGH` (`FF:FF:FF:FF`) are signs of a communication problem.
- See [TMC Troubleshooting](/docs/hardware/tmc_drivers.html) for further information. +- Requires at least one Trinamic stepper driver with SPI or UART connection. +- '`TMC_DEBUG` is no longer required to enable this G-code in Marlin 2.x, but enabling it produces an extended report.' +- Responses of all `LOW` (`00:00:00:00`) or all `HIGH` (`FF:FF:FF:FF`) are signs of a communication problem.
+ See [TMC Troubleshooting](/docs/hardware/tmc_drivers.html) for further information. parameters: - - - tag: I - since: 2.0.6 - optional: true - description: Flag to re-initialize stepper drivers with current settings. - - - tag: X - optional: true - description: Target X driver(s) only. - - - tag: Y - optional: true - description: Target Y driver(s) only. - - - tag: Z - optional: true - description: Target Z driver(s) only. - - - tag: E - optional: true - description: Target E driver(s) only. - - - tag: V - requires: TMC_DEBUG - optional: true - description: Report raw register data. Refer to the datasheet to decipher the report. - - - tag: S - requires: TMC_DEBUG, MONITOR_DRIVER_STATUS - type: bool - optional: true - description: Flag to enable/disable continuous debug reporting. - - - tag: P - requires: TMC_DEBUG, MONITOR_DRIVER_STATUS - optional: true - description: Interval between continuous debug reports, in milliseconds. - values: - - - tag: ms - type: int + +- tag: I + since: 2.0.6 + optional: true + description: Flag to re-initialize stepper drivers with current settings. + +- tag: X + optional: true + description: Target X driver(s) only. + +- tag: Y + optional: true + description: Target Y driver(s) only. + +- tag: Z + optional: true + description: Target Z driver(s) only. + +- tag: E + optional: true + description: Target E driver(s) only. + +- tag: V + requires: TMC_DEBUG + optional: true + description: Report raw register data. Refer to the datasheet to decipher the report. + +- tag: S + requires: TMC_DEBUG, MONITOR_DRIVER_STATUS + type: bool + optional: true + description: Flag to enable/disable continuous debug reporting. + +- tag: P + requires: TMC_DEBUG, MONITOR_DRIVER_STATUS + optional: true + description: Interval between continuous debug reports, in milliseconds. + values: + - tag: ms + type: int examples: - - - pre: 'Enable debugging output:' - code: M122 S1 - - - pre: 'Get all (supported) Trinamic driver states:' - code: | - > M122 - X Y - Enabled false false - Set current 850 850 - RMS current 826 826 - MAX current 1165 1165 - Run current 26/31 26/31 - Hold current 13/31 13/31 - CS actual 13/31 13/31 - PWM scale 41 41 - vsense 1=.18 1=.18 - stealthChop true true - msteps 16 16 - tstep 1048575 1048575 - pwm - threshold 0 0 - [mm/s] - - - OT prewarn false false - OT prewarn has - been triggered false false - off time 5 5 - blank time 24 24 - hysterisis - -end 2 2 - -start 3 3 - Stallguard thrs 0 0 - DRVSTATUS X Y - stallguard - sg_result 0 0 - fsactive - stst - olb - ola - s2gb - s2ga - otpw - ot - 'Driver registers:' - X = 0x80:0D:00:00 - Y = 0x80:0D:00:00 + +- pre: 'Enable debugging output:' + code: M122 S1 + +- pre: 'Get all (supported) Trinamic driver states:' + code: | + > M122 + X Y + Enabled false false + Set current 850 850 + RMS current 826 826 + MAX current 1165 1165 + Run current 26/31 26/31 + Hold current 13/31 13/31 + CS actual 13/31 13/31 + PWM scale 41 41 + vsense 1=.18 1=.18 + stealthChop true true + msteps 16 16 + tstep 1048575 1048575 + pwm + threshold 0 0 + [mm/s] - - + OT prewarn false false + OT prewarn has + been triggered false false + off time 5 5 + blank time 24 24 + hysterisis + -end 2 2 + -start 3 3 + Stallguard thrs 0 0 + DRVSTATUS X Y + stallguard + sg_result 0 0 + fsactive + stst + olb + ola + s2gb + s2ga + otpw + ot + 'Driver registers:' + X = 0x80:0D:00:00 + Y = 0x80:0D:00:00 --- diff --git a/_gcode/M123.md b/_gcode/M123.md index 2dabaec487..912f75282d 100644 --- a/_gcode/M123.md +++ b/_gcode/M123.md @@ -8,15 +8,12 @@ group: control codes: [ M123 ] -parameters: - examples: - - - pre: Report current fan speeds - code: M123 - - - pre: Report fan speeds every 5 seconds - code: M123 S5 +- pre: Report current fan speeds + code: M123 + +- pre: Report fan speeds every 5 seconds + code: M123 S5 --- diff --git a/_gcode/M125.md b/_gcode/M125.md index 8d742309ca..69abdcd365 100644 --- a/_gcode/M125.md +++ b/_gcode/M125.md @@ -9,53 +9,45 @@ group: nozzle codes: [ M125 ] -notes: Requires `PARK_HEAD_ON_PAUSE`. - parameters: - - - tag: L - optional: true - description: Retract length (otherwise `FILAMENT_CHANGE_RETRACT_LENGTH`) - values: - - - tag: linear - type: float - - - tag: X - optional: true - description: X position to park at (otherwise `FILAMENT_CHANGE_X_POS`) - values: - - - tag: linear - type: float - - - tag: Y - optional: true - description: Y position to park at (otherwise `FILAMENT_CHANGE_Y_POS`) - values: - - - tag: linear - type: float - - - tag: Z - optional: true - description: Z raise before park (otherwise `FILAMENT_CHANGE_Z_ADD`) - values: - - - tag: linear - type: float - - - tag: P - optional: true - description: Always show a prompt and await a response (With an LCD menu) - values: - - - type: bool - -examples: - - - pre: Retract 2cm of filament and park the nozzle - code: M125 L20 ; park and retract + +- tag: L + optional: true + description: Retract length (otherwise `FILAMENT_CHANGE_RETRACT_LENGTH`) + values: + - tag: linear + type: float + +- tag: X + optional: true + description: X position to park at (otherwise `FILAMENT_CHANGE_X_POS`) + values: + - tag: linear + type: float + +- tag: Y + optional: true + description: Y position to park at (otherwise `FILAMENT_CHANGE_Y_POS`) + values: + - tag: linear + type: float + +- tag: Z + optional: true + description: Z raise before park (otherwise `FILAMENT_CHANGE_Z_ADD`) + values: + - tag: linear + type: float + +- tag: P + optional: true + description: Always show a prompt and await a response (With an LCD menu) + values: + - type: bool + +example: +- pre: Retract 2cm of filament and park the nozzle + code: M125 L20 ; park and retract --- diff --git a/_gcode/M126.md b/_gcode/M126.md index 7932305892..a2eff43e6c 100644 --- a/_gcode/M126.md +++ b/_gcode/M126.md @@ -8,22 +8,21 @@ requires: BARICUDA group: baricuda codes: [ M126 ] +related: [ M127, M128, M129 ] notes: Requires `BARICUDA`. parameters: - - - tag: S - optional: true - description: Valve pressure - values: - - - tag: pressure - type: byte - -examples: - - - code: M126 ; open valve 1 + +- tag: S + optional: true + description: Valve pressure + values: + - tag: pressure + type: byte + +example: +- code: M126 ; open valve 1 --- diff --git a/_gcode/M127.md b/_gcode/M127.md index 928a143168..f00066688f 100644 --- a/_gcode/M127.md +++ b/_gcode/M127.md @@ -8,14 +8,10 @@ requires: BARICUDA group: baricuda codes: [ M127 ] +related: [ M126, M128, M129 ] -notes: Requires `BARICUDA`. - -parameters: - -examples: - - - code: M127 ; close valve 1 +example: +- code: M127 ; close valve 1 --- diff --git a/_gcode/M128.md b/_gcode/M128.md index 652f169e13..a933a9ad38 100644 --- a/_gcode/M128.md +++ b/_gcode/M128.md @@ -8,22 +8,19 @@ requires: BARICUDA group: baricuda codes: [ M128 ] - -notes: Requires `BARICUDA`. +related: [ M126, M127, M129 ] parameters: - - - tag: S - optional: true - description: Valve pressure - values: - - - tag: pressure - type: byte -examples: - - - code: M128 ; open valve 2 +- tag: S + optional: true + description: Valve pressure + values: + - tag: pressure + type: byte + +example: +- code: M128 ; open valve 2 --- diff --git a/_gcode/M129.md b/_gcode/M129.md index 80afbdeed8..03600c3cfc 100644 --- a/_gcode/M129.md +++ b/_gcode/M129.md @@ -8,14 +8,12 @@ requires: BARICUDA group: baricuda codes: [ M129 ] +related: [ M126, M127, M128 ] notes: Requires `BARICUDA`. -parameters: - -examples: - - - code: M129 ; close valve 2 +example: +- code: M129 ; close valve 2 --- diff --git a/_gcode/M140.md b/_gcode/M140.md index f199da0312..37594eca0d 100644 --- a/_gcode/M140.md +++ b/_gcode/M140.md @@ -7,35 +7,31 @@ author: thinkyhead group: thermal codes: [ M140 ] +related: [ M190 ] -notes: +notes: Use [`M190`](/docs/gcode/M190.html) to set the bed temperature and pause until the target is reached. parameters: - - - tag: I - since: 2.0.6 - optional: true - description: Material preset index. Overrides `S`. - values: - - - type: int - tag: index - - - tag: S - optional: true - description: Target temperature - values: - - - tag: temp - type: float + +- tag: I + since: 2.0.6 + optional: true + description: Material preset index. Overrides `S`. + values: + - tag: index + type: int + +- tag: S + optional: true + description: Target temperature + values: + - tag: temp + type: float examples: - - - pre: Set target temperature, no waiting - code: M140 S80 +- pre: Set target temperature, no waiting + code: M140 S80 --- Set a new target temperature for the heated bed and continue without waiting. The firmware manages heating in the background. - -Use [`M190`](/docs/gcode/M190.html) to wait for the bed to reach the target temperature. diff --git a/_gcode/M141.md b/_gcode/M141.md index 9880fad769..892da30069 100644 --- a/_gcode/M141.md +++ b/_gcode/M141.md @@ -7,23 +7,20 @@ author: GMagician group: thermal codes: [ M141 ] - -notes: +related: [ M191 ] parameters: - - - tag: S - optional: true - description: 'Target temperature.
`AUTOTEMP`: the min auto-temperature.' - values: - - - tag: temp - type: float -examples: - - - pre: Set chamber target temperature to 40°C - code: M141 S40 +- tag: S + optional: true + description: 'Target temperature.
`AUTOTEMP`: the min auto-temperature.' + values: + - tag: temp + type: float + +example: +- pre: Set chamber target temperature to 40°C + code: M141 S40 --- diff --git a/_gcode/M143.md b/_gcode/M143.md index ad1eac8240..e88655d543 100644 --- a/_gcode/M143.md +++ b/_gcode/M143.md @@ -1,6 +1,5 @@ --- tag: m0143 - title: Set Laser Cooler Temperature brief: Set a new target laser coolant temperature. author: descipher @@ -9,51 +8,47 @@ group: thermal since: 2.0.8 codes: [ M143 ] +related: [ M193 ] requires: TEMP_SENSOR_COOLER, TEMP_COOLER_PIN, COOLER_PIN, LASER_FEATURE notes: - - Configuration settings. - - '`COOLER_MINTEMP` Provides a low end safe operating temperature, cannot be lower than 1°C. CO2 lasers tubes can be damaged with values less than 15°C.' - - '`COOLER_MAXTEMP` Provides a high end safe operating temperature, when breached the system will shutdown if `THERMAL_PROTECTION_COOLER` is defined. CO2 laser tube life degrades exponentially at temperatures above 24°C.' - - '`COOLER_DEFAULT_TEMP` LCD menu default value is 16°C.' - - '`TEMP_COOLER_HYSTERESIS` The accepatble temperature variance + or - to the target.' - - '`COOLER_PIN` Cooler on/off pin used to control power to the cooling element.' - - '`COOLER_INVERTING` Inverts the on value to 0.' - - '`TEMP_COOLER_PIN` Laser/Cooler temperature sensor pin.' - - '`COOLER_FAN` Enables a fan on the cooler.' - - '`COOLER_FAN_INDEX` Defines which fan to use 0,1,2 etc.' - - '`COOLER_FAN_BASE` Base cooler fan PWM (0-255); on when the cooler is enabled.' - - '`COOLER_FAN_FACTOR` PWM increase per °C above target.' - - '`THERMAL_PROTECTION_COOLER` Enables thermal shutdown protection.' - - '`THERMAL_PROTECTION_COOLER_PERIOD` Thermal protection check interval in seconds.' - - '`THERMAL_PROTECTION_COOLER_HYSTERESIS` Thermal variance +- limits check interval.' - - '`WATCH_COOLER_TEMP_PERIOD` Check interval in seconds before runaway condition shutdown.' - - '`WATCH_COOLER_TEMP_INCREASE` Allowable increase during check interval.' +- Configuration settings. +- '`COOLER_MINTEMP` Provides a low end safe operating temperature, cannot be lower than 1°C. CO2 lasers tubes can be damaged with values less than 15°C.' +- '`COOLER_MAXTEMP` Provides a high end safe operating temperature, when breached the system will shutdown if `THERMAL_PROTECTION_COOLER` is defined. CO2 laser tube life degrades exponentially at temperatures above 24°C.' +- '`COOLER_DEFAULT_TEMP` LCD menu default value is 16°C.' +- '`TEMP_COOLER_HYSTERESIS` The accepatble temperature variance + or - to the target.' +- '`COOLER_PIN` Cooler on/off pin used to control power to the cooling element.' +- '`COOLER_INVERTING` Inverts the on value to 0.' +- '`TEMP_COOLER_PIN` Laser/Cooler temperature sensor pin.' +- '`COOLER_FAN` Enables a fan on the cooler.' +- '`COOLER_FAN_INDEX` Defines which fan to use 0,1,2 etc.' +- '`COOLER_FAN_BASE` Base cooler fan PWM (0-255); on when the cooler is enabled.' +- '`COOLER_FAN_FACTOR` PWM increase per °C above target.' +- '`THERMAL_PROTECTION_COOLER` Enables thermal shutdown protection.' +- '`THERMAL_PROTECTION_COOLER_PERIOD` Thermal protection check interval in seconds.' +- '`THERMAL_PROTECTION_COOLER_HYSTERESIS` Thermal variance +- limits check interval.' +- '`WATCH_COOLER_TEMP_PERIOD` Check interval in seconds before runaway condition shutdown.' +- '`WATCH_COOLER_TEMP_INCREASE` Allowable increase during check interval.' parameters: - - - tag: S - optional: true +- tag: S + optional: true + description: 'Target laser coolant temperature.' + values: + - tag: temp + type: float - description: 'Target laser coolant temperature.' +examples: - values: - - - tag: temp - type: float +- pre: Set laser coolant target temperature to 15°C + code: M143 S15 -examples: - - - pre: Set laser coolant target temperature to 15°C - code: M143 S15 - - - pre: Turn laser cooler off - code: M143 S0 +- pre: Turn laser cooler off + code: M143 S0 --- Set a cooler target temperature and continue without waiting. The firmware manages cooling in the background. -Any value greater than the COOLER_MAXTEMP (set in Configuratin_adv.h) will be set to the COOLER_MAXTEMP value. -Use [`M193`](/docs/gcode/M193.html) if you want to wait for the cooler to reach the target temperature. - +Any value greater than the `COOLER_MAXTEMP` (set in Configuratin_adv.h) will be set to the `COOLER_MAXTEMP` value. +Use [`M193`](/docs/gcode/M193.html) to wait for the cooler to reach the target temperature. diff --git a/_gcode/M145.md b/_gcode/M145.md index 53c360bfdd..ecd577f16f 100644 --- a/_gcode/M145.md +++ b/_gcode/M145.md @@ -15,43 +15,38 @@ notes: - If `EEPROM_SETTINGS` is enabled, these settings are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). parameters: - - - tag: S - optional: true - description: Material index - values: - - - tag: index - type: int - - - tag: H - optional: true - description: Hotend temperature - values: - - - tag: temp - type: int - - - tag: B - optional: true - description: Bed temperature - values: - - - tag: temp - type: int - - - tag: F - optional: true - description: Fan speed - values: - - - tag: speed - type: byte - -examples: - - - pre: Set heatup presets for material 1 - code: M145 S0 H190 B70 F50 + +- tag: S + optional: true + description: Material index + values: + - tag: index + type: int + +- tag: H + optional: true + description: Hotend temperature + values: + - tag: temp + type: int + +- tag: B + optional: true + description: Bed temperature + values: + - tag: temp + type: int + +- tag: F + optional: true + description: Fan speed + values: + - tag: speed + type: byte + +example: +- pre: Set heatup presets for material 1 + code: M145 S0 H190 B70 F50 --- diff --git a/_gcode/M149.md b/_gcode/M149.md index caf39a5308..ea91b4eeed 100644 --- a/_gcode/M149.md +++ b/_gcode/M149.md @@ -9,23 +9,19 @@ group: units codes: [ M149 ] -notes: - parameters: - - - tag: C - optional: true - description: Celsius - - - tag: F - optional: true - description: Fahrenheit - - - tag: K - optional: true - description: Kelvin - -examples: + +- tag: C + optional: true + description: Celsius + +- tag: F + optional: true + description: Fahrenheit + +- tag: K + optional: true + description: Kelvin --- diff --git a/_gcode/M150.md b/_gcode/M150.md index 19af08b374..7aa976c349 100644 --- a/_gcode/M150.md +++ b/_gcode/M150.md @@ -12,93 +12,85 @@ codes: [ M150 ] notes: Requires `BLINKM`, `RGB_LED`, `RGBW_LED`, `NEOPIXEL_LED` or `PCA9632`. parameters: - - - tag: R - optional: true - description: Red component from 0 to 255 - values: - - - tag: intensity - type: byte - - - tag: U - optional: true - description: Green component from 0 to 255 - values: - - - tag: intensity - type: byte - - - tag: B - optional: true - description: Blue component from 0 to 255 - values: - - - tag: intensity - type: byte - - - tag: W - optional: true - description: White component from 0 to 255 (`RGBW_LED` or `NEOPIXEL_LED` only) - values: - - - tag: intensity - type: byte - - - tag: P - optional: true - requires: NEOPIXEL_LED - description: Brightness from 0 to 255 (Requires `NEOPIXEL_LED`) - values: - - - tag: intensity - type: byte - - - tag: I - since: 2.0.6 - optional: true - requires: NEOPIXEL_LED - description: NeoPixel pixel index (0 .. pixels-1) (Requires `NEOPIXEL_LED`) - values: - - - tag: pixel - type: int - - - tag: S - since: 2.0.6.1 - optional: true - requires: NEOPIXEL2_SEPARATE - description: NeoPixel strip index (0 or 1) (Requires `NEOPIXEL2_SEPARATE`) - values: - - - tag: strip - type: int - - - tag: K - optional: true - requires: NEOPIXEL_LED - description: Keep all unspecified values unchanged (Requires `NEOPIXEL_LED`) - values: - - - type: flag + +- tag: R + optional: true + description: Red component from 0 to 255 + values: + - tag: intensity + type: byte + +- tag: U + optional: true + description: Green component from 0 to 255 + values: + - tag: intensity + type: byte + +- tag: B + optional: true + description: Blue component from 0 to 255 + values: + - tag: intensity + type: byte + +- tag: W + optional: true + description: White component from 0 to 255 (`RGBW_LED` or `NEOPIXEL_LED` only) + values: + - tag: intensity + type: byte + +- tag: P + optional: true + requires: NEOPIXEL_LED + description: Brightness from 0 to 255 (Requires `NEOPIXEL_LED`) + values: + - tag: intensity + type: byte + +- tag: I + since: 2.0.6 + optional: true + requires: NEOPIXEL_LED + description: NeoPixel pixel index (0 .. pixels-1) (Requires `NEOPIXEL_LED`) + values: + - tag: pixel + type: int + +- tag: S + since: 2.0.6.1 + optional: true + requires: NEOPIXEL2_SEPARATE + description: NeoPixel strip index (0 or 1) (Requires `NEOPIXEL2_SEPARATE`) + values: + - tag: strip + type: int + +- tag: K + optional: true + requires: NEOPIXEL_LED + description: Keep all unspecified values unchanged (Requires `NEOPIXEL_LED`) + values: + - type: flag examples: - - - pre: Set LEDs to blue with brightness 30 - code: M150 B30 - - - pre: Set NeoPixel 0 to red with brightness 100 - code: M150 R100 I0 - - - pre: Set NeoPixel 1 to green with brightness 45 - code: M150 U45 I1 - - - pre: Set the second NeoPixel strip full white - code: M150 W255 S1 - - - pre: Change red to 50% without changing other components - code: M150 K R127 + +- pre: Set LEDs to blue with brightness 30 + code: M150 B30 + +- pre: Set NeoPixel 0 to red with brightness 100 + code: M150 R100 I0 + +- pre: Set NeoPixel 1 to green with brightness 45 + code: M150 U45 I1 + +- pre: Set the second NeoPixel strip full white + code: M150 W255 S1 + +- pre: Change red to 50% without changing other components + code: M150 K R127 --- -If you have an RGB(W) light, either as part of a controller or installed separately, the [`M150`](/docs/gcode/M150.html) command can be used to set its color. +If you have an RGB(W) light, either as part of a controller or installed separately, the `M150` command can be used to set its color. diff --git a/_gcode/M154.md b/_gcode/M154.md index f7cb44950c..4843ff96b7 100644 --- a/_gcode/M154.md +++ b/_gcode/M154.md @@ -9,29 +9,27 @@ requires: AUTO_REPORT_POSITION group: hosts codes: [ M154 ] -related: M114 +related: [ M114 ] notes: - - Requires `AUTO_REPORT_POSITION`. - - Also enable `EXTENDED_CAPABILITIES_REPORT` to notify hosts about this capability. +- Enable `EXTENDED_CAPABILITIES_REPORT` to notify hosts about this capability. parameters: - - - tag: S - optional: true - description: Interval in seconds between auto-reports. `S0` to disable. - values: - - - tag: seconds - type: int + +- tag: S + optional: true + description: Interval in seconds between auto-reports. `S0` to disable. + values: + - tag: seconds + type: int examples: - - - pre: Report current position every 4 seconds - code: M154 S4 - - - pre: Stop reporting position - code: M154 S0 + +- pre: Report current position every 4 seconds + code: M154 S4 + +- pre: Stop reporting position + code: M154 S0 --- diff --git a/_gcode/M155.md b/_gcode/M155.md index ed8662531d..72c1b48b71 100644 --- a/_gcode/M155.md +++ b/_gcode/M155.md @@ -4,34 +4,33 @@ title: Temperature Auto-Report brief: Auto-report temperatures to host periodically. author: thinkyhead -requires: AUTO_REPORT_TEMPERATURES,EXTENDED_CAPABILITIES_REPORT +requires: AUTO_REPORT_TEMPERATURES, EXTENDED_CAPABILITIES_REPORT group: hosts codes: [ M155 ] -related: M105 +related: [ M105 ] notes: - - Requires `AUTO_REPORT_TEMPERATURES`. - - Also enable `EXTENDED_CAPABILITIES_REPORT` to notify hosts about this capability. +- Requires `AUTO_REPORT_TEMPERATURES`. +- Also enable `EXTENDED_CAPABILITIES_REPORT` to notify hosts about this capability. parameters: - - - tag: S - optional: true - description: Interval in seconds between auto-reports. `S0` to disable. - values: - - - tag: seconds - type: int + +- tag: S + optional: true + description: Interval in seconds between auto-reports. `S0` to disable. + values: + - tag: seconds + type: int examples: - - - pre: Report temperatures every 4 seconds - code: M155 S4 - - - pre: Stop reporting temperatures - code: M155 S0 + +- pre: Report temperatures every 4 seconds + code: M155 S4 + +- pre: Stop reporting temperatures + code: M155 S0 --- -It can be useful for host software to track temperatures, display and graph them over time, but polling with [`M105`](/docs/gcode/M105.html) is less than optimal. With [`M155`](/docs/gcode/M155.html) hosts simply set an interval and Marlin will keep sending data automatically. This method is preferred over polling with [`M105`](/docs/gcode/M105.html). +It can be useful for host software to track temperatures, display and graph them over time, but polling with [`M105`](/docs/gcode/M105.html) is less than optimal. With `M155` hosts simply set an interval and Marlin will keep sending data automatically. This method is preferred over polling with [`M105`](/docs/gcode/M105.html). diff --git a/_gcode/M163.md b/_gcode/M163.md index 6d7d6ca88a..b6b0c636f0 100644 --- a/_gcode/M163.md +++ b/_gcode/M163.md @@ -8,40 +8,39 @@ requires: MIXING_EXTRUDER group: mixing codes: [ M163 ] +related: [ M164, M165, M166 ] notes: Requires `MIXING_EXTRUDER`. parameters: - - - tag: S - optional: true - description: Component index - values: - - - tag: index - type: int - - - tag: P - optional: true - description: Mix factor - values: - - - tag: factor - type: float + +- tag: S + optional: true + description: Component index + values: + - tag: index + type: int + +- tag: P + optional: true + description: Mix factor + values: + - tag: factor + type: float examples: - - - pre: 'Save a 60/40 mix as tool index 5:' - code: - - M163 S0 P0.6 - - M163 S1 P0.4 - - M164 S5 - - - pre: 'Save a 3/5 mix as tool index 4:' - code: - - M163 S0 P3 - - M163 S1 P5 - - M164 S4 + +- pre: 'Save a 60/40 mix as tool index 5:' + code: + - M163 S0 P0.6 + - M163 S1 P0.4 + - M164 S5 + +- pre: 'Save a 3/5 mix as tool index 4:' + code: + - M163 S0 P3 + - M163 S1 P5 + - M164 S4 --- diff --git a/_gcode/M164.md b/_gcode/M164.md index 40bb6c7454..b12211ff98 100644 --- a/_gcode/M164.md +++ b/_gcode/M164.md @@ -4,35 +4,34 @@ title: Save Mix brief: Save the current mix as a virtual tool. author: thinkyhead -requires: MIXING_EXTRUDER,MIXING_VIRTUAL_TOOLS +requires: MIXING_EXTRUDER, MIXING_VIRTUAL_TOOLS group: mixing codes: [ M164 ] +related: [ M163, M165, M166 ] notes: Requires `MIXING_EXTRUDER` and `MIXING_VIRTUAL_TOOLS`. parameters: - - - tag: S - optional: false - description: Tool index (active virtual tool if omitted) - values: - - - tag: index - type: int +- tag: S + optional: false + description: Tool index (active virtual tool if omitted) + values: + - tag: index + type: int examples: - - - pre: 'Save a 60/40 mix as tool index 5:' - code: - - M163 S0 P0.6 - - M163 S1 P0.4 - - M164 S5 - - - pre: 'Save a 3/5 mix as tool index 4:' - code: - - M163 S0 P3 - - M163 S1 P5 - - M164 S4 + +- pre: 'Save a 60/40 mix as tool index 5:' + code: + - M163 S0 P0.6 + - M163 S1 P0.4 + - M164 S5 + +- pre: 'Save a 3/5 mix as tool index 4:' + code: + - M163 S0 P3 + - M163 S1 P5 + - M164 S4 --- diff --git a/_gcode/M165.md b/_gcode/M165.md index 569f4647a3..b2ac2c3f69 100644 --- a/_gcode/M165.md +++ b/_gcode/M165.md @@ -4,67 +4,61 @@ title: Set Mix brief: Set all mix factors for the mixing extruder. author: thinkyhead -requires: MIXING_EXTRUDER,DIRECT_MIXING_IN_G1 +requires: MIXING_EXTRUDER, DIRECT_MIXING_IN_G1 group: mixing codes: [ M165 ] +related: [ M163, M164, M166 ] notes: Requires `MIXING_EXTRUDER` and `DIRECT_MIXING_IN_G1`. parameters: - - - tag: A - optional: true - description: Mix factor 1 - values: - - - tag: factor - type: float - - - tag: B - optional: true - description: Mix factor 2 - values: - - - tag: factor - type: float - - - tag: C - optional: true - description: Mix factor 3 - values: - - - tag: factor - type: float - - - tag: D - optional: true - description: Mix factor 4 - values: - - - tag: factor - type: float - - - tag: H - optional: true - description: Mix factor 5 - values: - - - tag: factor - type: float - - - tag: I - optional: true - description: Mix factor 6 - values: - - - tag: factor - type: float + +- tag: A + optional: true + description: Mix factor 1 + values: + - tag: factor + type: float + +- tag: B + optional: true + description: Mix factor 2 + values: + - tag: factor + type: float + +- tag: C + optional: true + description: Mix factor 3 + values: + - tag: factor + type: float + +- tag: D + optional: true + description: Mix factor 4 + values: + - tag: factor + type: float + +- tag: H + optional: true + description: Mix factor 5 + values: + - tag: factor + type: float + +- tag: I + optional: true + description: Mix factor 6 + values: + - tag: factor + type: float examples: - - - pre: Set a colorful mix - code: M165 A0.2 B0.4 C0.3 D0.1 +- pre: Set a colorful mix + code: M165 A0.2 B0.4 C0.3 D0.1 --- diff --git a/_gcode/M166.md b/_gcode/M166.md index c113d237a1..fb2c23dd43 100644 --- a/_gcode/M166.md +++ b/_gcode/M166.md @@ -5,80 +5,75 @@ brief: Set a Gradient Mix author: thinkyhead since: 2.0.0 -requires: MIXING_EXTRUDER,GRADIENT_MIX +requires: MIXING_EXTRUDER, GRADIENT_MIX group: mixing codes: [ M166 ] +related: [ M163, M164, M165 ] notes: Requires `MIXING_EXTRUDER` and `GRADIENT_MIX`. parameters: - - - tag: A - optional: false - description: Starting Z Height. (Use `Z` to set the Ending Z Height.) - values: - - - tag: linear - type: float - - - tag: Z - optional: false - description: Ending Z Height. (Use `A` to set the Starting Z Height.) - values: - - - tag: linear - type: float - - - tag: I - optional: false - description: Starting Virtual Tool. The Gradient begins with this tool-mix. Below the Starting Z Height the Starting Virtual Tool fully applies. - values: - - - tag: index - type: int - - - tag: J - optional: false - description: Ending Virtual Tool. The Gradient transitions to this tool-mix as Z approaches the Ending Z Height. Above the Ending Z Height the Ending Virtual Tool fully applies. - values: - - - tag: index - type: int - - - tag: S - optional: true - description: Enable / disable the gradient in manual mode. When using the tool index alias, tool-change commands determine whether or not the gradient is enabled. - values: - - - tag: enable - type: bool - - - tag: T - optional: true - description: A tool index to reassign to the gradient. If no index is given, cancel the tool assignment. - values: - - - tag: index - type: int + +- tag: A + optional: false + description: Starting Z Height. (Use `Z` to set the Ending Z Height.) + values: + - tag: linear + type: float + +- tag: Z + optional: false + description: Ending Z Height. (Use `A` to set the Starting Z Height.) + values: + - tag: linear + type: float + +- tag: I + optional: false + description: Starting Virtual Tool. The Gradient begins with this tool-mix. Below the Starting Z Height the Starting Virtual Tool fully applies. + values: + - tag: index + type: int + +- tag: J + optional: false + description: Ending Virtual Tool. The Gradient transitions to this tool-mix as Z approaches the Ending Z Height. Above the Ending Z Height the Ending Virtual Tool fully applies. + values: + - tag: index + type: int + +- tag: S + optional: true + description: Enable / disable the gradient in manual mode. When using the tool index alias, tool-change commands determine whether or not the gradient is enabled. + values: + - tag: enable + type: bool + +- tag: T + optional: true + description: A tool index to reassign to the gradient. If no index is given, cancel the tool assignment. + values: + - tag: index + type: int examples: - - - pre: Gradient for a tall vase - post: In this example no tool index is assigned to the Gradient. So the Gradient is enabled using `M166 S1` and disabled with `M166 S0`. - code: M166 A0 Z250 I0 J1 S1 - - - pre: Gradient as a Virtual Tool - post: In this example the Gradient has been given a tool alias of 3. So the Gradient is selected with `T3`, and all other `Tn` commands will select a static mix. - code: - - M166 A0 Z250 I0 J1 T3 - - T3 - - - pre: To use the static mix stored in T0… - code: - - M166 T - - T0 + +- pre: Gradient for a tall vase + post: In this example no tool index is assigned to the Gradient. So the Gradient is enabled using `M166 S1` and disabled with `M166 S0`. + code: M166 A0 Z250 I0 J1 S1 + +- pre: Gradient as a Virtual Tool + post: In this example the Gradient has been given a tool alias of 3. So the Gradient is selected with `T3`, and all other `Tn` commands will select a static mix. + code: + - M166 A0 Z250 I0 J1 T3 + - T3 + +- pre: To use the static mix stored in T0… + code: + - M166 T + - T0 --- -Use [`M166`](/docs/gcode/M166.html) to set a gradient that will be automatically updated as the Z position changes during a print. The gradient smoothly transitions from one virtual tool to another between the given starting and ending Z heights. Below the starting height the starting virtual tool fully applies, and above the ending height the ending virtual tool fully applies. +Use `M166` to set a gradient that will be automatically updated as the Z position changes during a print. The gradient smoothly transitions from one virtual tool to another between the given starting and ending Z heights. Below the starting height the starting virtual tool fully applies, and above the ending height the ending virtual tool fully applies. diff --git a/_gcode/M190.md b/_gcode/M190.md index 131307afbc..618b6d3f81 100644 --- a/_gcode/M190.md +++ b/_gcode/M190.md @@ -11,57 +11,53 @@ codes: [ M190 ] related: [ M140 ] notes: - - This command may block the command queue. Enable `EMERGENCY_PARSER` so that hosts can break in using [`M108`](/docs/gcode/M108.html). - - Use [`M140`](/docs/gcode/M140.html) to set the bed temperature and proceed without waiting. - - Without any parameters `M190` does nothing. +- This command may block the command queue. Enable `EMERGENCY_PARSER` so that hosts can break in using [`M108`](/docs/gcode/M108.html). +- Use [`M140`](/docs/gcode/M140.html) to set the bed temperature and proceed without waiting. +- Without any parameters `M190` does nothing. parameters: - - - tag: I - since: 2.0.6 - optional: true - description: Material preset index. Overrides `S`. - values: - - - type: int - tag: index - - - tag: S - optional: true - description: Target temperature (wait only when heating). - values: - - - tag: temp - type: float - - - tag: R - optional: true - description: Target temperature (wait for cooling or heating). - values: - - - tag: temp - type: float - - - tag: T - since: 2.2.0 - optional: true - requires: BED_ANNEALING_GCODE - description: Cooling time in seconds to reach target temperature. Used to cool slowly to prevent warping and internal stress. - values: - - - tag: seconds - type: int + +- tag: I + since: 2.0.6 + optional: true + description: Material preset index. Overrides `S`. + values: + - tag: index + type: int + +- tag: S + optional: true + description: Target temperature (wait only when heating). + values: + - tag: temp + type: float + +- tag: R + optional: true + description: Target temperature (wait for cooling or heating). + values: + - tag: temp + type: float + +- tag: T + since: 2.2.0 + optional: true + requires: BED_ANNEALING_GCODE + description: Cooling time in seconds to reach target temperature. Used to cool slowly to prevent warping and internal stress. + values: + - tag: seconds + type: int examples: - - - pre: Set target bed temperature and wait (if heating) - code: M190 S80 - - - pre: Set target bed temperature and wait even if cooling - code: M190 R40 - - - pre: Slowly cool down to 70°C over a 10 minute period - code: M190 R70 T600 + +- pre: Set target bed temperature and wait (if heating) + code: M190 S80 + +- pre: Set target bed temperature and wait even if cooling + code: M190 R40 + +- pre: Slowly cool down to 70°C over a 10 minute period + code: M190 R70 T600 --- diff --git a/_gcode/M191.md b/_gcode/M191.md index 47f7678982..18576df1e3 100644 --- a/_gcode/M191.md +++ b/_gcode/M191.md @@ -8,36 +8,33 @@ contrib: thinkyhead group: thermal codes: [ M191 ] +related: [ M141 ] notes: - - This command (as well as [`M109`](/docs/gcode/M109.html) and [`M190`](/docs/gcode/M190.html)) can block new commands from the host. To break out of wait for temperature using [`M108`](/docs/gcode/M108.html) from the host, enable `EMERGENCY_PARSER`. - - Use [`M141`](/docs/gcode/M141.html) to set the chamber temperature and proceed without waiting. +- This command (as well as [`M109`](/docs/gcode/M109.html) and [`M190`](/docs/gcode/M190.html)) can block new commands from the host. To break out of wait for temperature using [`M108`](/docs/gcode/M108.html) from the host, enable `EMERGENCY_PARSER`. +- Use [`M141`](/docs/gcode/M141.html) to set the chamber temperature and proceed without waiting. parameters: - - - tag: S - optional: true - description: Target temperature (wait only when heating). - values: - - - tag: temp - type: float - - - tag: R - optional: true - description: Target temperature (wait for cooling or heating). - values: - - - tag: temp - type: float + +- tag: S + optional: true + description: Target temperature (wait only when heating). + values: + - tag: temp + type: float + +- tag: R + optional: true + description: Target temperature (wait for cooling or heating). + values: + - tag: temp + type: float examples: - - - pre: Set target chamber temperature and wait (if heating) - code: M191 S80 - - - pre: Set target chamber temperature, wait even if cooling - code: M191 R40 +- pre: Set target chamber temperature and wait (if heating) + code: M191 S80 +- pre: Set target chamber temperature, wait even if cooling + code: M191 R40 --- diff --git a/_gcode/M192.md b/_gcode/M192.md index 1af63fae9e..251abbd62d 100644 --- a/_gcode/M192.md +++ b/_gcode/M192.md @@ -12,28 +12,26 @@ codes: [ M192 ] related: [ G76, M871 ] parameters: - - - tag: R - optional: true - description: Temperature to wait for, whether heating or cooling. - values: - - - tag: temp - type: int - - - tag: S - optional: true - description: A minimum temperature to wait for. No wait if already higher. - values: - - - tag: temp - type: int + +- tag: R + optional: true + description: Temperature to wait for, whether heating or cooling. + values: + - tag: temp + type: int + +- tag: S + optional: true + description: A minimum temperature to wait for. No wait if already higher. + values: + - tag: temp + type: int example: - - - code: - - M192 S44 ; Wait for probe temperature to go above 44C - - M192 R28 ; Wait for probe temperature to get close to 28C +- code: + - M192 S44 ; Wait for probe temperature to go above 44C + - M192 R28 ; Wait for probe temperature to get close to 28C + --- Use this command to dwell until the probe reaches a given target temperature. diff --git a/_gcode/M193.md b/_gcode/M193.md index cc415c5bbe..b51e138095 100644 --- a/_gcode/M193.md +++ b/_gcode/M193.md @@ -1,6 +1,5 @@ --- tag: m0193 - title: Set Laser Cooler Temperature brief: Set a new target laser coolant temperature. author: descipher @@ -9,53 +8,46 @@ group: thermal since: 2.0.8 codes: [ M193 ] - related: [ M143 ] requires: TEMP_SENSOR_COOLER, TEMP_COOLER_PIN, COOLER_PIN, LASER_FEATURE notes: - - This command may block the command queue. Enable `EMERGENCY_PARSER` so that hosts can break in using [`M108`](/docs/gcode/M108.html). - - Use [`M143`](/docs/gcode/M143.html) to set the cooler temperature and proceed without waiting. - - Configuration settings. - - '`COOLER_MINTEMP` Provides a low end safe operating temperature, cannot be lower than 1°C. CO2 lasers tubes can be damaged with values less than 15°C.' - - '`COOLER_MAXTEMP` Provides a high end safe operating temperature, when breached the system will shutdown if `THERMAL_PROTECTION_COOLER` is defined. CO2 laser tube life degrades exponentially at temperatures above 24°C.' - - '`COOLER_DEFAULT_TEMP` LCD menu default value is 16°C.' - - '`TEMP_COOLER_HYSTERESIS` The accepatble temperature variance + or - to the target.' - - '`COOLER_PIN` Cooler on/off pin used to control power to the cooling element.' - - '`COOLER_INVERTING` Inverts the on value to 0.' - - '`TEMP_COOLER_PIN` Laser/Cooler temperature sensor pin.' - - '`COOLER_FAN` Enables a fan on the cooler.' - - '`COOLER_FAN_INDEX` Defines which fan to use 0,1,2 etc.' - - '`COOLER_FAN_BASE` Base cooler fan PWM (0-255); on when the cooler is enabled.' - - '`COOLER_FAN_FACTOR` PWM increase per °C above target.' - - '`THERMAL_PROTECTION_COOLER` Enables thermal shutdown protection.' - - '`THERMAL_PROTECTION_COOLER_PERIOD` Thermal protection check interval in seconds.' - - '`THERMAL_PROTECTION_COOLER_HYSTERESIS` Thermal variance +- limits check interval.' - - '`WATCH_COOLER_TEMP_PERIOD` Check interval in seconds before runaway condition shutdown.' - - '`WATCH_COOLER_TEMP_INCREASE` Allowable increase during check interval.' +- This command may block the command queue. Enable `EMERGENCY_PARSER` so that hosts can break in using [`M108`](/docs/gcode/M108.html). +- Use [`M143`](/docs/gcode/M143.html) to set the cooler temperature and proceed without waiting. +- Configuration settings. +- '`COOLER_MINTEMP` Provides a low end safe operating temperature, cannot be lower than 1°C. CO2 lasers tubes can be damaged with values less than 15°C.' +- '`COOLER_MAXTEMP` Provides a high end safe operating temperature, when breached the system will shutdown if `THERMAL_PROTECTION_COOLER` is defined. CO2 laser tube life degrades exponentially at temperatures above 24°C.' +- '`COOLER_DEFAULT_TEMP` LCD menu default value is 16°C.' +- '`TEMP_COOLER_HYSTERESIS` The accepatble temperature variance + or - to the target.' +- '`COOLER_PIN` Cooler on/off pin used to control power to the cooling element.' +- '`COOLER_INVERTING` Inverts the on value to 0.' +- '`TEMP_COOLER_PIN` Laser/Cooler temperature sensor pin.' +- '`COOLER_FAN` Enables a fan on the cooler.' +- '`COOLER_FAN_INDEX` Defines which fan to use 0,1,2 etc.' +- '`COOLER_FAN_BASE` Base cooler fan PWM (0-255); on when the cooler is enabled.' +- '`COOLER_FAN_FACTOR` PWM increase per °C above target.' +- '`THERMAL_PROTECTION_COOLER` Enables thermal shutdown protection.' +- '`THERMAL_PROTECTION_COOLER_PERIOD` Thermal protection check interval in seconds.' +- '`THERMAL_PROTECTION_COOLER_HYSTERESIS` Thermal variance +- limits check interval.' +- '`WATCH_COOLER_TEMP_PERIOD` Check interval in seconds before runaway condition shutdown.' +- '`WATCH_COOLER_TEMP_INCREASE` Allowable increase during check interval.' parameters: - - - tag: S - optional: true - - description: 'Target laser coolant temperature.' - values: - - - tag: temp - type: float +- tag: S + optional: true + description: 'Target laser coolant temperature.' + values: + - tag: temp + type: float -examples: - - - pre: - - Set laser coolant target temperature to 15°C and wait until it's reached. - code: - - M193 S15 +example: +- pre: Set laser coolant target temperature to 15°C and wait until it's reached. + code: M193 S15 --- `M193` optionally sets the cooler target temperature and dwells until the cooler temperature is equal to or below the target. -Any value greater than the COOLER_MAXTEMP (set in Configuratin_adv.h) will be set to the COOLER_MAXTEMP value. +Values will be limited by the `COOLER_MAXTEMP` setting (See `Configuration_adv.h`). Use [`M143`](/docs/gcode/M143.html) if you want to set the target temperature without waiting or to turn the cooler off. diff --git a/_gcode/M200.md b/_gcode/M200.md index 83af20bc35..33e198738e 100644 --- a/_gcode/M200.md +++ b/_gcode/M200.md @@ -8,57 +8,53 @@ group: motion codes: [ M200 ] -notes: - parameters: - - - tag: D - optional: true - description: Filament diameter - values: - - - tag: diameter - type: float - - - tag: L - optional: true - description: Set volumetric extruder limit (in mm3/sec). `L0` disables the limit. (Requires `VOLUMETRIC_EXTRUDER_LIMIT`.) - values: - - - tag: volume - type: float - - - tag: S - optional: true - description: 0 to disable volumetric extrusion mode, otherwise volumetric is enabled. - values: - - - tag: flag - type: bool - - - tag: T - optional: true - description: Extruder index. If omitted, the currently active extruder will be used. - values: - - - tag: index - type: int + +- tag: D + optional: true + description: Filament diameter + values: + - tag: diameter + type: float + +- tag: L + optional: true + description: Set volumetric extruder limit (in mm3/sec). `L0` disables the limit. (Requires `VOLUMETRIC_EXTRUDER_LIMIT`.) + values: + - tag: volume + type: float + +- tag: S + optional: true + description: 0 to disable volumetric extrusion mode, otherwise volumetric is enabled. + values: + - tag: flag + type: bool + +- tag: T + optional: true + description: Extruder index. If omitted, the currently active extruder will be used. + values: + - tag: index + type: int + examples: - - - pre: 'A common diameter close to 3mm:' - code: M200 D2.85 - - - pre: '1.75mm diameter with volumetric extrusion mode enabled' - code: M200 S1 D1.75 - - - pre: '1.75mm diameter with volumetric extrusion mode disabled' - code: M200 S0 D1.75 - - - pre: Turn off volumetric extrusion - code: - - M200 D0 - - M200 D ; ...also works - - M200 S0 ; ...also works + +- pre: 'A common diameter close to 3mm:' + code: M200 D2.85 + +- pre: '1.75mm diameter with volumetric extrusion mode enabled' + code: M200 S1 D1.75 + +- pre: '1.75mm diameter with volumetric extrusion mode disabled' + code: M200 S0 D1.75 + +- pre: Turn off volumetric extrusion + code: + - M200 D0 + - M200 D ; ...also works + - M200 S0 ; ...also works + --- Set the filament's current diameter and enable volumetric extrusion. diff --git a/_gcode/M201.md b/_gcode/M201.md index d4d13118e3..9a92324bd7 100644 --- a/_gcode/M201.md +++ b/_gcode/M201.md @@ -11,81 +11,75 @@ codes: [ M201 ] related: [ M204 ] notes: - - View the current setting with [`M503`](/docs/gcode/M503.html). - - If `EEPROM_SETTINGS` is enabled, these are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- View the current setting with [`M503`](/docs/gcode/M503.html). +- If `EEPROM_SETTINGS` is enabled, these are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). parameters: - - - tag: X - optional: true - description: X axis max acceleration - values: - - - tag: accel - type: float - - - tag: Y - optional: true - description: Y axis max acceleration - values: - - - tag: accel - type: float - - - tag: Z - optional: true - description: Z axis max acceleration - values: - - - tag: accel - type: float - - - tag: E - optional: true - description: E axis max acceleration - values: - - - tag: accel - type: float - - - tag: T - optional: true - description: Target extruder (Requires `DISTINCT_E_FACTORS`) - values: - - - tag: index - type: int - - - tag: F - optional: true - description: Planner frequency limit (Requires `XY_FREQUENCY_LIMIT`). This value determines the maximum frequency of direction changes for the X and Y axes. - values: - - - tag: Hz - type: byte - - - tag: S - optional: true - description: Planner XY frequency minimum speed percentage (Requires `XY_FREQUENCY_LIMIT`). This value determines the minimum speed reduction that will be applied in response to exceeding the frequency limit. - values: - - - tag: percent - type: float + +- tag: X + optional: true + description: X axis max acceleration + values: + - tag: accel + type: float + +- tag: Y + optional: true + description: Y axis max acceleration + values: + - tag: accel + type: float + +- tag: Z + optional: true + description: Z axis max acceleration + values: + - tag: accel + type: float + +- tag: E + optional: true + description: E axis max acceleration + values: + - tag: accel + type: float + +- tag: T + optional: true + description: Target extruder (Requires `DISTINCT_E_FACTORS`) + values: + - tag: index + type: int + +- tag: F + optional: true + description: Planner frequency limit (Requires `XY_FREQUENCY_LIMIT`). This value determines the maximum frequency of direction changes for the X and Y axes. + values: + - tag: Hz + type: byte + +- tag: S + optional: true + description: Planner XY frequency minimum speed percentage (Requires `XY_FREQUENCY_LIMIT`). This value determines the minimum speed reduction that will be applied in response to exceeding the frequency limit. + values: + - tag: percent + type: float videos: - - Mnvj6xCzikM +- Mnvj6xCzikM examples: - - - pre: 'Set max acceleration lower so it sounds like a robot:' - code: M201 X50 Y50 - - - pre: 'Set the max acceleration for E1 print moves:' - code: M201 E8000 T1 - - - pre: 'Set frequency limits for the XY axes:' - code: M201 F60 S47 - post: If the X or Y axis wants to change direction again within 1/60th of a second, reduce the speed by up to 53%. + +- pre: 'Set max acceleration lower so it sounds like a robot:' + code: M201 X50 Y50 + +- pre: 'Set the max acceleration for E1 print moves:' + code: M201 E8000 T1 + +- pre: 'Set frequency limits for the XY axes:' + code: M201 F60 S47 + post: If the X or Y axis wants to change direction again within 1/60th of a second, reduce the speed by up to 53%. + --- Set the max acceleration for one or more axes (in current units-per-second per-second). The acceleration limit for extruder(s) only applies for print moves where at least one other axis is also in motion. diff --git a/_gcode/M203.md b/_gcode/M203.md index a2f9de7eb5..cd797abfcf 100644 --- a/_gcode/M203.md +++ b/_gcode/M203.md @@ -9,58 +9,52 @@ group: motion codes: [ M203 ] notes: - - View the current setting with [`M503`](/docs/gcode/M503.html). - - If `EEPROM_SETTINGS` is enabled, these are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- View the current setting with [`M503`](/docs/gcode/M503.html). +- If `EEPROM_SETTINGS` is enabled, these are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). parameters: - - - tag: X - optional: true - description: X axis max feedrate - values: - - - tag: units/s - type: float - - - tag: Y - optional: true - description: Y axis max feedrate - values: - - - tag: units/s - type: float - - - tag: Z - optional: true - description: Z axis max feedrate - values: - - - tag: units/s - type: float - - - tag: E - optional: true - description: E axis max feedrate - values: - - - tag: units/s - type: float - - - tag: T - optional: true - description: Target extruder (Requires `DISTINCT_E_FACTORS`) - values: - - - tag: index - type: int + +- tag: X + optional: true + description: X axis max feedrate + values: + - tag: units/s + type: float + +- tag: Y + optional: true + description: Y axis max feedrate + values: + - tag: units/s + type: float + +- tag: Z + optional: true + description: Z axis max feedrate + values: + - tag: units/s + type: float + +- tag: E + optional: true + description: E axis max feedrate + values: + - tag: units/s + type: float + +- tag: T + optional: true + description: Target extruder (Requires `DISTINCT_E_FACTORS`) + values: + - tag: index + type: int videos: - - Mnvj6xCzikM +- Mnvj6xCzikM examples: - - - pre: 'Set max feedrate for XY to 100mm/s:' - code: M203 X100 Y100 +- pre: 'Set max feedrate for XY to 100mm/s:' + code: M203 X100 Y100 --- diff --git a/_gcode/M204.md b/_gcode/M204.md index b17852327f..1a22fad182 100644 --- a/_gcode/M204.md +++ b/_gcode/M204.md @@ -11,51 +11,47 @@ codes: [ M204 ] related: [ M201 ] notes: - - View the current setting with [`M503`](/docs/gcode/M503.html). - - If `EEPROM_SETTINGS` is enabled, these are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). - - Legacy `M204 S` is deprecated. Use separate paremeters `M204 P T` instead. +- View the current setting with [`M503`](/docs/gcode/M503.html). +- If `EEPROM_SETTINGS` is enabled, these are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- Legacy `M204 S` is deprecated. Use separate paremeters `M204 P T` instead. parameters: - - - tag: P - optional: true - description: Printing acceleration. Used for moves that include extrusion (i.e., which employ the current tool). - values: - - - tag: accel - type: float - - - tag: R - optional: true - description: Retract acceleration. Used for extruder retract / recover moves. - values: - - - tag: accel - type: float - - - tag: T - optional: true - description: Travel acceleration. Used for moves that include no extrusion. - values: - - - tag: accel - type: float - - - tag: S - optional: true - description: Legacy parameter for move acceleration. Set both printing and travel acceleration. - values: - - - tag: accel - type: float + +- tag: P + optional: true + description: Printing acceleration. Used for moves that include extrusion (i.e., which employ the current tool). + values: + - tag: accel + type: float + +- tag: R + optional: true + description: Retract acceleration. Used for extruder retract / recover moves. + values: + - tag: accel + type: float + +- tag: T + optional: true + description: Travel acceleration. Used for moves that include no extrusion. + values: + - tag: accel + type: float + +- tag: S + optional: true + description: Legacy parameter for move acceleration. Set both printing and travel acceleration. + values: + - tag: accel + type: float videos: - - Mnvj6xCzikM +- Mnvj6xCzikM examples: - - - pre: Set acceleration for printing moves to 2400mm/s/s - code: M204 P2400 +- pre: Set acceleration for printing moves to 2400mm/s/s + code: M204 P2400 + --- Set the preferred starting acceleration (in units/s/s) for moves of different types. Send `M204` with no parameters to get current settings. diff --git a/_gcode/M205.md b/_gcode/M205.md index 97d8a99503..bd853edc85 100644 --- a/_gcode/M205.md +++ b/_gcode/M205.md @@ -9,82 +9,73 @@ group: motion codes: [ M205 ] notes: - - View the current setting with [`M503`](/docs/gcode/M503.html). - - If `EEPROM_SETTINGS` is enabled, these are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- View the current setting with [`M503`](/docs/gcode/M503.html). +- If `EEPROM_SETTINGS` is enabled, these are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). parameters: - - - tag: X - optional: true - description: X max jerk (units/s) - values: - - - tag: jerk - type: float - - - tag: Y - optional: true - description: Y max jerk (units/s) - values: - - - tag: jerk - type: float - - - tag: Z - optional: true - description: Z max jerk (units/s) - values: - - - tag: jerk - type: float - - - tag: E - optional: true - description: E max jerk (units/s) - values: - - - tag: jerk - type: float - - - tag: B - optional: true - description: Minimum segment time (µs) - values: - - - tag: µs - type: int - - - tag: S - optional: true - description: Minimum feedrate for print moves (units/s) - values: - - - tag: units/s - type: float - - - tag: T - optional: true - description: Minimum feedrate for travel moves (units/s) - values: - - - tag: units/s - type: float - - - tag: J - optional: true - description: Junction deviation (requires `JUNCTION_DEVIATION`) - values: - - - tag: deviation - type: float + +- tag: X + optional: true + description: X max jerk (units/s) + values: + - tag: jerk + type: float + +- tag: Y + optional: true + description: Y max jerk (units/s) + values: + - tag: jerk + type: float + +- tag: Z + optional: true + description: Z max jerk (units/s) + values: + - tag: jerk + type: float + +- tag: E + optional: true + description: E max jerk (units/s) + values: + - tag: jerk + type: float + +- tag: B + optional: true + description: Minimum segment time (µs) + values: + - tag: µs + type: int + +- tag: S + optional: true + description: Minimum feedrate for print moves (units/s) + values: + - tag: units/s + type: float + +- tag: T + optional: true + description: Minimum feedrate for travel moves (units/s) + values: + - tag: units/s + type: float + +- tag: J + optional: true + description: Junction deviation (requires `JUNCTION_DEVIATION`) + values: + - tag: deviation + type: float videos: - - Mnvj6xCzikM +- Mnvj6xCzikM examples: - - - pre: Set some advanced settings. - code: M205 T40 ; Travel feedrate = 40mm/s +- pre: Set some advanced settings. + code: M205 T40 ; Travel feedrate = 40mm/s --- diff --git a/_gcode/M206.md b/_gcode/M206.md index 08eb175ad5..23ec34e121 100644 --- a/_gcode/M206.md +++ b/_gcode/M206.md @@ -10,67 +10,62 @@ group: motion codes: [ M206 ] related: [ M428, G92 ] -notes: | - - This command isn't available on `DELTA`. (For delta use `M665 H`.) - - This G-code can be disabled with `NO_WORKSPACE_OFFSETS` to optimize movement. - - Changing the home offsets will not invalidate bed leveling or other saved data. - - View the current offsets with [`M503`](/docs/gcode/M503.html). - - If `EEPROM_SETTINGS` is enabled, the home offsets are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). - - [`M428`](/docs/gcode/M428.html) sets home offsets so the current position aligns to the native home position. +notes: +- This command isn't available on `DELTA`. (For delta use `M665 H`.) +- This G-code can be disabled with `NO_WORKSPACE_OFFSETS` to optimize movement. +- Changing the home offsets will not invalidate bed leveling or other saved data. +- View the current offsets with [`M503`](/docs/gcode/M503.html). +- If `EEPROM_SETTINGS` is enabled, the home offsets are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- "[`M428`](/docs/gcode/M428.html) sets home offsets so the current position aligns to the native home position." parameters: - - - tag: P - optional: true - description: SCARA Psi offset (Requires `MORGAN_SCARA`) - values: - - - tag: offset - type: float - - - tag: T - optional: true - description: SCARA Theta offset (Requires `MORGAN_SCARA`) - values: - - - tag: offset - type: float - - - tag: X - optional: true - description: X home offset - values: - - - tag: offset - type: float - - - tag: Y - optional: true - description: Y home offset - values: - - - tag: offset - type: float - - - tag: Z - optional: true - description: Z home offset - values: - - - tag: offset - type: float + +- tag: P + optional: true + description: SCARA Psi offset (Requires `MORGAN_SCARA`) + values: + - tag: offset + type: float + +- tag: T + optional: true + description: SCARA Theta offset (Requires `MORGAN_SCARA`) + values: + - tag: offset + type: float + +- tag: X + optional: true + description: X home offset + values: + - tag: offset + type: float + +- tag: Y + optional: true + description: Y home offset + values: + - tag: offset + type: float + +- tag: Z + optional: true + description: Z home offset + values: + - tag: offset + type: float examples: - - - pre: 'Raise Z up a little bit on the first layer:' - code: M206 Z-0.2 - - - pre: 'Shift the print area 10mm to the left:' - code: M206 X10 + +- pre: 'Raise Z up a little bit on the first layer:' + code: M206 Z-0.2 + +- pre: 'Shift the print area 10mm to the left:' + code: M206 X10 --- -Use [`M206`](/docs/gcode/M206.html) to apply a persistent offset to the native home position and coordinate space. This effectively shifts the coordinate space in the negative direction. See examples below. +Use `M206` to apply a persistent offset to the native home position and coordinate space. This effectively shifts the coordinate space in the negative direction. See examples below. - The current position is adjusted to align to the new home offset values. - The home offset is persistent — added to the current position until changed. diff --git a/_gcode/M207.md b/_gcode/M207.md index 150e95bd89..b649b1f10f 100644 --- a/_gcode/M207.md +++ b/_gcode/M207.md @@ -8,46 +8,41 @@ requires: FWRETRACT group: motion codes: [ M207 ] +related: [ G10, G11, M208, M209 ] notes: - - Requires `FWRETRACT`. - - See related codes [`G10`](/docs/gcode/G010.html), [`G11`](/docs/gcode/G010.html), [`M208`](/docs/gcode/M208.html), and [`M209`](/docs/gcode/M209.html). +- Requires `FWRETRACT`. +- See related codes [`G10`](/docs/gcode/G010.html), [`G11`](/docs/gcode/G010.html), [`M208`](/docs/gcode/M208.html), and [`M209`](/docs/gcode/M209.html). parameters: - - - tag: S - optional: true - description: Retract length - values: - - - tag: length - type: float - - - tag: W - optional: true - description: Retract swap length (multi-extruder) - values: - - - tag: length - type: float - - - tag: F - optional: true - description: Retract feedrate (units/min) - values: - - - tag: feedrate - type: float - - - tag: Z - optional: true - description: Z lift on retraction - values: - - - tag: length - type: float - -examples: + +- tag: S + optional: true + description: Retract length + values: + - tag: length + type: float + +- tag: W + optional: true + description: Retract swap length (multi-extruder) + values: + - tag: length + type: float + +- tag: F + optional: true + description: Retract feedrate (units/min) + values: + - tag: feedrate + type: float + +- tag: Z + optional: true + description: Z lift on retraction + values: + - tag: length + type: float --- diff --git a/_gcode/M208.md b/_gcode/M208.md index 73899c78f5..f54ad0bf72 100644 --- a/_gcode/M208.md +++ b/_gcode/M208.md @@ -8,58 +8,50 @@ requires: FWRETRACT group: motion codes: [ M208 ] - -notes: - - Requires `FWRETRACT`. - - See related codes [`G10`](/docs/gcode/G010.html), [`G11`](/docs/gcode/G010.html), [`M207`](/docs/gcode/M207.html), and [`M209`](/docs/gcode/M209.html). +related: [ G10, G11, M207, M209 ] parameters: - - - tag: S - optional: true - description: Additional recover length. Can be negative to reduce recover length. - values: - - - tag: length - type: float - - - tag: W - optional: true - description: Additional recover swap length. Can be negative to reduce the length. - values: - - - tag: length - type: float - - - tag: F - optional: true - description: Recover feedrate (units/min) - values: - - - tag: feedrate - type: float - - - tag: R - optional: true - description: Swap recover feedrate (units/min) - values: - - - tag: feedrate - type: float + +- tag: S + optional: true + description: Additional recover length. Can be negative to reduce recover length. + values: + - tag: length + type: float + +- tag: W + optional: true + description: Additional recover swap length. Can be negative to reduce the length. + values: + - tag: length + type: float + +- tag: F + optional: true + description: Recover feedrate (units/min) + values: + - tag: feedrate + type: float + +- tag: R + optional: true + description: Swap recover feedrate (units/min) + values: + - tag: feedrate + type: float examples: - - - pre: Set recover extra length to 0.2mm and recover feedrate to 10mm/s - code: M208 S0.2 F600 - - - pre: Set a retract length of 2mm and *total* recover length of 2.5mm - code: - - M207 S2.0 ; 2.0mm retract - - M208 S0.5 ; 2.0mm + 0.5mm recover +- pre: Set recover extra length to 0.2mm and recover feedrate to 10mm/s + code: M208 S0.2 F600 + +- pre: Set a retract length of 2mm and *total* recover length of 2.5mm + code: + - M207 S2.0 ; 2.0mm retract + - M208 S0.5 ; 2.0mm + 0.5mm recover --- -Set the added lengths and feedrates for firmware-based retract recovery. The lengths set by [`M208`](/docs/gcode/M208.html) are applied *in addition* to the lengths set by [`M207`](/docs/gcode/M207.html) when un-retracting (aka "recovering") the filament. The new values will apply to all subsequent [`G11`](/docs/gcode/G011.html) commands. +Set the added lengths and feedrates for firmware-based retract recovery. The lengths set by `M208` are applied *in addition* to the lengths set by [`M207`](/docs/gcode/M207.html) when un-retracting (aka "recovering") the filament. The new values will apply to all subsequent [`G11`](/docs/gcode/G011.html) commands. The "swap" values apply to firmware-based recover moves after a tool-change. diff --git a/_gcode/M209.md b/_gcode/M209.md index 4086dc8bdd..207bab4bad 100644 --- a/_gcode/M209.md +++ b/_gcode/M209.md @@ -8,24 +8,22 @@ requires: FWRETRACT group: motion codes: [ M209 ] +related: [ G10, G11, M207, M208 ] notes: - - Requires `FWRETRACT`. - - Most slicers today can generate [`G10`](/docs/gcode/G010.html)/[`G11`](/docs/gcode/G011.html). But this option is useful for older G-code. - - Though not currently very popular, both volumetric extrusion and firmware-based retraction (and/or [`M209`](/docs/gcode/M209.html)) make G-code more immune to changes from one machine to another, and permit changing the hardware without needing to re-slice. - - See related codes [`G10`](/docs/gcode/G010.html), [`G11`](/docs/gcode/G010.html), [`M207`](/docs/gcode/M207.html), and [`M208`](/docs/gcode/M208.html). +- Requires `FWRETRACT`. +- Most slicers today can generate [`G10`](/docs/gcode/G010.html)/[`G11`](/docs/gcode/G011.html). But this option is useful for older G-code. +- Though not currently very popular, both volumetric extrusion and firmware-based retraction (and/or `M209`) make G-code more immune to changes from one machine to another, and permit changing the hardware without needing to re-slice. +- See related codes [`G10`](/docs/gcode/G010.html), [`G11`](/docs/gcode/G010.html), [`M207`](/docs/gcode/M207.html), and [`M208`](/docs/gcode/M208.html). parameters: - - - tag: S - optional: false - description: Set Auto-Retract on/off - values: - - - tag: flag - type: bool - -examples: + +- tag: S + optional: false + description: Set Auto-Retract on/off + values: + - tag: flag + type: bool --- diff --git a/_gcode/M211.md b/_gcode/M211.md index b3107f7641..26f2a4951b 100644 --- a/_gcode/M211.md +++ b/_gcode/M211.md @@ -9,20 +9,15 @@ group: motion codes: [ M211 ] -notes: - - Requires either `MIN_SOFTWARE_ENDSTOPS` or `MAX_SOFTWARE_ENDSTOPS` for the enable option. +notes: Requires either `MIN_SOFTWARE_ENDSTOPS` or `MAX_SOFTWARE_ENDSTOPS` for the enable option. parameters: - - - tag: S - optional: true - description: Software endstops state (S1=enable S0=disable) - values: - - - tag: flag - type: bool - -examples: +- tag: S + optional: true + description: Software endstops state (S1=enable S0=disable) + values: + - tag: flag + type: bool --- diff --git a/_gcode/M217.md b/_gcode/M217.md index 20804c91b6..cea05357cc 100644 --- a/_gcode/M217.md +++ b/_gcode/M217.md @@ -10,139 +10,121 @@ group: calibration codes: [ M217 ] -notes: - - These values are stored in EEPROM. +notes: These values are stored in EEPROM. parameters: - - - tag: Q - type: flag - optional: true - description: Prime active tool using TOOLCHANGE_FILAMENT_SWAP settings - - - tag: S - optional: true - description: Swap length - values: - - - tag: linear - type: float - - - tag: B - optional: true - description: Extra resume - values: - - - tag: linear - type: float - - - tag: E - optional: true - description: Extra Prime Length - values: - - - tag: linear - type: float - - - tag: P - optional: true - description: Prime feedrate - values: - - - tag: feedrate - type: int - - - tag: R - optional: true - description: Retract feedrate - values: - - - tag: feedrate - type: int - - - tag: U - optional: true - description: Unretract feedrate - values: - - - tag: linear - type: int - - - tag: F - optional: true - description: Fan speed (0-255) - values: - - - tag: linear - type: int - - - tag: G - optional: true - description: Fan Time (seconds) - values: - - - tag: linear - type: int - - - tag: A - optional: true - description: Migration Auto Mode. Requires `TOOLCHANGE_MIGRATION_FEATURE`. - values: - - - tag: linear - type: int - - - tag: L - optional: true - description: Last Migration. Requires `TOOLCHANGE_MIGRATION_FEATURE`. - values: - - - tag: linear - type: int - - - tag: W - optional: true - description: Enable Park Feature. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`. - values: - - - tag: linear - type: int - - - tag: X - optional: true - description: Park X position. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`. - values: - - - tag: linear - type: float - - - - tag: Y - optional: true - description: Park Y position. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`. - values: - - - tag: linear - type: float - - - - tag: V - optional: true - description: Enable First Prime on uninitialized Nozzles. Requires `TOOLCHANGE_FS_PRIME_FIRST_USED`. - values: - - - tag: linear - type: int - - - tag: Z - optional: true - description: Z Raise. - values: - - - tag: feedrate - type: int - -examples: + +- tag: Q + type: flag + optional: true + description: Prime active tool using TOOLCHANGE_FILAMENT_SWAP settings + +- tag: S + optional: true + description: Swap length + values: + - tag: linear + type: float + +- tag: B + optional: true + description: Extra resume + values: + - tag: linear + type: float + +- tag: E + optional: true + description: Extra Prime Length + values: + - tag: linear + type: float + +- tag: P + optional: true + description: Prime feedrate + values: + - tag: feedrate + type: int + +- tag: R + optional: true + description: Retract feedrate + values: + - tag: feedrate + type: int + +- tag: U + optional: true + description: Unretract feedrate + values: + - tag: linear + type: int + +- tag: F + optional: true + description: Fan speed (0-255) + values: + - tag: linear + type: int + +- tag: G + optional: true + description: Fan Time (seconds) + values: + - tag: linear + type: int + +- tag: A + optional: true + description: Migration Auto Mode. Requires `TOOLCHANGE_MIGRATION_FEATURE`. + values: + - tag: linear + type: int + +- tag: L + optional: true + description: Last Migration. Requires `TOOLCHANGE_MIGRATION_FEATURE`. + values: + - tag: linear + type: int + +- tag: W + optional: true + description: Enable Park Feature. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`. + values: + - tag: linear + type: int + +- tag: X + optional: true + description: Park X position. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`. + values: + - tag: linear + type: float + + +- tag: Y + optional: true + description: Park Y position. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`. + values: + - tag: linear + type: float + + +- tag: V + optional: true + description: Enable First Prime on uninitialized Nozzles. Requires `TOOLCHANGE_FS_PRIME_FIRST_USED`. + values: + - tag: linear + type: int + +- tag: Z + optional: true + description: Z Raise. + values: + - tag: feedrate + type: int --- diff --git a/_gcode/M218.md b/_gcode/M218.md index 16bef13097..79808e6cff 100644 --- a/_gcode/M218.md +++ b/_gcode/M218.md @@ -4,53 +4,47 @@ title: Set Hotend Offset brief: Set the offset of a hotend (from hotend 0). author: thinkyhead -requires: EXTRUDERS>1 +requires: HOTENDS>1 group: calibration codes: [ M218 ] -notes: | - - Requires 2 or more nozzles. - - The default hotend offsets are set with `HOTEND_OFFSET_[XYZ]`. - - Z hotend offset only available with `DUAL_X_CARRIAGE` or `SWITCHING_NOZZLE`. - - View current hotend offsets with [`M503`](/docs/gcode/M503.html). - - If `EEPROM_SETTINGS` is enabled, these offsets are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +notes: +- Requires 2 or more nozzles. +- The default hotend offsets are set with `HOTEND_OFFSET_[XYZ]`. +- Z hotend offset only available with `DUAL_X_CARRIAGE` or `SWITCHING_NOZZLE`. +- View current hotend offsets with [`M503`](/docs/gcode/M503.html). +- If `EEPROM_SETTINGS` is enabled, these offsets are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). parameters: - - - tag: T - optional: true - description: Hotend index. Active extruder by default. - values: - - - tag: index - type: int - - - tag: X - optional: true - description: Hotend X offset - values: - - - tag: offset - type: float - - - tag: Y - optional: true - description: Hotend Y offset - values: - - - tag: offset - type: float - - - tag: Z - optional: true - description: Hotend Z offset. Requires `DUAL_X_CARRIAGE` or `SWITCHING_NOZZLE`. - values: - - - tag: offset - type: float - -examples: + +- tag: T + optional: true + description: Hotend index. Active extruder by default. + values: + - tag: index + type: int + +- tag: X + optional: true + description: Hotend X offset + values: + - tag: offset + type: float + +- tag: Y + optional: true + description: Hotend Y offset + values: + - tag: offset + type: float + +- tag: Z + optional: true + description: Hotend Z offset. Requires `DUAL_X_CARRIAGE` or `SWITCHING_NOZZLE`. + values: + - tag: offset + type: float --- diff --git a/_gcode/M220.md b/_gcode/M220.md index 90d237a747..8776fa0dc1 100644 --- a/_gcode/M220.md +++ b/_gcode/M220.md @@ -9,41 +9,39 @@ group: motion codes: [ M220 ] parameters: - - - tag: S - optional: true - description: Feedrate percentage - values: - - - tag: percent - type: int - - - tag: B - optional: true - description: Back up current factor - values: - - - tag: flag - type: bool - - - tag: R - optional: true - description: Restore the last-saved factor - values: - - - tag: flag - type: bool + +- tag: S + optional: true + description: Feedrate percentage + values: + - tag: percent + type: int + +- tag: B + optional: true + description: Back up current factor + values: + - tag: flag + type: bool + +- tag: R + optional: true + description: Restore the last-saved factor + values: + - tag: flag + type: bool examples: -- - pre: Set feedrate to 80% - code: M220 S80 -- - pre: Report feedrate - code: M220 -- - pre: Back up current feedrate - code: M220 B +- pre: Set feedrate to 80% + code: M220 S80 + +- pre: Report feedrate + code: M220 + +- pre: Back up current feedrate + code: M220 B + --- + Set speed percentage factor, aka "Feed Rate" which applies to all G-code-based moves in all (X, Y, Z, and E) axes. Report the current speed percentage factor if no parameter is specified. diff --git a/_gcode/M221.md b/_gcode/M221.md index e44e360753..f96552c7d6 100644 --- a/_gcode/M221.md +++ b/_gcode/M221.md @@ -8,30 +8,25 @@ group: motion codes: [ M221 ] -notes: - parameters: - - - tag: S - optional: false - description: Feedrate percentage - values: - - - tag: percent - type: int - - - tag: T - optional: true - description: Target extruder (requires multi-extruder). Default is the active extruder. - values: - - - tag: index - type: int - -examples: - - - pre: Set the flow rate to 150%. - code: M221 S150 + +- tag: S + optional: false + description: Flow percentage + values: + - tag: percent + type: int + +- tag: T + optional: true + description: Target extruder (requires multi-extruder). Default is the active extruder. + values: + - tag: index + type: int + +example: +- pre: Set the flow rate to 150%. + code: M221 S150 --- diff --git a/_gcode/M226.md b/_gcode/M226.md index 99d998e718..66ff1630ee 100644 --- a/_gcode/M226.md +++ b/_gcode/M226.md @@ -6,29 +6,25 @@ author: thinkyhead requires: DIRECT_PIN_CONTROL group: control -codes: [ M226 ] -notes: +codes: [ M226 ] +related: [ M42 ] parameters: - - - tag: P - optional: false - description: Pin number - values: - - - tag: pin - type: byte - - - tag: S - optional: true - description: State 0 or 1. Default -1 for inverted. - values: - - - tag: state - type: byte -examples: +- tag: P + optional: false + description: Pin number + values: + - tag: pin + type: byte + +- tag: S + optional: true + description: State 0 or 1. Default -1 for inverted. + values: + - tag: state + type: byte --- diff --git a/_gcode/M240.md b/_gcode/M240.md index ddb4eca067..b52934430a 100644 --- a/_gcode/M240.md +++ b/_gcode/M240.md @@ -10,112 +10,98 @@ group: extras codes: [ M240 ] notes: - - "`CHDK_PIN` or `PHOTOGRAPH_PIN` is required prior to Marlin 2.0.0." - - To use the `CHDK_PIN` or `PHOTOGRAPH_PIN` option with a digital camera see [this article](//www.doc-diy.net/photo/rc-1_hacked/). - - To use an endstop or contact switch as a shutter switch for your smartphone's camera, see [this video](//youtu.be/i5g3ziK5wpI). +- "`CHDK_PIN` or `PHOTOGRAPH_PIN` is required prior to Marlin 2.0.0." +- To use the `CHDK_PIN` or `PHOTOGRAPH_PIN` option with a digital camera see [this article](//www.doc-diy.net/photo/rc-1_hacked/). +- To use an endstop or contact switch as a shutter switch for your smartphone's camera, see [this video](//youtu.be/i5g3ziK5wpI). parameters: - - - tag: A - optional: true - description: Offset to the X return position. (Requires `PHOTO_POSITION`) - values: - - - tag: offset - type: float - - - tag: B - optional: true - description: Offset to the Y return position. (Requires `PHOTO_POSITION`) - values: - - - tag: offset - type: float - - - tag: D - optional: true - description: Duration to hold down the shutter switch. (Requires `PHOTO_SWITCH_POSITION` and `PHOTO_SWITCH_MS`) - values: - - - tag: ms - type: int - - - tag: F - optional: true - description: Feedrate for the main photo moves. If omitted, the homing feedrate will be used. (Requires `PHOTO_POSITION`) - values: - - - tag: feedrate - type: float - - - tag: I - optional: true - description: Shutter switch X position. If omitted, the photo move X position applies. (Requires `PHOTO_SWITCH_POSITION`) - values: - - - tag: pos - type: float - - - tag: J - optional: true - description: Shutter switch Y position. If omitted, the photo move Y position applies. (Requires `PHOTO_SWITCH_POSITION`) - values: - - - tag: pos - type: float - - - tag: P - optional: true - description: Delay after pressing the shutter switch. (Requires `PHOTO_SWITCH_POSITION` and `PHOTO_SWITCH_MS`) - values: - - - tag: ms - type: int - - - tag: R - optional: true - description: Retract/recover length. (Requires `PHOTO_POSITION`) - values: - - - tag: length - type: float - - - tag: S - optional: true - description: Retract/recover feedrate. (Requires `PHOTO_POSITION`) - values: - - - tag: feedrate - type: float - - - tag: X - optional: true - description: Main photo move X position. (Requires `PHOTO_POSITION`) - values: - - - tag: pos - type: float - - - tag: Y - optional: true - description: Main photo move Y position. (Requires `PHOTO_POSITION`) - values: - - - tag: pos - type: float - - - tag: Z - optional: true - description: Main photo move Z raise. (Requires `PHOTO_POSITION`) - values: - - - tag: length - type: float -videos: - - i5g3ziK5wpI +- tag: A + optional: true + description: Offset to the X return position. (Requires `PHOTO_POSITION`) + values: + - tag: offset + type: float + +- tag: B + optional: true + description: Offset to the Y return position. (Requires `PHOTO_POSITION`) + values: + - tag: offset + type: float + +- tag: D + optional: true + description: Duration to hold down the shutter switch. (Requires `PHOTO_SWITCH_POSITION` and `PHOTO_SWITCH_MS`) + values: + - tag: ms + type: int + +- tag: F + optional: true + description: Feedrate for the main photo moves. If omitted, the homing feedrate will be used. (Requires `PHOTO_POSITION`) + values: + - tag: feedrate + type: float + +- tag: I + optional: true + description: Shutter switch X position. If omitted, the photo move X position applies. (Requires `PHOTO_SWITCH_POSITION`) + values: + - tag: pos + type: float + +- tag: J + optional: true + description: Shutter switch Y position. If omitted, the photo move Y position applies. (Requires `PHOTO_SWITCH_POSITION`) + values: + - tag: pos + type: float + +- tag: P + optional: true + description: Delay after pressing the shutter switch. (Requires `PHOTO_SWITCH_POSITION` and `PHOTO_SWITCH_MS`) + values: + - tag: ms + type: int -examples: +- tag: R + optional: true + description: Retract/recover length. (Requires `PHOTO_POSITION`) + values: + - tag: length + type: float + +- tag: S + optional: true + description: Retract/recover feedrate. (Requires `PHOTO_POSITION`) + values: + - tag: feedrate + type: float + +- tag: X + optional: true + description: Main photo move X position. (Requires `PHOTO_POSITION`) + values: + - tag: pos + type: float + +- tag: Y + optional: true + description: Main photo move Y position. (Requires `PHOTO_POSITION`) + values: + - tag: pos + type: float + +- tag: Z + optional: true + description: Main photo move Z raise. (Requires `PHOTO_POSITION`) + values: + - tag: length + type: float + +videos: +- i5g3ziK5wpI --- diff --git a/_gcode/M250.md b/_gcode/M250.md index af7aec8824..67adbad465 100644 --- a/_gcode/M250.md +++ b/_gcode/M250.md @@ -12,16 +12,13 @@ codes: [ M250 ] notes: Requires an LCD controller with software-controlled contrast. parameters: - - - tag: C - optional: true - description: Contrast value - values: - - - tag: contrast - type: int -examples: +- tag: C + optional: true + description: Contrast value + values: + - tag: contrast + type: int --- diff --git a/_gcode/M255.md b/_gcode/M255.md index e9903a2527..52e3a38c3d 100644 --- a/_gcode/M255.md +++ b/_gcode/M255.md @@ -9,19 +9,17 @@ group: lcd since: 2.0.9.4 codes: [ M255 ] +related: [ M256 ] notes: Requires an LCD controller with a software controlled backlight or sleep function. parameters: - - - tag: S - description: Timeout delay in minutes. - values: - - - tag: minutes - type: int -examples: +- tag: S + description: Timeout delay in minutes. + values: + - tag: minutes + type: int --- diff --git a/_gcode/M256.md b/_gcode/M256.md index db2c23116c..7d30d6e889 100644 --- a/_gcode/M256.md +++ b/_gcode/M256.md @@ -9,20 +9,18 @@ group: lcd since: 2.0.9.2 codes: [ M256 ] +related: [ M255 ] -notes: Requires an LCD controller with software-controlled brightness. This may be extended in the future to work with a NeoPixel or RGB LED backlight. +notes: Requires an LCD controller with software-controlled brightness. parameters: - - - tag: B - optional: true - description: Brightness value (0 - 255) - values: - - - tag: brightness - type: int -examples: +- tag: B + optional: true + description: Brightness value (0 - 255) + values: + - tag: brightness + type: int --- diff --git a/_gcode/M260.md b/_gcode/M260.md index 8076a3dbb1..aacbf162ad 100644 --- a/_gcode/M260.md +++ b/_gcode/M260.md @@ -8,60 +8,55 @@ requires: EXPERIMENTAL_I2CBUS group: i2c codes: [ M260 ] - -notes: Requires `EXPERIMENTAL_I2CBUS`. +related: [ M261 ] parameters: - - - tag: A - optional: true - description: The bus address to send to - values: - - - tag: addr - type: byte - - - tag: B - optional: true - description: The byte to add to the buffer - values: - - - tag: byte - type: byte - - - tag: R - optional: true - description: Reset and rewind the I2C buffer - values: - - - tag: flag - type: bool - - - tag: S - optional: true - description: Send flag. Flush the buffer to the bus. - values: - - - tag: flag - type: bool + +- tag: A + optional: true + description: The bus address to send to + values: + - tag: addr + type: byte + +- tag: B + optional: true + description: The byte to add to the buffer + values: + - tag: byte + type: byte + +- tag: R + optional: true + description: Reset and rewind the I2C buffer + values: + - tag: flag + type: bool + +- tag: S + optional: true + description: Send flag. Flush the buffer to the bus. + values: + - tag: flag + type: bool examples: - - - pre: Send "Marlin" to the slave device with address 0x63 (99) - code: | - M260 A99 ; Target slave address - M260 B77 ; M - M260 B97 ; a - M260 B114 ; r - M260 B108 ; l - M260 B105 ; i - M260 B110 ; n - M260 S1 ; Send the current buffer - - - pre: Request 6 bytes from slave device with address 0x63 (99) - code: M261 A99 B5 - - - code: 'i2c-reply: from:99 bytes:5 data:hello' + +- pre: Send "Marlin" to the slave device with address 0x63 (99) + code: | + M260 A99 ; Target slave address + M260 B77 ; M + M260 B97 ; a + M260 B114 ; r + M260 B108 ; l + M260 B105 ; i + M260 B110 ; n + M260 S1 ; Send the current buffer + +- pre: Request 6 bytes from slave device with address 0x63 (99) + code: M261 A99 B5 + +- code: 'i2c-reply: from:99 bytes:5 data:hello' --- diff --git a/_gcode/M261.md b/_gcode/M261.md index 78d13c339d..99bb217da3 100644 --- a/_gcode/M261.md +++ b/_gcode/M261.md @@ -8,50 +8,41 @@ requires: EXPERIMENTAL_I2CBUS group: i2c codes: [ M261 ] - -notes: Requires `EXPERIMENTAL_I2CBUS`. +related: [ M260 ] parameters: - - - tag: A - optional: false - description: The bus address to request bytes from - values: - - - tag: addr - type: byte - - - tag: B - optional: false - description: The number of bytes to request - values: - - - tag: count - type: byte - - - tag: S - optional: true - since: 2.0.9.3 - description: Output style. Default is 0 (raw echo) if nothing else is given. - values: - - - tag: 0 - type: style - description: Raw echo - - - tag: 1 - description: Bytes (hex) - type: style - - - tag: 2 - description: 1 or 2 byte value (decimal) - type: style - - - tag: 3 - description: Bytes (decimal) - type: style - -examples: + +- tag: A + optional: false + description: The bus address to request bytes from + values: + - tag: addr + type: byte + +- tag: B + optional: false + description: The number of bytes to request + values: + - tag: count + type: byte + +- tag: S + optional: true + since: 2.0.9.3 + description: Output style. Default is 0 (raw echo) if nothing else is given. + values: + - tag: 0 + type: style + description: Raw echo + - tag: 1 + description: Bytes (hex) + type: style + - tag: 2 + description: 1 or 2 byte value (decimal) + type: style + - tag: 3 + description: Bytes (decimal) + type: style --- diff --git a/_gcode/M280.md b/_gcode/M280.md index 51ae9ef7a3..6a4d5e25d6 100644 --- a/_gcode/M280.md +++ b/_gcode/M280.md @@ -8,28 +8,25 @@ requires: NUM_SERVOS>0 group: servos codes: [ M280 ] +related: [ M281, M282 ] notes: Requires `NUM_SERVOS` of 1 or more. parameters: - - - tag: P - optional: false - description: Servo index to set or get - values: - - - tag: index - type: int - - - tag: S - optional: false - description: Servo position to set. Omit to read the current position. - values: - - - tag: pos - type: int - -examples: + +- tag: P + optional: false + description: Servo index to set or get + values: + - tag: index + type: int + +- tag: S + optional: false + description: Servo position to set. Omit to read the current position. + values: + - tag: pos + type: int --- diff --git a/_gcode/M281.md b/_gcode/M281.md index a505380abb..3ba7f31622 100644 --- a/_gcode/M281.md +++ b/_gcode/M281.md @@ -9,38 +9,34 @@ requires: EDITABLE_SERVO_ANGLES group: servos codes: [ M281 ] +related: [ M280, M282 ] parameters: - - - tag: P - optional: false - description: Servo index to update / report. - values: - - - tag: index - type: int - - - tag: L - optional: true - description: Deploy angle in degrees. - values: - - - tag: degrees - type: int - - - - tag: U - optional: true - description: Stow angle in degrees. - values: - - - tag: degrees - type: int + +- tag: P + optional: false + description: Servo index to update / report. + values: + - tag: index + type: int + +- tag: L + optional: true + description: Deploy angle in degrees. + values: + - tag: degrees + type: int + +- tag: U + optional: true + description: Stow angle in degrees. + values: + - tag: degrees + type: int example: - - - pre: Set 90° deploy and 0° stow angles for servo 0. - code: M281 P0 L90 U0 +- pre: Set 90° deploy and 0° stow angles for servo 0. + code: M281 P0 L90 U0 --- diff --git a/_gcode/M282.md b/_gcode/M282.md index a4d10601e8..8cd0aeb2d2 100644 --- a/_gcode/M282.md +++ b/_gcode/M282.md @@ -9,21 +9,20 @@ requires: SERVO_DETACH_GCODE group: servos codes: [ M282 ] +related: [ M280, M281 ] parameters: - - - tag: P - optional: false - description: Index of the servo to detach. - values: - - - tag: index - type: int + +- tag: P + optional: false + description: Index of the servo to detach. + values: + - tag: index + type: int example: - - - pre: Detach servo at index 1 - code: M282 P1 +- pre: Detach servo at index 1 + code: M282 P1 --- diff --git a/_gcode/M290.md b/_gcode/M290.md index 6b5e01b3eb..6ddfb983d3 100644 --- a/_gcode/M290.md +++ b/_gcode/M290.md @@ -10,57 +10,50 @@ group: calibration codes: [ M290 ] -notes: Requires `BABYSTEP_XY` for babystepping on the XY axes. +notes: Requires `BABYSTEP_XY` to do babystepping on the XY axes. parameters: - - - tag: X - optional: true - description: A distance on the X axis - values: - - - tag: pos - type: float - - - tag: Y - optional: true - description: A distance on the Y axis - values: - - - tag: pos - type: float - - - tag: Z - optional: true - description: A distance on the Z axis - values: - - - tag: pos - type: float - - - tag: S - optional: true - description: Alias for Z - values: - - - tag: pos - type: float - - - tag: P - optional: true - description: Use `P0` to leave the Probe Z Offset unaffected. (Requires `BABYSTEP_ZPROBE_OFFSET`) - values: - - - type: bool + +- tag: X + optional: true + description: A distance on the X axis + values: + - tag: pos + type: float + +- tag: Y + optional: true + description: A distance on the Y axis + values: + - tag: pos + type: float + +- tag: Z + optional: true + description: A distance on the Z axis + values: + - tag: pos + type: float + +- tag: S + optional: true + description: Alias for Z + values: + - tag: pos + type: float + +- tag: P + optional: true + description: Use `P0` to leave the Probe Z Offset unaffected. (Requires `BABYSTEP_ZPROBE_OFFSET`) + values: + - type: bool example: - - - pre: Babystep the Z axis by 0.25mm (in mm units mode) - code: - - M290 Z0.25 ; move up 0.25mm on the Z axis +- pre: Babystep the Z axis by 0.25mm (in mm units mode) + code: M290 Z0.25 ; move up 0.25mm on the Z axis --- -Apply babysteps to one or more axes using current units. Offsets applied with [`M290`](/docs/gcode/M290.html) aren't added to the current coordinates, but are intended for making small adjustments, especially in the Z axis, at the start of a print. +Apply babysteps to one or more axes using current units. Offsets applied with `M290` aren't added to the current coordinates, but are intended for making small adjustments, especially in the Z axis, at the start of a print. -Note that when `BABYSTEP_ZPROBE_OFFSET` is enabled, [`M290`](/docs/gcode/M290.html) also modifies the Probe Z Offset (with no immediate effects). The new Z offset applies to successive probing operations, and can be saved with [`M500`](/docs/gcode/M500.html). This behavior is means to coincide with the LCD Menu replacing "Z Babystepping" with "Babystep Z Probe Offset." To avoid this side-effect, use `M290 P0` or leave `BABYSTEP_ZPROBE_OFFSET` disabled. +Note that when `BABYSTEP_ZPROBE_OFFSET` is enabled, `M290` also modifies the Probe Z Offset (with no immediate effects). The new Z offset applies to successive probing operations, and can be saved with [`M500`](/docs/gcode/M500.html). This behavior is means to coincide with the LCD Menu replacing "Z Babystepping" with "Babystep Z Probe Offset." To avoid this side-effect, use `M290 P0` or leave `BABYSTEP_ZPROBE_OFFSET` disabled. diff --git a/_gcode/M300.md b/_gcode/M300.md index 90b7d22304..925f6bb9c6 100644 --- a/_gcode/M300.md +++ b/_gcode/M300.md @@ -10,34 +10,31 @@ group: lcd codes: [ M300 ] notes: - - Requires `SPEAKER` to play tones (not just beeps). - - In Marlin 1.0.2, playing tones block the command queue. Marlin 1.1.0 uses a tone queue and background tone player to keep the command buffer from being blocked by playing tones. +- Requires `SPEAKER` to play tones (not just beeps). +- In Marlin 1.0.2, playing tones block the command queue. Marlin 1.1.0 uses a tone queue and background tone player to keep the command buffer from being blocked by playing tones. parameters: - - - tag: P - optional: true - description: Duration (1ms) - values: - - - tag: ms - type: int - - - tag: S - optional: true - description: Frequency (260Hz) - values: - - - tag: Hz - type: int - -examples: - - - pre: Play a tune. - code: | - M300 S440 P200 - M300 S660 P250 - M300 S880 P300 + +- tag: P + optional: true + description: Duration (1ms) + values: + - tag: ms + type: int + +- tag: S + optional: true + description: Frequency (260Hz) + values: + - tag: Hz + type: int + +example: +- pre: Play a short tune + code: + - M300 S440 P200 + - M300 S660 P250 + - M300 S880 P300 --- diff --git a/_gcode/M301.md b/_gcode/M301.md index ef455b0415..8dc5ed39d4 100644 --- a/_gcode/M301.md +++ b/_gcode/M301.md @@ -10,69 +10,60 @@ group: thermal codes: [ M301 ] notes: - - Requires `PIDTEMP`. - - View current PID values with [`M503`](/docs/gcode/M503.html). - - If `EEPROM_SETTINGS` is enabled, all hotend PID values are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- Requires `PIDTEMP`. +- View current PID values with [`M503`](/docs/gcode/M503.html). +- If `EEPROM_SETTINGS` is enabled, all hotend PID values are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). parameters: - - - tag: E - optional: true - description: Extruder index to set. Default 0. - values: - - - tag: index - type: int - - - tag: P - optional: true - description: Proportional value - values: - - - tag: value - type: float - - - tag: I - optional: true - description: Integral value - values: - - - tag: value - type: float - - - tag: D - optional: true - description: Derivative value - values: - - - tag: value - type: float - - - tag: C - optional: true - description: C term (requires `PID_EXTRUSION_SCALING`) - values: - - - tag: value - type: float - - - tag: L - optional: true - description: Extrusion scaling queue length (requires `PID_EXTRUSION_SCALING`) - values: - - - tag: value - type: float - - - tag: F - optional: true - description: F term (requires `PID_FAN_SCALING`) - values: - - - tag: value - type: float -examples: +- tag: E + optional: true + description: Extruder index to set. Default 0. + values: + - tag: index + type: int + +- tag: P + optional: true + description: Proportional value + values: + - tag: value + type: float + +- tag: I + optional: true + description: Integral value + values: + - tag: value + type: float + +- tag: D + optional: true + description: Derivative value + values: + - tag: value + type: float + +- tag: C + optional: true + description: C term (requires `PID_EXTRUSION_SCALING`) + values: + - tag: value + type: float + +- tag: L + optional: true + description: Extrusion scaling queue length (requires `PID_EXTRUSION_SCALING`) + values: + - tag: value + type: float + +- tag: F + optional: true + description: F term (requires `PID_FAN_SCALING`) + values: + - tag: value + type: float --- diff --git a/_gcode/M302.md b/_gcode/M302.md index a3cad3c55f..e7d826cdca 100644 --- a/_gcode/M302.md +++ b/_gcode/M302.md @@ -12,33 +12,31 @@ codes: [ M302 ] notes: Requires `PREVENT_COLD_EXTRUSION`. parameters: - - - tag: S - optional: true - description: Minimum temperature for safe extrusion - values: - - - tag: temp - type: float - - - tag: P - optional: true - description: Flag to allow extrusion at any temperature - values: - - - tag: flag - type: bool + +- tag: S + optional: true + description: Minimum temperature for safe extrusion + values: + - tag: temp + type: float + +- tag: P + optional: true + description: Flag to allow extrusion at any temperature + values: + - tag: flag + type: bool examples: - - - pre: Some common uses... - code: | - M302 ; report current cold extrusion state - M302 P0 ; enable cold extrusion checking - M302 P1 ; disable cold extrusion checking - M302 S0 ; always allow extrusion (disable checking) - M302 S170 ; only allow extrusion above 170 - M302 S170 P1 ; set min extrude temp to 170 but leave disabled + +- pre: Some common uses... + code: + - M302 ; report current cold extrusion state + - M302 P0 ; enable cold extrusion checking + - M302 P1 ; disable cold extrusion checking + - M302 S0 ; always allow extrusion (disable checking) + - M302 S170 ; only allow extrusion above 170 + - M302 S170 P1 ; set min extrude temp to 170 but leave disabled --- diff --git a/_gcode/M303.md b/_gcode/M303.md index ad684ac0e6..fd27846caa 100644 --- a/_gcode/M303.md +++ b/_gcode/M303.md @@ -10,59 +10,50 @@ group: thermal codes: [ M303 ] notes: - - Requires `PIDTEMP` or `PIDTEMPBED`. - - View current PID values with [`M503`](/docs/gcode/M503.html). - - If `EEPROM_SETTINGS` is enabled, all PID values are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- View current PID values with [`M503`](/docs/gcode/M503.html). +- If `EEPROM_SETTINGS` is enabled, all PID values are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). parameters: - - - tag: E - optional: true - description: Hotend index (-1 for heated bed). Default 0. - values: - - - tag: index - type: int - - - tag: C - optional: true - description: Cycles. At least 3 cycles are required. Default 5. - values: - - - tag: count - type: int - - - tag: S - optional: true - description: Target temperature - values: - - - tag: temp - type: float - - - tag: U - optional: true - description: Use PID result. (Otherwise just print it out.) - values: - - - type: bool - - - tag: D - optional: true - description: Toggle PID debug output on / off (and take no further action). (Requires `PID_DEBUG`) - values: - - - type: flag + +- tag: E + optional: true + description: Hotend index (-1 for heated bed). Default 0. + values: + - tag: index + type: int + +- tag: C + optional: true + description: Cycles. At least 3 cycles are required. Default 5. + values: + - tag: count + type: int + +- tag: S + optional: true + description: Target temperature + values: + - tag: temp + type: float + +- tag: U + optional: true + description: Use PID result. (Otherwise just print it out.) + values: + - type: bool + +- tag: D + optional: true + description: Toggle PID debug output on / off (and take no further action). (Requires `PID_DEBUG`) + values: + - type: flag examples: -- - pre: 'Auto-tune hotend at 210 °C for 8 cycles:' - code: - - M303 E0 C8 S210 -- - pre: 'Auto-tune bed at 60 °C for 8 cycles:' - code: - - M303 E-1 C8 S60 +- pre: 'Auto-tune hotend at 210 °C for 8 cycles:' + code: M303 E0 C8 S210 +- pre: 'Auto-tune bed at 60 °C for 8 cycles:' + code: M303 E-1 C8 S60 + --- This command initiates a process of heating and cooling to determine the proper PID values for the specified hotend or the heated bed. diff --git a/_gcode/M304.md b/_gcode/M304.md index ab29e03f43..59e3a45f02 100644 --- a/_gcode/M304.md +++ b/_gcode/M304.md @@ -10,35 +10,32 @@ group: thermal codes: [ M304 ] notes: - - Requires `PIDTEMPBED`. - - View current bed PID values with [`M503`](/docs/gcode/M503.html) - - If `EEPROM_SETTINGS` is enabled, bed PID values are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html) +- Requires `PIDTEMPBED`. +- View current bed PID values with [`M503`](/docs/gcode/M503.html) +- If `EEPROM_SETTINGS` is enabled, bed PID values are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html) parameters: - - - tag: P - optional: true - description: Proportional value - values: - - - tag: value - type: float - - - tag: I - optional: true - description: Integral value - values: - - - tag: value - type: float - - - tag: D - optional: true - description: Derivative value - values: - - - tag: value - type: float + +- tag: P + optional: true + description: Proportional value + values: + - tag: value + type: float + +- tag: I + optional: true + description: Integral value + values: + - tag: value + type: float + +- tag: D + optional: true + description: Derivative value + values: + - tag: value + type: float --- diff --git a/_gcode/M305.md b/_gcode/M305.md index 71291a2f2a..6bde50fe9e 100644 --- a/_gcode/M305.md +++ b/_gcode/M305.md @@ -10,54 +10,49 @@ group: thermal codes: [ M305 ] notes: - - Must specify temperature sensor `1000` +- Must specify temperature sensor `1000` parameters: - - - tag: P - optional: true - description: Thermistor table index - values: - - - tag: index - type: int - - - tag: R - optional: true - description: Pullup resistor value - values: - - - tag: ohm - type: int - - - tag: T - optional: true - description: Resistance at 25C - values: - - - tag: ohms - type: int - - - tag: B - optional: true - description: Thermistor "beta" value - values: - - - tag: beta - type: int - - - tag: C - optional: true - description: Steinhart-Hart Coefficient 'C' - values: - - - tag: coeff - type: float + +- tag: P + optional: true + description: Thermistor table index + values: + - tag: index + type: int + +- tag: R + optional: true + description: Pullup resistor value + values: + - tag: ohm + type: int + +- tag: T + optional: true + description: Resistance at 25C + values: + - tag: ohms + type: int + +- tag: B + optional: true + description: Thermistor "beta" value + values: + - tag: beta + type: int + +- tag: C + optional: true + description: Steinhart-Hart Coefficient 'C' + values: + - tag: coeff + type: float examples: - - - pre: Set temperature sensor 0 pullup resistor value to 4.7K, resistance to 100K, thermistor beta value to 3950, and coefficient to 0 - code: M305 P0 R4700 T100000 B3950 C0.0 +- pre: Set temperature sensor 0 pullup resistor value to 4.7K, resistance to 100K, thermistor beta value to 3950, and coefficient to 0 + code: M305 P0 R4700 T100000 B3950 C0.0 --- + Allows for custom temperature sensor. diff --git a/_gcode/M306.md b/_gcode/M306.md index 47ec6e3e33..25e91649ce 100644 --- a/_gcode/M306.md +++ b/_gcode/M306.md @@ -12,100 +12,88 @@ since: 2.0.9.4 codes: [ M306 ] notes: - - Requires `MPCTEMP`. - - View current values with [`M306`](/docs/gcode/M306.html) and no parameters. - - If `EEPROM_SETTINGS` is enabled, all calibration values are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). - - Heater Power (P) is related to the heater cartridge in the hotend. Most printers have 30 or 40 watt heaters. - - '`M306 T` will move your hotend to 1mm above the bed for optimal calibration. You should ensure your hotend and print bed are free from debris before running an auto-tune.' - - See [the Marlin MPC documentation](/docs/features/model_predictive_control.html) for more information about MPC parameters. +- View current values with `M306` and no parameters. +- If `EEPROM_SETTINGS` is enabled, all calibration values are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- Heater Power (P) is related to the heater cartridge in the hotend. Most printers have 30 or 40 watt heaters. +- '`M306 T` will move your hotend to 1mm above the bed for optimal calibration. You should ensure your hotend and print bed are free from debris before running an auto-tune.' +- See the [MPC documentation](/docs/features/model_predictive_control.html) for more information about MPC parameters. parameters: - - - tag: A - optional: true - description: Ambient heat transfer coefficient (no fan). - values: - - - tag: value - type: float - - - tag: C - optional: true - description: Heatblock Capacity (joules/kelvin) - values: - - - tag: value - type: float - - - tag: E - optional: true - description: Extruder index. If omitted, the command applies to the active extruder. - values: - - - tag: index - type: int - - - tag: F - optional: true - description: Ambient heat transfer coefficient (fan on full). - values: - - - tag: value - type: float - - - tag: H - optional: true - description: Filament Heat Capacity (joules/kelvin/mm) - values: - - - tag: value - type: float - - - tag: P - optional: true - description: Heater power in watts - values: - - - tag: value - type: float - - - tag: R - optional: true - description: Sensor responsiveness (= transfer coefficient / heat capacity). - values: - - - tag: value - type: float - - - tag: S - optional: true - since: 2.1.3 - requires: MPC_AUTOTUNE - experimental: true - description: "Tuning method (with parameter '`T`'). (Default: 0 = AUTO)" - values: - - - tag: 0 - description: Auto Select - - - tag: 1 - description: Differential - - - tag: 2 - description: Asymptotic - - - tag: T - optional: true - requires: MPC_AUTOTUNE - description: Autotune the selected extruder. Use parameter '`S`' to select the type of tuning to use. + +- tag: A + optional: true + description: Ambient heat transfer coefficient (no fan). + values: + - tag: value + type: float + +- tag: C + optional: true + description: Heatblock Capacity (joules/kelvin) + values: + - tag: value + type: float + +- tag: E + optional: true + description: Extruder index. If omitted, the command applies to the active extruder. + values: + - tag: index + type: int + +- tag: F + optional: true + description: Ambient heat transfer coefficient (fan on full). + values: + - tag: value + type: float + +- tag: H + optional: true + description: Filament Heat Capacity (joules/kelvin/mm) + values: + - tag: value + type: float + +- tag: P + optional: true + description: Heater power in watts + values: + - tag: value + type: float + +- tag: R + optional: true + description: Sensor responsiveness (= transfer coefficient / heat capacity). + values: + - tag: value + type: float + +- tag: S + optional: true + since: 2.1.3 + requires: MPC_AUTOTUNE + experimental: true + description: "Tuning method (with parameter '`T`'). (Default: 0 = AUTO)" + values: + - tag: 0 + description: Auto Select + - tag: 1 + description: Differential + - tag: 2 + description: Asymptotic + +- tag: T + optional: true + requires: MPC_AUTOTUNE + description: Autotune the selected extruder. Use parameter '`S`' to select the type of tuning to use. examples: -- - pre: 'Configure MPCTEMP for 40W hotend heater' - code: - - M306 P40 -- - pre: 'Perform MPCTEMP *Differential* auto-tune - after setting heater element power' - code: - - M306 T S1 + +- pre: 'Configure `MPCTEMP` for 40W hotend heater' + code: M306 P40 + +- pre: 'Perform `MPCTEMP` *Differential* auto-tune - after setting heater element power' + code: M306 T S1 + --- diff --git a/_gcode/M350.md b/_gcode/M350.md index 98b33a402d..0a84de4848 100644 --- a/_gcode/M350.md +++ b/_gcode/M350.md @@ -8,102 +8,69 @@ requires: HAS_MICROSTEPS group: control codes: [ M350 ] - -notes: +related: [ M351 ] parameters: - - - tag: B - optional: true - description: Set micro-stepping for the 5th stepper driver. - values: - - - tag: 1 - - - tag: 2 - - - tag: 4 - - - tag: 8 - - - tag: 16 - - - tag: S - optional: true - description: Set micro-stepping for all 5 stepper drivers. - values: - - - tag: 1 - - - tag: 2 - - - tag: 4 - - - tag: 8 - - - tag: 16 - - - tag: X - optional: true - description: Set micro-stepping for the X stepper driver. - values: - - - tag: 1 - - - tag: 2 - - - tag: 4 - - - tag: 8 - - - tag: 16 - - - tag: Y - optional: true - description: Set micro-stepping for the Y stepper driver. - values: - - - tag: 1 - - - tag: 2 - - - tag: 4 - - - tag: 8 - - - tag: 16 - - - tag: Z - optional: true - description: Set micro-stepping for the Z stepper driver. - values: - - - tag: 1 - - - tag: 2 - - - tag: 4 - - - tag: 8 - - - tag: 16 - - - tag: E - optional: true - description: Set micro-stepping for the E0 stepper driver. - values: - - - tag: 1 - - - tag: 2 - - - tag: 4 - - - tag: 8 - - - tag: 16 -examples: +- tag: B + optional: true + description: Set micro-stepping for the 5th stepper driver. + values: + - tag: 1 + - tag: 2 + - tag: 4 + - tag: 8 + - tag: 16 + +- tag: S + optional: true + description: Set micro-stepping for all 5 stepper drivers. + values: + - tag: 1 + - tag: 2 + - tag: 4 + - tag: 8 + - tag: 16 + +- tag: X + optional: true + description: Set micro-stepping for the X stepper driver. + values: + - tag: 1 + - tag: 2 + - tag: 4 + - tag: 8 + - tag: 16 + +- tag: Y + optional: true + description: Set micro-stepping for the Y stepper driver. + values: + - tag: 1 + - tag: 2 + - tag: 4 + - tag: 8 + - tag: 16 + +- tag: Z + optional: true + description: Set micro-stepping for the Z stepper driver. + values: + - tag: 1 + - tag: 2 + - tag: 4 + - tag: 8 + - tag: 16 + +- tag: E + optional: true + description: Set micro-stepping for the E0 stepper driver. + values: + - tag: 1 + - tag: 2 + - tag: 4 + - tag: 8 + - tag: 16 --- diff --git a/_gcode/M351.md b/_gcode/M351.md index afe0a663e3..f8a79cd135 100644 --- a/_gcode/M351.md +++ b/_gcode/M351.md @@ -8,71 +8,58 @@ requires: HAS_MICROSTEPS group: control codes: [ M351 ] - -notes: +related: [ M350 ] parameters: - - - tag: S - optional: false - description: Select the pin to set for all specified axes. - values: - - - tag: 1 - description: Select pin MS1 for all axes being set. - - - tag: 2 - description: Select pin MS2 for all axes being set. - - - tag: B - optional: true - description: Set the MS1/2 pin for the 5th stepper driver. - values: - - - tag: 0 - - - tag: 1 - - - tag: X - optional: true - description: Set the MS1/2 pin for the X stepper driver. - values: - - - tag: 0 - - - tag: 1 - - - tag: Y - optional: true - description: Set the MS1/2 pin for the Y stepper driver. - values: - - - tag: 0 - - - tag: 1 - - - tag: Z - optional: true - description: Set the MS1/2 pin for the Z stepper driver. - values: - - - tag: 0 - - - tag: 1 - - - tag: E - optional: true - description: Set the MS1/2 pin for the E stepper driver. - values: - - - tag: 0 - - - tag: 1 -examples: - - - pre: Set the `X_MS1` pin and clear the `E0_MS1` pin - code: M351 S1 X1 E0 +- tag: S + optional: false + description: Select the pin to set for all specified axes. + values: + - tag: 1 + description: Select pin MS1 for all axes being set. + - tag: 2 + description: Select pin MS2 for all axes being set. + +- tag: B + optional: true + description: Set the MS1/2 pin for the 5th stepper driver. + values: + - tag: 0 + - tag: 1 + +- tag: X + optional: true + description: Set the MS1/2 pin for the X stepper driver. + values: + - tag: 0 + - tag: 1 + +- tag: Y + optional: true + description: Set the MS1/2 pin for the Y stepper driver. + values: + - tag: 0 + - tag: 1 + +- tag: Z + optional: true + description: Set the MS1/2 pin for the Z stepper driver. + values: + - tag: 0 + - tag: 1 + +- tag: E + optional: true + description: Set the MS1/2 pin for the E stepper driver. + values: + - tag: 0 + - tag: 1 + +example: +- pre: Set the `X_MS1` pin and clear the `E0_MS1` pin + code: M351 S1 X1 E0 + --- If your board has digital micro-stepping pins (`X_MS1`, `Y_MS1`, etc.), use this command to set the micro-steps. diff --git a/_gcode/M355.md b/_gcode/M355.md index 731c8c0899..d832e98a12 100644 --- a/_gcode/M355.md +++ b/_gcode/M355.md @@ -12,26 +12,22 @@ codes: [ M355 ] notes: Requires a `CASE_LIGHT_PIN` to control the on/off or PWM state of the case light. The pin will need to be a 12V MOSFET pin with PWM control, or a signal pin connected to a MOSFET or relay to control the higher current required for the light. parameters: - - - tag: P - optional: true - description: Set the brightness factor from 0 to 255. - values: - - - type: byte - - - tag: S - optional: true - description: Turn the case light on or off. - values: - - - type: bool +- tag: P + optional: true + description: Set the brightness factor from 0 to 255. + values: + - type: byte + +- tag: S + optional: true + description: Turn the case light on or off. + values: + - type: bool example: - - - pre: Turn the case light on at half brightness - code: M355 S1 P128 +- pre: Turn the case light on at half brightness + code: M355 S1 P128 --- diff --git a/_gcode/M360.md b/_gcode/M360.md index 2db37dd3c0..36276686d0 100644 --- a/_gcode/M360.md +++ b/_gcode/M360.md @@ -8,12 +8,7 @@ requires: MORGAN_SCARA group: control codes: [ M360 ] - -notes: - -parameters: - -examples: +related: [ M361, M362, M363, M364 ] --- diff --git a/_gcode/M361.md b/_gcode/M361.md index a04bb5d5e0..c8d3717d5f 100644 --- a/_gcode/M361.md +++ b/_gcode/M361.md @@ -8,12 +8,7 @@ requires: MORGAN_SCARA group: control codes: [ M361 ] - -notes: - -parameters: - -examples: +related: [ M360, M362, M363, M364 ] --- diff --git a/_gcode/M362.md b/_gcode/M362.md index ba921d2d1e..f6e5f91d87 100644 --- a/_gcode/M362.md +++ b/_gcode/M362.md @@ -8,12 +8,7 @@ requires: MORGAN_SCARA group: control codes: [ M362 ] - -notes: - -parameters: - -examples: +related: [ M360, M361, M363, M364 ] --- diff --git a/_gcode/M363.md b/_gcode/M363.md index fe091e7fae..eb00182985 100644 --- a/_gcode/M363.md +++ b/_gcode/M363.md @@ -8,12 +8,7 @@ requires: MORGAN_SCARA group: control codes: [ M363 ] - -notes: - -parameters: - -examples: +related: [ M360, M361, M362, M364 ] --- diff --git a/_gcode/M364.md b/_gcode/M364.md index d159f37903..dd80b1b4b3 100644 --- a/_gcode/M364.md +++ b/_gcode/M364.md @@ -8,12 +8,7 @@ requires: MORGAN_SCARA group: control codes: [ M364 ] - -notes: - -parameters: - -examples: +related: [ M360, M361, M362, M363 ] --- diff --git a/_gcode/M380.md b/_gcode/M380.md index 148b46bf65..d34c4ac398 100644 --- a/_gcode/M380.md +++ b/_gcode/M380.md @@ -8,29 +8,27 @@ requires: EXT_SOLENOID group: none codes: [ M380 ] - -notes: +related: [ M381 ] parameters: - - - tag: S - optional: true - since: 2.0.0 - requires: MANUAL_SOLENOID_CONTROL - description: Solenoid index (Requires `MANUAL_SOLENOID_CONTROL`) - values: - - - tag: index - type: int - -example: - - - code: - - M381 ; Deactivate all solenoids - - T0 ; Extruder 0 - - M380 ; Activate the E0 solenoid - - - code: M381 S1 ; Activate solenoid 1 + +- tag: S + optional: true + since: 2.0.0 + requires: MANUAL_SOLENOID_CONTROL + description: Solenoid index (Requires `MANUAL_SOLENOID_CONTROL`) + values: + - tag: index + type: int + +examples: + +- code: + - M380 ; Deactivate all solenoids + - T0 ; Extruder 0 + - M380 ; Activate the E0 solenoid + +- code: M380 S1 ; Activate solenoid 1 --- diff --git a/_gcode/M381.md b/_gcode/M381.md index 47338c5652..59864ff13b 100644 --- a/_gcode/M381.md +++ b/_gcode/M381.md @@ -8,26 +8,22 @@ requires: EXT_SOLENOID group: none codes: [ M381 ] - -notes: +related: [ M380 ] parameters: - - - tag: S - optional: true - since: 2.0.0 - requires: MANUAL_SOLENOID_CONTROL - description: Solenoid index (Requires `MANUAL_SOLENOID_CONTROL`) - values: - - - tag: index - type: int + +- tag: S + optional: true + since: 2.0.0 + requires: MANUAL_SOLENOID_CONTROL + description: Solenoid index (Requires `MANUAL_SOLENOID_CONTROL`) + values: + - tag: index + type: int examples: - - - code: M381 ; Deactivate all solenoids - - - code: M381 S1 ; Deactivate solenoid 1 +- code: M381 ; Deactivate all solenoids +- code: M381 S1 ; Deactivate solenoid 1 --- diff --git a/_gcode/M400.md b/_gcode/M400.md index f49052bcd0..62b61aa119 100644 --- a/_gcode/M400.md +++ b/_gcode/M400.md @@ -8,16 +8,11 @@ group: motion codes: [ M400 ] -notes: - -parameters: - example: - - - pre: Wait for moves to finish before playing a beep - code: - - M400 - - M300 S440 P100 +- pre: Wait for moves to finish before playing a beep + code: + - M400 + - M300 S440 P100 --- diff --git a/_gcode/M401.md b/_gcode/M401.md index c3bd1bed60..f7177e14b6 100644 --- a/_gcode/M401.md +++ b/_gcode/M401.md @@ -4,7 +4,6 @@ title: Deploy Probe brief: Deploy the bed probe author: thinkyhead -requires: HAS_BED_PROBE group: calibration codes: [ M401 ] @@ -12,32 +11,28 @@ codes: [ M401 ] notes: Requires some kind of bed probe. This command has no visible effect for probes that don't move. They are just activated. parameters: - - - tag: H - optional: true - since: 2.0.9.4 - requires: BLTOUCH_HS_MODE - description: Report the current BLTouch High Speed (HS) Mode state and exit. - values: - - - type: flag - - - tag: S - optional: true - since: 2.0.9.3 - requires: BLTOUCH_HS_MODE - description: Set the BLTouch High Speed (HS) Mode state and exit without deploy. - values: - - - type: bool + +- tag: H + optional: true + since: 2.0.9.4 + requires: BLTOUCH_HS_MODE + description: Report the current BLTouch High Speed (HS) Mode state and exit. + values: + - type: flag + +- tag: S + optional: true + since: 2.0.9.3 + requires: BLTOUCH_HS_MODE + description: Set the BLTouch High Speed (HS) Mode state and exit without deploy. + values: + - type: bool examples: - - - pre: Deploy the probe - code: M401 - - - pre: Enable BLTouch High Speed Mode - code: M401 S1 +- pre: Deploy the probe + code: M401 +- pre: Enable BLTouch High Speed Mode + code: M401 S1 --- diff --git a/_gcode/M402.md b/_gcode/M402.md index 865c029379..a82aa8e965 100644 --- a/_gcode/M402.md +++ b/_gcode/M402.md @@ -11,12 +11,9 @@ codes: [ M402 ] notes: Requires some kind of bed probe. This command has no visible effect for probes that don't move. They are just deactivated. -parameters: - examples: - - - pre: Stow the probe - code: M402 +- pre: Stow the probe + code: M402 --- diff --git a/_gcode/M403.md b/_gcode/M403.md index 1107fd77e7..f687254727 100644 --- a/_gcode/M403.md +++ b/_gcode/M403.md @@ -10,41 +10,35 @@ group: control codes: [ M403 ] notes: - - Requires a Průša Multi-Material Unit v2.0. - - Requires [`PRUSA_MMU2`](/docs/configuration/configuration.html#prusa-mmu2) +- Requires a Průša Multi-Material Unit v2.0. +- Requires [`PRUSA_MMU2`](/docs/configuration/configuration.html#prusa-mmu2) parameters: - - - tag: E - optional: false - description: The MMU2 slot [0..4] to set the material type for - values: - - - tag: index - type: int - - - tag: F - optional: false - description: The filament type. - values: - - - tag: 0 - description: Default (PLA, PETG, ...) - - - tag: 1 - description: Flexible filament - - - tag: 2 - description: PVA +- tag: E + optional: false + description: The MMU2 slot [0..4] to set the material type for + values: + - tag: index + type: int + +- tag: F + optional: false + description: The filament type. + values: + - tag: 0 + description: Default (PLA, PETG, ...) + - tag: 1 + description: Flexible filament + - tag: 2 + description: PVA examples: - - - pre: Set slot 0 to flexible - code: M403 E0 F1 - - - pre: Set slot 3 to PVA - code: M403 E3 F2 +- pre: Set slot 0 to flexible + code: M403 E0 F1 + +- pre: Set slot 3 to PVA + code: M403 E3 F2 --- diff --git a/_gcode/M404.md b/_gcode/M404.md index f0aa62fd8f..e21ac39eb6 100644 --- a/_gcode/M404.md +++ b/_gcode/M404.md @@ -8,28 +8,25 @@ requires: FILAMENT_WIDTH_SENSOR group: control codes: [ M404 ] - -notes: Requires `FILAMENT_WIDTH_SENSOR`. +related: [ M405, M406, M407 ] parameters: - - - tag: W - optional: true - description: The new nominal width value - values: - - - tag: linear - type: float + +- tag: W + optional: true + description: The new nominal width value + values: + - tag: linear + type: float examples: - - - pre: Set the diameter to 1.75mm - code: M404 W1.75 - - - pre: Get the current width - code: - - M404 - - '> Filament dia (nominal mm): 1.75' +- pre: Set the diameter to 1.75mm + code: M404 W1.75 + +- pre: Get the current width + code: + - M404 + - '> Filament dia (nominal mm): 1.75' --- diff --git a/_gcode/M405.md b/_gcode/M405.md index f2bdeb0044..32dcdd218b 100644 --- a/_gcode/M405.md +++ b/_gcode/M405.md @@ -8,23 +8,20 @@ requires: FILAMENT_WIDTH_SENSOR group: control codes: [ M405 ] - -notes: Requires `FILAMENT_WIDTH_SENSOR`. +related: [ M404, M406, M407 ] parameters: - - - tag: D - optional: true - description: Distance from measurement point to hot end. If not given, the previous value will be used. The default startup value is set by `MEASUREMENT_DELAY_CM`. - values: - - - unit: cm - type: int + +- tag: D + optional: true + description: Distance from measurement point to hot end. If not given, the previous value will be used. The default startup value is set by `MEASUREMENT_DELAY_CM`. + values: + - unit: cm + type: int example: - - - pre: Start measuring filament width, adjusting flow - code: M405 +- pre: Start measuring filament width, adjusting flow + code: M405 --- diff --git a/_gcode/M406.md b/_gcode/M406.md index 2a1729e3e4..1709d0a62c 100644 --- a/_gcode/M406.md +++ b/_gcode/M406.md @@ -8,15 +8,11 @@ requires: FILAMENT_WIDTH_SENSOR group: control codes: [ M406 ] - -notes: Requires `FILAMENT_WIDTH_SENSOR`. - -parameters: +related: [ M404, M405, M407 ] example: - - - pre: Stop measuring filament width - code: M406 +- pre: Stop measuring filament width + code: M406 --- diff --git a/_gcode/M407.md b/_gcode/M407.md index df87069420..7f2453cc72 100644 --- a/_gcode/M407.md +++ b/_gcode/M407.md @@ -8,17 +8,13 @@ requires: FILAMENT_WIDTH_SENSOR group: control codes: [ M407 ] - -notes: Requires `FILAMENT_WIDTH_SENSOR`. - -parameters: +related: [ M404, M405, M406 ] example: - - - pre: Get the current measured filament width - code: - - M407 - - '> Filament dia (measured mm): 1.768' +- pre: Get the current measured filament width + code: + - M407 + - '> Filament dia (measured mm): 1.768' --- diff --git a/_gcode/M410.md b/_gcode/M410.md index 0adc19a6bc..62a5487031 100644 --- a/_gcode/M410.md +++ b/_gcode/M410.md @@ -9,16 +9,13 @@ group: motion codes: [ M410 ] notes: - - This command is intended only for emergency situations. - - If `EMERGENCY_PARSER` is not enabled, this will be delayed. - -parameters: +- This command is intended only for emergency situations. +- If `EMERGENCY_PARSER` is not enabled, this will be delayed. example: - - - pre: Stop all steppers now. - code: M410 +- pre: Stop all steppers now. + code: M410 --- -Stop all steppers instantly. Since there will be no deceleration, steppers are expected to be out of position after this command. +Stop all steppers instantly. Since there will be no deceleration, expect steppers to be out of position after this command. diff --git a/_gcode/M412.md b/_gcode/M412.md index f85d952538..e6a82a77cf 100644 --- a/_gcode/M412.md +++ b/_gcode/M412.md @@ -11,61 +11,56 @@ group: control codes: [ M412 ] notes: - - Requires `FILAMENT_RUNOUT_SENSOR`. - - Parameter `D` requires `FILAMENT_RUNOUT_DISTANCE_MM`. - - Parameter `H` requires `HOST_ACTION_COMMANDS`. +- Requires `FILAMENT_RUNOUT_SENSOR`. +- Parameter `D` requires `FILAMENT_RUNOUT_DISTANCE_MM`. +- Parameter `H` requires `HOST_ACTION_COMMANDS`. parameters: - - - tag: D - optional: true - description: Set the filament runout distance. - values: - - - type: float - tag: linear - - - tag: H - optional: true - description: Flag to enable or disable host handling of a filament runout. - values: - - - type: bool - - - tag: S - optional: true - description: Flag to enable or disable Filament Runout Detection. If omitted, the current enabled state will be reported. - values: - - - type: bool - - - tag: R - optional: true - description: Flag to reset the filament runout sensor. Not needed with `S`. - values: - - - type: bool +- tag: D + optional: true + description: Set the filament runout distance. + values: + - type: float + tag: linear + +- tag: H + optional: true + description: Flag to enable or disable host handling of a filament runout. + values: + - type: bool + +- tag: S + optional: true + description: Flag to enable or disable Filament Runout Detection. If omitted, the current enabled state will be reported. + values: + - type: bool + +- tag: R + optional: true + description: Flag to reset the filament runout sensor. Not needed with `S`. + values: + - type: bool examples: - - - pre: Enable (and reset) filament runout detection - code: M412 S1 - - - pre: Disable filament runout detection - code: M412 S0 - - - pre: Report filament runout state - code: | - M412 - Filament runout ON - - - pre: Set filament runout distance - code: | - M412 D35 ; requires FILAMENT_RUNOUT_DISTANCE_MM - M412 - Filament runout ON - Filament runout distance (mm): 35 + +- pre: Enable (and reset) filament runout detection + code: M412 S1 + +- pre: Disable filament runout detection + code: M412 S0 + +- pre: Report filament runout state + code: | + M412 + Filament runout ON + +- pre: Set filament runout distance + code: + - M412 D35 ; requires FILAMENT_RUNOUT_DISTANCE_MM + - M412 + - Filament runout ON + - "Filament runout distance (mm): 35" --- diff --git a/_gcode/M413.md b/_gcode/M413.md index 6a83c59a8d..60b7ef13e7 100644 --- a/_gcode/M413.md +++ b/_gcode/M413.md @@ -11,31 +11,26 @@ group: control codes: [ M413 ] notes: - - Requires `POWER_LOSS_RECOVERY` and an LCD controller. - - Requires printing from the SD Card or Flash Drive. - - A future implementation may use the EEPROM instead of the attached media. +- Requires `POWER_LOSS_RECOVERY` and an LCD controller. +- Requires printing from the SD Card or Flash Drive. +- A future implementation may use the EEPROM instead of the attached media. parameters: - - - tag: S - optional: true - description: Flag to enable or disable Power-loss Recovery. If omitted, the current enabled state will be reported. - values: - - - type: bool +- tag: S + optional: true + description: Flag to enable or disable Power-loss Recovery. If omitted, the current enabled state will be reported. + values: + - type: bool examples: - - - pre: Enable power-loss recovery - code: M413 S1 - - - pre: Disable power-loss recovery - code: M413 S0 - - - pre: Report power-loss recovery state - code: | - M413 - Power-loss recovery ON +- pre: Enable power-loss recovery + code: M413 S1 +- pre: Disable power-loss recovery + code: M413 S0 +- pre: Report power-loss recovery state + code: + - M413 + - Power-loss recovery ON --- diff --git a/_gcode/M420.md b/_gcode/M420.md index f72095c10d..b15d461fff 100644 --- a/_gcode/M420.md +++ b/_gcode/M420.md @@ -8,72 +8,61 @@ contrib: sustmi, shitcreek requires: AUTO_BED_LEVELING_(3POINT|LINEAR|BILINEAR|UBL)|MESH_BED_LEVELING group: motion -related: [ G29, M421 ] codes: [ M420 ] +related: [ G29, M421 ] notes: | - The "current position" may change in response to `M420 Sn`. - - | - By default `G28` disables bed leveling. Follow with `M420 S` to turn leveling on. + - By default `G28` disables bed leveling. Follow with `M420 S` to turn leveling on. - With `ENABLE_LEVELING_AFTER_G28` leveling will always be enabled after `G28`. - With `RESTORE_LEVELING_AFTER_G28` leveling is restored to whatever state it was in before `G28`. parameters: - - - tag: L - optional: true - description: Load mesh from EEPROM index (Requires `AUTO_BED_LEVELING_UBL` and `EEPROM_SETTINGS`) - values: - - - type: int - - - tag: S - optional: true - description: Set enabled or disabled. A valid mesh is required to enable bed leveling. If the mesh is invalid / incomplete leveling will not be enabled. - values: - - - type: bool - - - tag: V - optional: true - description: 'Verbose: Print the stored mesh / matrix data' - values: - - - type: bool - - - tag: T - optional: true - description: Format to print the mesh data - values: - - - tag: 0 - description: Human readable - - - tag: 1 - description: CSV - - - tag: 4 - description: Compact - - - tag: Z - optional: true - description: | - Set Z fade height (Requires `ENABLE_LEVELING_FADE_HEIGHT`) - - With Fade enabled, bed leveling correction is gradually reduced as the nozzle gets closer to the Fade height. Above the Fade height no bed leveling compensation is applied at all, so movement is machine true. - - Set to 0 to disable fade, and leveling compensation will be fully applied to all layers of the print. - values: - - - type: float - tag: linear - - - tag: C - optional: true - description: Center the mesh on the mean of the lowest and highest points - values: - - - type: bool -examples: +- tag: L + optional: true + description: Load mesh from EEPROM index (Requires `AUTO_BED_LEVELING_UBL` and `EEPROM_SETTINGS`) + values: + - type: int + +- tag: S + optional: true + description: Set enabled or disabled. A valid mesh is required to enable bed leveling. If the mesh is invalid / incomplete leveling will not be enabled. + values: + - type: bool + +- tag: V + optional: true + description: 'Verbose: Print the stored mesh / matrix data' + values: + - type: bool + +- tag: T + optional: true + description: Format to print the mesh data + values: + - tag: 0 + description: Human readable + - tag: 1 + description: CSV + - tag: 4 + description: Compact + +- tag: Z + optional: true + description: | + Set Z fade height (Requires `ENABLE_LEVELING_FADE_HEIGHT`) + - With Fade enabled, bed leveling correction is gradually reduced as the nozzle gets closer to the Fade height. Above the Fade height no bed leveling compensation is applied at all, so movement is machine true. + - Set to 0 to disable fade, and leveling compensation will be fully applied to all layers of the print. + values: + - type: float + tag: linear + +- tag: C + optional: true + description: Center the mesh on the mean of the lowest and highest points + values: + - type: bool --- diff --git a/_gcode/M421.md b/_gcode/M421.md index 609f3cbd1f..6853f60b55 100644 --- a/_gcode/M421.md +++ b/_gcode/M421.md @@ -7,83 +7,70 @@ author: thinkyhead requires: AUTO_BED_LEVELING_(BILINEAR|UBL)|MESH_BED_LEVELING group: motion -related: [ G29, M420 ] codes: [ M421 ] - -notes: +related: [ G29, M420 ] parameters: - - - tag: I - optional: true - description: X index into the mesh array - values: - - - type: int - - - tag: J - optional: true - description: Y index into the mesh array - values: - - - type: int - - - tag: X - optional: true - description: X position (which should be very close to a grid line) (`MESH_BED_LEVELING` only) - values: - - - tag: linear - type: float - - - tag: Y - optional: true - description: Y position (which should be very close to a grid line) (`MESH_BED_LEVELING` only) - values: - - - tag: linear - type: float - - - tag: Z - optional: true - description: The new Z value to set - values: - - - tag: linear - type: float - - - tag: Q - optional: true - description: A value to add to the existing Z value - values: - - - tag: linear - type: float - - - tag: C - optional: true - description: Set the mesh point closest to the current nozzle position (`AUTO_BED_LEVELING_UBL` only) - values: - - - type: bool - - - tag: N - optional: true - description: Set the mesh point to undefined (`AUTO_BED_LEVELING_UBL` only) - values: - - - type: bool + +- tag: I + optional: true + description: X index into the mesh array + values: + - type: int + +- tag: J + optional: true + description: Y index into the mesh array + values: + - type: int + +- tag: X + optional: true + description: X position (which should be very close to a grid line) (`MESH_BED_LEVELING` only) + values: + - tag: linear + type: float + +- tag: Y + optional: true + description: Y position (which should be very close to a grid line) (`MESH_BED_LEVELING` only) + values: + - tag: linear + type: float + +- tag: Z + optional: true + description: The new Z value to set + values: + - tag: linear + type: float + +- tag: Q + optional: true + description: A value to add to the existing Z value + values: + - tag: linear + type: float + +- tag: C + optional: true + description: Set the mesh point closest to the current nozzle position (`AUTO_BED_LEVELING_UBL` only) + values: + - type: bool + +- tag: N + optional: true + description: Set the mesh point to undefined (`AUTO_BED_LEVELING_UBL` only) + values: + - type: bool examples: - - - pre: Set the Z height in the middle of a 5x5 grid - code: M421 I2 J2 Z-0.05 - - - pre: Set the same Z height using XY - code: M421 X100 Y100 Z-0.05 - - - pre: Adjust the mesh point by -0.01 - code: M421 I2 J2 Q-0.01 +- pre: Set the Z height in the middle of a 5x5 grid + code: M421 I2 J2 Z-0.05 +- pre: Set the same Z height using XY + code: M421 X100 Y100 Z-0.05 +- pre: Adjust the mesh point by -0.01 + code: M421 I2 J2 Q-0.01 --- diff --git a/_gcode/M422.md b/_gcode/M422.md index b7325c6c4c..31b2582a26 100644 --- a/_gcode/M422.md +++ b/_gcode/M422.md @@ -14,64 +14,57 @@ codes: [ M422 ] related: [ G34 ] notes: - - See [`G34`](/docs/gcode/G034-zsaa.html) for further details about Z-Stepper automatic alignment. - - Requires `Z_STEPPER_AUTO_ALIGN`. - - '`M422 W` requires `Z_STEPPER_ALIGN_STEPPER_XY`.' +- See [`G34`](/docs/gcode/G034-zsaa.html) for further details about Z-Stepper automatic alignment. +- Requires `Z_STEPPER_AUTO_ALIGN`. +- '`M422 W` requires `Z_STEPPER_ALIGN_STEPPER_XY`.' parameters: - - - tag: R - optional: true - description: Reset alignment and known points to the defaults. This will also be done by [`M502`](/docs/gcode/M502.html). - values: - - - type: flag - - - tag: S - optional: true - description: One-based index of a Z-Stepper whose probing-point will be set. - values: - - - tag: index - type: int - - - tag: W - optional: true - requires: Z_STEPPER_ALIGN_STEPPER_XY - description: One-based index of a Z-Stepper whose known position will be set. - values: - - - tag: index - type: int - - - tag: X - optional: true - description: X position - values: - - - tag: linear - type: float - - - tag: Y - optional: true - description: Y position - values: - - - tag: linear - type: float + +- tag: R + optional: true + description: Reset alignment and known points to the defaults. This will also be done by [`M502`](/docs/gcode/M502.html). + values: + - type: flag + +- tag: S + optional: true + description: One-based index of a Z-Stepper whose probing-point will be set. + values: + - tag: index + type: int + +- tag: W + optional: true + requires: Z_STEPPER_ALIGN_STEPPER_XY + description: One-based index of a Z-Stepper whose known position will be set. + values: + - tag: index + type: int + +- tag: X + optional: true + description: X position + values: + - tag: linear + type: float + +- tag: Y + optional: true + description: Y position + values: + - tag: linear + type: float videos: - - 6UgT9YqY3UA +- 6UgT9YqY3UA examples: - - - pre: Set a probe position for aligning the first Z stepper - code: - - M422 S1 X10 Y10 - - - pre: Set a known position for the second Z stepper - code: - - M422 W2 X10 Y10 +- pre: Set a probe position for aligning the first Z stepper + code: M422 S1 X10 Y10 + +- pre: Set a known position for the second Z stepper + code: M422 W2 X10 Y10 + --- Set an XY probe or known position for a given Z Stepper. Either the `S` or `W` parameter must be given, along with `X` and `Y` positions. The `W` parameter exists only when `Z_STEPPER_ALIGN_STEPPER_XY` is defined, providing known stepper positions. diff --git a/_gcode/M423.md b/_gcode/M423.md index 66062054c7..8d158e1b44 100644 --- a/_gcode/M423.md +++ b/_gcode/M423.md @@ -11,66 +11,51 @@ group: calibration codes: [ M423 ] related: [ G29 ] -notes: - parameters: - - - tag: R - optional: true - description: Reset the Twist Compensation array to the configured default values. - values: - - - type: flag - - - tag: A - optional: true - description: Set the X-Axis Twist Compensation starting X position. - values: - - - tag: linear - type: float - - - tag: I - optional: true - description: Set the X-Axis Twist Compensation X-spacing. - values: - - - tag: linear - type: float - - - tag: X - optional: true - description: Zero-based index into the Twist Compensation array. Requires a `Z` value. - values: - - - tag: index - type: int - - - tag: Z - optional: true - description: A Z-offset value to set in the Twist Compensation array. Requires an `X` index. - values: - - - tag: index - type: int + +- tag: R + optional: true + description: Reset the Twist Compensation array to the configured default values. + values: + - type: flag + +- tag: A + optional: true + description: Set the X-Axis Twist Compensation starting X position. + values: + - tag: linear + type: float + +- tag: I + optional: true + description: Set the X-Axis Twist Compensation X-spacing. + values: + - tag: linear + type: float + +- tag: X + optional: true + description: Zero-based index into the Twist Compensation array. Requires a `Z` value. + values: + - tag: index + type: int + +- tag: Z + optional: true + description: A Z-offset value to set in the Twist Compensation array. Requires an `X` index. + values: + - tag: index + type: int examples: - - - pre: Report the current X-twist data to the host console. - code: - - M423 - - - pre: Reset X-twist data to the configured defaults. - code: - - M423 R - - - pre: Set the 5th value in the Twist Compensation array to -0.03. - code: - - M423 X4 Z-0.03 - - - pre: Set the X-start position to 0 and the X-spacing distance to 50. - code: - - M423 M423 X0 I50 +- pre: Report the current X-twist data to the host console. + code: M423 +- pre: Reset X-twist data to the configured defaults. + code: M423 R +- pre: Set the 5th value in the Twist Compensation array to -0.03. + code: M423 X4 Z-0.03 +- pre: Set the X-start position to 0 and the X-spacing distance to 50. + code: M423 M423 X0 I50 --- diff --git a/_gcode/M425.md b/_gcode/M425.md index 44c4ccc5a1..68f600d14c 100644 --- a/_gcode/M425.md +++ b/_gcode/M425.md @@ -9,98 +9,92 @@ requires: BACKLASH_COMPENSATION,BACKLASH_GCODE group: calibration codes: [ M425 ] +related: [ G425 ] notes: | Requires `BACKLASH_COMPENSATION`, `BACKLASH_GCODE` and the following parameters: - - `BACKLASH_DISTANCE_MM` specifies the default backlash on the X, Y and Z axis. - - `BACKLASH_CORRECTION` specifies the default backlash correction (0.0 = none; 1.0 = 100%). - - `BACKLASH_SMOOTHING_MM` enables backlash smoothing over a specified distance. - - `BACKLASH_GCODE` enables [`M425`](/docs/gcode/M425.html) for run-time tuning of backlash. - - `MEASURE_BACKLASH_WHEN_PROBING` turns on Z backlash measurement when probing with [`G29`](/docs/gcode/G029.html). - - Use `BACKLASH_MEASUREMENT_LIMIT`, `BACKLASH_MEASUREMENT_RESOLUTION` and `BACKLASH_MEASUREMENT_FEEDRATE` to configure [`G29`](/docs/gcode/G029.html) backlash measurement. + - `BACKLASH_DISTANCE_MM` specifies the default backlash on the X, Y and Z axis. + - `BACKLASH_CORRECTION` specifies the default backlash correction (0.0 = none; 1.0 = 100%). + - `BACKLASH_SMOOTHING_MM` enables backlash smoothing over a specified distance. + - `BACKLASH_GCODE` enables `M425` for run-time tuning of backlash. + - `MEASURE_BACKLASH_WHEN_PROBING` turns on Z backlash measurement when probing with [`G29`](/docs/gcode/G029.html). + - Use `BACKLASH_MEASUREMENT_LIMIT`, `BACKLASH_MEASUREMENT_RESOLUTION` and `BACKLASH_MEASUREMENT_FEEDRATE` to configure [`G29`](/docs/gcode/G029.html) backlash measurement. parameters: - - - tag: F - optional: true - description: Enable or disables backlash correction, or sets an intermediate fade-out (0.0 = none; 1.0 = 100%) - values: - - - tag: value - type: float - - - tag: S - optional: true - description: Distance over which backlash correction is spread - values: - - - tag: linear - type: float - - - tag: X - optional: true - description: Set the backlash distance on X (mm; 0 to disable) - values: - - - tag: linear - type: float - - - tag: Y - optional: true - description: Set the backlash distance on Y (mm; 0 to disable) - values: - - - tag: linear - type: float - - - tag: Z - optional: true - description: Set the backlash distance on Z (mm; 0 to disable) - values: - - - tag: linear - type: float - - - tag: Z - optional: true - description: When `MEASURE_BACKLASH_WHEN_PROBING` is enabled, loads the measured backlash into the backlash distance parameter + +- tag: F + optional: true + description: Enable or disables backlash correction, or sets an intermediate fade-out (0.0 = none; 1.0 = 100%) + values: + - tag: value + type: float + +- tag: S + optional: true + description: Distance over which backlash correction is spread + values: + - tag: linear + type: float + +- tag: X + optional: true + description: Set the backlash distance on X (mm; 0 to disable) + values: + - tag: linear + type: float + +- tag: Y + optional: true + description: Set the backlash distance on Y (mm; 0 to disable) + values: + - tag: linear + type: float + +- tag: Z + optional: true + description: Set the backlash distance on Z (mm; 0 to disable) + values: + - tag: linear + type: float + +- tag: Z + optional: true + description: When `MEASURE_BACKLASH_WHEN_PROBING` is enabled, loads the measured backlash into the backlash distance parameter examples: - - - pre: 'Manually configure backlash compensation:' - code: - - M425 X0.1 Y0.2 Z0.3 ; Set backlash to specific values for all axis - - M425 F1 ; Enable backlash compensation at 100% - - - pre: 'Use smoothing for best print surface quality:' - code: - - M425 F1 S3 - - - pre: 'Use no smoothing for best dimensional accuracy:' - code: - - M425 F1 S0 - - - pre: 'Automatically measure X, Y, and Z backlash using [`G425`](/docs/gcode/G425.html):' - code: - - G425 ; Perform a full calibration - - M425 F1 ; Use full measured value of backlash on X, Y and Z - post: G425 automatically loads the measured backlash into the backlash distance, but will not enable backlash compensation. - - - pre: 'To automatically measure Z backlash when probing with `MEASURE_BACKLASH_WHEN_PROBING`:' - code: - - G29 ; Perform probe and measure backlash on Z - - M425 F1 Z ; Use full measured value of backlash on Z - post: '`MEASURE_BACKLASH_WHEN_PROBING` measures backlash, but does not update the configured backlash distance. The measured value should be activated by using the `Z` argument without a value. This differs from the behavior of [`G425`](/docs/gcode/G425.html).' - - - pre: 'Report the current backlash configuration:' - code: - - M425 + +- pre: 'Manually configure backlash compensation:' + code: + - M425 X0.1 Y0.2 Z0.3 ; Set backlash to specific values for all axis + - M425 F1 ; Enable backlash compensation at 100% + +- pre: 'Use smoothing for best print surface quality:' + code: M425 F1 S3 + +- pre: 'Use no smoothing for best dimensional accuracy:' + code: M425 F1 S0 + +- pre: 'Automatically measure X, Y, and Z backlash using [`G425`](/docs/gcode/G425.html):' + code: + - G425 ; Perform a full calibration + - M425 F1 ; Use full measured value of backlash on X, Y and Z + post: "`G425` automatically loads the measured backlash into the backlash distance, but will not enable backlash compensation." + +- pre: 'To automatically measure Z backlash when probing with `MEASURE_BACKLASH_WHEN_PROBING`:' + code: + - G29 ; Perform probe and measure backlash on Z + - M425 F1 Z ; Use full measured value of backlash on Z + post: '`MEASURE_BACKLASH_WHEN_PROBING` measures backlash, but does not update the configured backlash distance. The measured value should be activated by using the `Z` argument without a value. This differs from the behavior of [`G425`](/docs/gcode/G425.html).' + +- pre: 'Report the current backlash configuration:' + code: M425 + --- Backlash compensation will add extra steps to one or more segments whenever a motor reverses direction. By default, steps are added to the first segment after a direction change. This gives the best dimensional accuracy but may cause marks to appear in the print. Smoothing spreads the added steps over multiple consecutive segments to prevent blemishes in the print, at the expense of dimensional accuracy. -Backlash compensation can be configured at either compile-time or run-time. Enable `BACKLASH_GCODE` to turn on [`M425`](/docs/gcode/M425.html) and a "Backlash" menu item. +Backlash compensation can be configured at either compile-time or run-time. Enable `BACKLASH_GCODE` to turn on `M425` and a "Backlash" menu item. Backlash can be measured automatically on all axes with [`G425`](/docs/gcode/G425.html) or on Z only with [`G29`](/docs/gcode/G029.html) when `MEASURE_BACKLASH_WHEN_PROBING` is enabled. diff --git a/_gcode/M428.md b/_gcode/M428.md index 9d000b09d2..22043db8f2 100644 --- a/_gcode/M428.md +++ b/_gcode/M428.md @@ -8,26 +8,25 @@ requires: HAS_HOME_OFFSET group: motion codes: [ M428 ] +related: [ M92, M206 ] -notes: | - - Only the Z offset can be altered on `DELTA`. - - This G-code can be disabled with `NO_WORKSPACE_OFFSETS` to optimize movement. - - Changing the home offsets will not invalidate bed leveling or other saved data. - - If `EEPROM_SETTINGS` is enabled, the home offsets are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). - - Use [`M206`](/docs/gcode/M206.html) to set the home offsets directly. - -parameters: +notes: +- Only the Z offset can be altered on `DELTA`. +- This G-code can be disabled with `NO_WORKSPACE_OFFSETS` to optimize movement. +- Changing the home offsets will not invalidate bed leveling or other saved data. +- If `EEPROM_SETTINGS` is enabled, the home offsets are saved with [`M500`](/docs/gcode/M500.html), loaded with [`M501`](/docs/gcode/M501.html), and reset with [`M502`](/docs/gcode/M502.html). +- Use [`M206`](/docs/gcode/M206.html) to set the home offsets directly. examples: - - - pre: What was X=10 becomes X=0. So the X home offset becomes -10. - code: - - G1 X10 - - M428 + +- pre: What was X=10 becomes X=0. So the X home offset becomes -10. + code: + - G1 X10 + - M428 --- -Use [`M428`](/docs/gcode/M428.html) to set a persistent offset to the native home position and coordinate space by assigning the current position as the native home position. See the example below. +Use `M428` to set a persistent offset to the native home position and coordinate space by assigning the current position as the native home position. See the example below. - The current position must be within 2cm from 0 or an endstop. - The current position is set to the native home position. diff --git a/_gcode/M430.md b/_gcode/M430.md index 32cf3de08e..eb4e2396c9 100644 --- a/_gcode/M430.md +++ b/_gcode/M430.md @@ -4,46 +4,40 @@ title: Power Monitor brief: Read and display current (A), voltage (V), and power (W) author: shitcreek -requires: either POWER_MONITOR_CURRENT or POWER_MONITOR_VOLTAGE +requires: POWER_MONITOR_CURRENT | POWER_MONITOR_VOLTAGE group: thermal codes: [ M430 ] notes: - - Requires either `POWER_MONITOR_CURRENT` or `POWER_MONITOR_VOLTAGE` +- Requires either `POWER_MONITOR_CURRENT` or `POWER_MONITOR_VOLTAGE` parameters: - - - tag: I - optional: true - description: display current (A) on LCD - values: - - - type: bool - - - tag: V - optional: true - description: toggle display voltage (V) on LCD - values: - - - type: bool - - - tag: W - optional: true - description: display power/watts (W) on LCD - values: - - - type: bool +- tag: I + optional: true + description: display current (A) on LCD + values: + - type: bool -examples: - - - pre: report current LCD display power draw - code: M430 +- tag: V + optional: true + description: toggle display voltage (V) on LCD + values: + - type: bool + +- tag: W + optional: true + description: display power/watts (W) on LCD + values: + - type: bool - - - pre: Display all power monitor on LCD - code: M430 I1 V1 W1 + +examples: +- pre: report current LCD display power draw + code: M430 +- pre: Display all power monitor on LCD + code: M430 I1 V1 W1 --- Enable/disable power monitor on LCD display. Report current/amps (A), voltage (V) and watts (W) if no parameters. diff --git a/_gcode/M486.md b/_gcode/M486.md index 1eb8f1d634..72d4ed9a51 100644 --- a/_gcode/M486.md +++ b/_gcode/M486.md @@ -10,66 +10,60 @@ group: sdcard codes: [ M486 ] notes: | - This G-code may not be widely supported by slicers for a while, but they do include helpful comments in the G-code output that includes the current object. So for now you can use a post-processing script to convert these comments into [`M486`](/docs/gcode/M486.html) commands. + This G-code may not be widely supported by slicers for a while, but they do include helpful comments in the G-code output that includes the current object. So for now you can use a post-processing script to convert these comments into `M486` commands. #### Slicer post-processing scripts: - - [M486 for Průša Slicer](//github.com/paukstelis/PrusaSlicer-M486) by [Paul Paukstelis](//github.com/paukstelis). - - [M486 for Cura](//github.com/shinmai/cura-M486) by [Aapo Saaristo](//twitter.com/shinmai). + - [`M486` for Průša Slicer](//github.com/paukstelis/PrusaSlicer-M486) by [Paul Paukstelis](//github.com/paukstelis). + - [`M486` for Cura](//github.com/shinmai/cura-M486) by [Aapo Saaristo](//twitter.com/shinmai). parameters: - - - tag: C - optional: true - description: Cancel the current object. - values: - - - tag: flag - type: bool - - - tag: P - optional: true - description: Cancel the object with the given index. - values: - - - tag: index - type: int - - - tag: S - optional: true - description: Set the index of the current object. If the object with the given index has been canceled, this will cause the firmware to skip to the next object. The value -1 is used to indicate something that isn't an object and shouldn't be skipped. - values: - - - tag: index - type: int - - - tag: T - optional: true - description: Reset the state and set the number of objects. - values: - - - tag: count - type: int - - - tag: U - optional: true - description: Un-cancel the object with the given index. This command will be ignored if the object has already been skipped. - values: - - - tag: index - type: int + +- tag: C + optional: true + description: Cancel the current object. + values: + - tag: flag + type: bool + +- tag: P + optional: true + description: Cancel the object with the given index. + values: + - tag: index + type: int + +- tag: S + optional: true + description: Set the index of the current object. If the object with the given index has been canceled, this will cause the firmware to skip to the next object. The value -1 is used to indicate something that isn't an object and shouldn't be skipped. + values: + - tag: index + type: int + +- tag: T + optional: true + description: Reset the state and set the number of objects. + values: + - tag: count + type: int + +- tag: U + optional: true + description: Un-cancel the object with the given index. This command will be ignored if the object has already been skipped. + values: + - tag: index + type: int examples: - - - pre: Typical usage in a G-code file - code: - - M486 T12 ; Total of 12 objects (otherwise the firmware must count) - - M486 S3 ; Indicate that the 4th object is starting now - - M486 S-1 ; Indicate a non-object, purge tower, or other global feature - - M486 P10 ; Cancel object with index 10 (the 11th object) - - M486 U2 ; Un-cancel object with index 2 (the 3rd object) - - M486 C ; Cancel the current object (use with care!) +- pre: Typical usage in a G-code file + code: + - M486 T12 ; Total of 12 objects (otherwise the firmware must count) + - M486 S3 ; Indicate that the 4th object is starting now + - M486 S-1 ; Indicate a non-object, purge tower, or other global feature + - M486 P10 ; Cancel object with index 10 (the 11th object) + - M486 U2 ; Un-cancel object with index 2 (the 3rd object) + - M486 C ; Cancel the current object (use with care!) --- -Use [`M486`](/docs/gcode/M486.html) to identify and cancel objects during a multi-object print job. +Use `M486` to identify and cancel objects during a multi-object print job. This command was originally developed for SD card printing but it works fine when host printing too. Of course, since hosts can skip objects more efficiently, host plugins are the better choice in that scenario. diff --git a/_gcode/M493.md b/_gcode/M493.md index a0da446016..915782dbbb 100644 --- a/_gcode/M493.md +++ b/_gcode/M493.md @@ -10,113 +10,94 @@ group: motion experimental: true codes: [ M493 ] -related: [ M593, M900 ] +related: [ M593 ] parameters: -- - tag: S + +- tag: S optional: true description: Set the current motion mode and/or Input Shaper. values: - - - tag: 0 + - tag: 0 description: Standard Motion - - - tag: 1 + - tag: 1 description: Fixed-Time Motion - - - tag: 10 + - tag: 10 description: ZV Input Shaping - - - tag: 11 + - tag: 11 description: ZVD Input Shaping - - - tag: 12 + - tag: 12 description: ZVDD Input Shaping - - - tag: 13 + - tag: 13 description: ZVDDD Input Shaping - - - tag: 14 + - tag: 14 description: EI Input Shaping - - - tag: 15 + - tag: 15 description: 2HEI Input Shaping - - - tag: 16 + - tag: 16 description: 3HEI Input Shaping - - - tag: 17 + - tag: 17 description: MZV Input Shaping -- - tag: P + +- tag: P optional: true description: Enable / disable Linear Advance. values: - - - type: bool + - type: bool tag: state -- - tag: K + +- tag: K optional: true description: Set the gain for Linear Advance. values: - - - type: float + - type: float tag: gain -- - tag: D + +- tag: D optional: true description: Set the Dynamic Frequency mode. values: - - - tag: 0 + - tag: 0 description: Disabled - - - tag: 1 + - tag: 1 description: Z-based - - - tag: 2 + - tag: 2 description: Mass-based -- - tag: A + +- tag: A optional: true description: Set the Base Frequency for Input Shaping on the X axis. values: - - - type: float + - type: float tag: Hz -- - tag: B + +- tag: B optional: true description: Set the Base Frequency for Input Shaping on the Y axis. values: - - - type: float + - type: float tag: Hz -- - tag: F + +- tag: F optional: true description: Set the Frequency Scaling factor for Input Shaping on the X axis. values: - - - type: float + - type: float tag: scale -- - tag: H + +- tag: H optional: true description: Set the Frequency Scaling factor for Input Shaping on the Y axis. values: - - - type: float + - type: float tag: scale example: -- - pre: Enable Fixed-Time motion with Linear Advance gain 0.22 + +- pre: Enable Fixed-Time motion with Linear Advance gain 0.22 code: M493 S1 P1 K0.22 -- - pre: Enable Fixed-Time motion with ZVD Input Shaping + +- pre: Enable Fixed-Time motion with ZVD Input Shaping code: M493 S11 A37 B37 D0 P1 K0.18 post: This also sets the IS Frequency to 37Hz for X and Y, disables Dynamic Frequency mode, and enables Linear Advance with a gain of 0.18. diff --git a/_gcode/M500.md b/_gcode/M500.md index f5f372fbbc..e7ec805058 100644 --- a/_gcode/M500.md +++ b/_gcode/M500.md @@ -8,17 +8,13 @@ requires: EEPROM_SETTINGS group: eeprom codes: [ M500 ] +related: [ M501, M502, M503, M504 ] -notes: - - Requires `EEPROM_SETTINGS`. - - Since Marlin 1.1.0 only changed bytes are written to prolong EEPROM life. - -parameters: +notes: Since Marlin 1.1.0 only changed bytes are written to prolong EEPROM life. examples: - - - pre: Save settings - code: M500 +- pre: Save settings + code: M500 --- diff --git a/_gcode/M501.md b/_gcode/M501.md index ac6fad3cad..9182a8044c 100644 --- a/_gcode/M501.md +++ b/_gcode/M501.md @@ -8,15 +8,13 @@ requires: EEPROM_SETTINGS group: eeprom codes: [ M501 ] +related: [ M500, M502, M503, M504 ] notes: Requires `EEPROM_SETTINGS`. -parameters: - -examples: - - - pre: Restore all settings. - code: M501 +example: +- pre: Restore all settings. + code: M501 --- diff --git a/_gcode/M502.md b/_gcode/M502.md index 3eb138910c..5f27d59fcd 100644 --- a/_gcode/M502.md +++ b/_gcode/M502.md @@ -7,21 +7,18 @@ author: thinkyhead group: eeprom codes: [ M502 ] +related: [ M500, M501, M503, M504 ] -notes: - - This command can be used even if `EEPROM_SETTINGS` is disabled. - -parameters: +notes: This command can be used even if `EEPROM_SETTINGS` is disabled. examples: - - - pre: Reset settings and save them to EEPROM - code: - - M502 ; reset - - M500 ; saved +- pre: Reset settings and save them to EEPROM + code: + - M502 ; reset + - M500 ; saved --- -Reset all configurable settings to their factory defaults. +Reset all configurable settings to their factory defaults. This only changes the settings in memory, not on EEPROM. To also reset settings in EEPROM, follow with [`M500`](/docs/gcode/M500.html). diff --git a/_gcode/M503.md b/_gcode/M503.md index 4355e288d9..04bf35beee 100644 --- a/_gcode/M503.md +++ b/_gcode/M503.md @@ -7,28 +7,25 @@ author: thinkyhead group: eeprom codes: [ M503 ] +related: [ M500, M501, M502, M504 ] -notes: Does not require `EEPROM_SETTINGS`. +notes: Enable `DISABLE_M503` to turn off this command. This command should be enabled, if possible. parameters: - - - tag: S - optional: true - description: Detailed output flag. (`true` if omitted.) - values: - - - type: flag - - - tag: C - optional: true - since: 2.0.9.3 - requires: CONFIGURATION_EMBEDDING - description: Save the embedded configuration ZIP file to the SD Card or Flash Drive. - values: - - - type: flag - -examples: + +- tag: S + optional: true + description: Detailed output flag. (`true` if omitted.) + values: + - type: flag + +- tag: C + optional: true + since: 2.0.9.3 + requires: CONFIGURATION_EMBEDDING + description: Save the embedded configuration ZIP file to the SD Card or Flash Drive. + values: + - type: flag --- diff --git a/_gcode/M504.md b/_gcode/M504.md index 4d6dec9e56..5666d22516 100644 --- a/_gcode/M504.md +++ b/_gcode/M504.md @@ -8,15 +8,11 @@ requires: EEPROM_SETTINGS group: eeprom codes: [ M504 ] +related: [ M500, M501, M502, M503 ] -notes: Requires `EEPROM_SETTINGS`. - -parameters: - -examples: - - - pre: Validate EEPROM contents. - code: M504 +example: +- pre: Validate EEPROM contents. + code: M504 --- diff --git a/_gcode/M510.md b/_gcode/M510.md index ba8c152bb3..b3babd308d 100644 --- a/_gcode/M510.md +++ b/_gcode/M510.md @@ -12,11 +12,11 @@ codes: [ M510 ] related: [ M511, M512 ] notes: - - Requires `PASSWORD_FEATURE`. example: - - - pre: Lock the machine now - code: M510 +- pre: Lock the machine now + code: M510 + --- -Lock the machine. When the machine is locked a passcode is required to unlock it. Use `M511 P` with your passcode to unlock the machine.option. + +Lock the machine. When the machine is locked a passcode is required to unlock it. Use `M511 P` with your passcode to unlock the machine. diff --git a/_gcode/M511.md b/_gcode/M511.md index ac5a8ae4ee..6f9e650de6 100644 --- a/_gcode/M511.md +++ b/_gcode/M511.md @@ -11,22 +11,19 @@ group: security codes: [ M511 ] related: [ M510, M512 ] -notes: - - Requires `PASSWORD_FEATURE`. - parameters: - - - tag: P - optional: false - description: The passcode to try. - values: - - - tag: passcode - type: int + +- tag: P + optional: false + description: The passcode to try. + values: + - tag: passcode + type: int example: - - - pre: Unlock a machine with passcode '12345' - code: M511 P12345 +- pre: Unlock a machine with passcode '12345' + code: M511 P12345 + --- + Check the given passcode and unlock the machine if it is correct. Otherwise, delay for a period of time before allowing another attempt. diff --git a/_gcode/M512.md b/_gcode/M512.md index 2c1d5cfb83..3433a6f555 100644 --- a/_gcode/M512.md +++ b/_gcode/M512.md @@ -12,29 +12,28 @@ codes: [ M512 ] related: [ M510, M511 ] notes: - - Requires `PASSWORD_FEATURE`. - - Use `PASSWORD_LENGTH` to configure the length, up to 9 digits. +- Requires `PASSWORD_FEATURE`. +- Use `PASSWORD_LENGTH` to configure the length, up to 9 digits. parameters: - - - tag: P - description: Current passcode. This must be correct to clear or change the passcode. - values: - - - tag: password - type: int - - - tag: S - optional: true - description: If `S` is included the new passcode will be set to this value. - values: - - - tag: password - type: int + +- tag: P + description: Current passcode. This must be correct to clear or change the passcode. + values: + - tag: password + type: int + +- tag: S + optional: true + description: If `S` is included the new passcode will be set to this value. + values: + - tag: password + type: int example: - - - pre: Change passcode from '1234' to '9090' - code: M512 P1234 S9090 +- pre: Change passcode from '1234' to '9090' + code: M512 P1234 S9090 + --- + Check the passcode given with `P` and if it is correct clear the passcode. If a new passcode is given with `S` then set a new passcode. diff --git a/_gcode/M524.md b/_gcode/M524.md index ee2c737fd5..4ba2d0ea56 100644 --- a/_gcode/M524.md +++ b/_gcode/M524.md @@ -11,12 +11,11 @@ group: sdcard codes: [ M524 ] notes: - - Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) +- Requires [`SDSUPPORT`](/docs/configuration/configuration.html#sd-card) -examples: - - - pre: Abort an SD print - code: M524 +example: +- pre: Abort an SD print + code: M524 --- diff --git a/_gcode/M540.md b/_gcode/M540.md index fca764d7e1..5296fb067b 100644 --- a/_gcode/M540.md +++ b/_gcode/M540.md @@ -4,26 +4,22 @@ title: Endstops Abort SD brief: Abort SD printing when an endstop is triggered. author: thinkyhead -requires: SDSUPPORT,SD_ABORT_ON_ENDSTOP_HIT +requires: SDSUPPORT, SD_ABORT_ON_ENDSTOP_HIT group: sdcard codes: [ M540 ] notes: - - Requires `SDSUPPORT` and `SD_ABORT_ON_ENDSTOP_HIT`. - - Use `ENDSTOPS_ALWAYS_ON_DEFAULT` or [`M120`](/docs/gcode/M120.html) to ensure that endstops are enabled. +- Use `ENDSTOPS_ALWAYS_ON_DEFAULT` or [`M120`](/docs/gcode/M120.html) to ensure that endstops are enabled. parameters: - - - tag: S - optional: false - description: Whether (1) or not (0) to abort SD printing on endstop hit. - values: - - - tag: flag - type: bool -examples: +- tag: S + optional: false + description: Whether (1) or not (0) to abort SD printing on endstop hit. + values: + - tag: flag + type: bool --- diff --git a/_gcode/M569.md b/_gcode/M569.md index 598ee23bed..55c6572128 100644 --- a/_gcode/M569.md +++ b/_gcode/M569.md @@ -11,55 +11,52 @@ group: trinamic codes: [ M569 ] notes: - - Requires at least one stealthChop capable TMC driver, such as TMC2130, TMC2208, or TMC2209. +- Requires at least one stealthChop capable TMC driver, such as TMC2130, TMC2208, or TMC2209. parameters: - - - tag: X - optional: true - description: Stepping mode for the X stepper - - - tag: Y - optional: true - description: Stepping mode for the Y stepper - - - tag: Z - optional: true - description: Stepping mode for the Z stepper - - - tag: E - optional: true - description: Stepping mode for the E0 stepper - - - tag: I - optional: true - description: Index for multiple steppers. Use `I1` for X2, Y2, and/or Z2, and `I2` for Z3. - values: - - - unit: index - type: int - - - tag: T - optional: true - description: Index (tool) number for the E axis. If not specified, the E0 extruder. - values: - - - unit: index - type: int + +- tag: X + optional: true + description: Stepping mode for the X stepper + +- tag: Y + optional: true + description: Stepping mode for the Y stepper + +- tag: Z + optional: true + description: Stepping mode for the Z stepper + +- tag: E + optional: true + description: Stepping mode for the E0 stepper + +- tag: I + optional: true + description: Index for multiple steppers. Use `I1` for X2, Y2, and/or Z2, and `I2` for Z3. + values: + - unit: index + type: int + +- tag: T + optional: true + description: Index (tool) number for the E axis. If not specified, the E0 extruder. + values: + - unit: index + type: int examples: - - - pre: Enable stealthChop on Z and E - code: M569 S1 Z E - - - pre: Disable stealthChop (use spreadCycle) on X and Y - code: M569 S0 X Y - - - pre: Enable stealthChop on X2 and E1 - code: M569 S1 I1 X T1 E - - - pre: Report driver modes - code: M569 +- pre: Enable stealthChop on Z and E + code: M569 S1 Z E + +- pre: Disable stealthChop (use spreadCycle) on X and Y + code: M569 S0 X Y + +- pre: Enable stealthChop on X2 and E1 + code: M569 S1 I1 X T1 E + +- pre: Report driver modes + code: M569 --- diff --git a/_gcode/M575.md b/_gcode/M575.md index bbc2dae395..6e4b122778 100644 --- a/_gcode/M575.md +++ b/_gcode/M575.md @@ -11,16 +11,16 @@ group: hosts codes: [ M575 ] notes: - - Only specified baud rates are allowed. - - Shorthand baud rates (shown below in parentheses) were added in 2.0.6.1. +- Only specified baud rates are allowed. +- Shorthand baud rates (shown below in parentheses) were added in 2.0.6.1. parameters: -- - tag: P + +- tag: P optional: true description: Serial Port index. Omit for all serial ports. -- - tag: B + +- tag: B optional: false description: | The baud rate to set. Permitted values are: @@ -34,16 +34,15 @@ parameters: - 500000 (500) - 1000000 values: - - - tag: baud + - tag: baud examples: - - - pre: Set the baud rate for port 0 to 115.2K - code: M575 P0 B115200 - - - pre: Set the baud rate of all ports to 250K - code: M575 B250000 + +- pre: Set the baud rate for port 0 to 115.2K + code: M575 P0 B115200 + +- pre: Set the baud rate of all ports to 250K + code: M575 B250000 --- diff --git a/_gcode/M592.md b/_gcode/M592.md index c960304416..ab02775842 100644 --- a/_gcode/M592.md +++ b/_gcode/M592.md @@ -11,34 +11,30 @@ group: motion codes: [ M592 ] parameters: -- - tag: A + +- tag: A optional: true description: Set the Linear coefficient (Default 0.0) values: - - - type: float + - type: float tag: coeff -- - tag: B + +- tag: B optional: true description: Set the Quadratic coefficient (Default 0.0) values: - - - type: float + - type: float tag: coeff -- - tag: C + +- tag: C optional: true description: Set the Constant coefficient (Default 1.0) values: - - - type: float + - type: float tag: coeff -examples: -- - pre: Set Linear, Quadratic coefficients to 0.2, 0.3 +example: +- pre: Set Linear, Quadratic coefficients to 0.2, 0.3 code: M592 A0.2 B0.3 --- diff --git a/_gcode/M593.md b/_gcode/M593.md index 3029446bce..b19ec60b95 100644 --- a/_gcode/M593.md +++ b/_gcode/M593.md @@ -12,36 +12,32 @@ codes: [ M593 ] related: [ M493 ] parameters: -- - tag: D + +- tag: D optional: true description: Set the zeta/damping factor for the specified axes. If `X` and `Y` are omitted, both will be set. values: - - - type: float + - type: float tag: zeta -- - tag: F + +- tag: F optional: true description: Set the damping frequency for the specified axes. If `X` and `Y` are omitted, both will be set. values: - - - type: float + - type: float tag: hertz -- - tag: X + +- tag: X optional: true description: Flag to set the X axis value. If `X` and `Y` are omitted, both will be set. values: - - - type: flag -- - tag: Y + - type: flag + +- tag: Y optional: true description: Flag to set the Y axis value. If `X` and `Y` are omitted, both will be set. values: - - - type: flag + - type: flag videos: - 7VLuz3hReYw @@ -49,14 +45,13 @@ videos: - 2A27N8qfgZU examples: -- - pre: Set the frequency for X to 18.4Hz +- pre: Set the frequency for X to 18.4Hz code: M593 X F18.4 -- - pre: Set the frequency for X and Y to 36.2Hz + +- pre: Set the frequency for X and Y to 36.2Hz code: M593 F36.2 -- - pre: Disable Input Shaping + +- pre: Disable Input Shaping code: M593 F0 --- diff --git a/_gcode/M600.md b/_gcode/M600.md index be63ce36c5..6f05c4078b 100644 --- a/_gcode/M600.md +++ b/_gcode/M600.md @@ -10,60 +10,70 @@ requires: ADVANCED_PAUSE_FEATURE group: filament codes: [ M600 ] +related: [ M701, M702 ] notes: -- Configuration settings for `M600` are in `Configuration_adv.h`. -- This command requires an LCD controller or host action commands. +- Requires `ADVANCED_PAUSE_FEATURE`. +- The settings for this command can be found in `Configuration_adv.h`. At this time [`M600`](/docs/gcode/M600.html) requires an LCD controller. parameters: + - tag: T optional: true description: Target extruder values: - tag: index type: int + - tag: E optional: true description: Retract before moving to change position (negative, default `PAUSE_PARK_RETRACT_LENGTH`) values: - tag: pos type: float + - tag: U optional: true description: Amount of retraction for unload (negative) values: - tag: pos type: float + - tag: L optional: true description: Load length, longer for bowden (negative) values: - tag: pos type: float + - tag: X optional: true description: X position for filament change values: - tag: pos type: float + - tag: Y optional: true description: Y position for filament change values: - tag: pos type: float + - tag: Z optional: true description: Z relative lift for filament change position values: - tag: pos type: float + - tag: B optional: true description: Number of beeps to alert user of filament change (default `FILAMENT_CHANGE_ALERT_BEEPS`) values: - tag: beeps type: int + - tag: R optional: true description: "Resume temperature. (AUTOTEMP: the min auto-temperature.)" @@ -72,11 +82,13 @@ parameters: type: int examples: -- pre: With no parameters use the configured settings - code: M600 -- pre: Do filament change at X10 Y15 with 5mm Z raise - code: M600 X10 Y15 Z5 + +- pre: With no parameters [`M600`](/docs/gcode/M600.html) uses the settings in `Configuration.h`. + code: M600 ; execute filament change + +- pre: 'To set the change position:' + code: M600 X10 Y15 Z5 ; Do filament change at X:10, Y:15 and Z:+5 from current --- -The `M600` command initiates the filament change procedure. The basic procedure will move the print head away from the print, eject the filament, wait for new filament to be inserted and the user to confirm, load and prime the filament, and continue with the print. `M600` may be initiated automatically if a filament runout sensor is installed. +The [`M600`](/docs/gcode/M600.html) command initiates the filament change procedure. The basic procedure will move the print head away from the print, eject the filament, wait for new filament to be inserted and the user to confirm, load and prime the filament, and continue with the print. [`M600`](/docs/gcode/M600.html) may be initiated automatically if a filament runout sensor is installed. diff --git a/_gcode/M603.md b/_gcode/M603.md index cc2774d481..602e4df6c0 100644 --- a/_gcode/M603.md +++ b/_gcode/M603.md @@ -10,40 +10,33 @@ group: filament codes: [ M603 ] -notes: - - Requires `ADVANCED_PAUSE_FEATURE`. - parameters: - - - tag: T - optional: true - description: Target extruder - values: - - - tag: index - type: int - - - tag: U - optional: true - description: Amount of retraction for unload (negative) - values: - - - tag: pos - type: float - - - tag: L - optional: true - description: Load length, longer for bowden (negative) - values: - - - tag: pos - type: float - -examples: - - - pre: Configure load and unload lengths for automatic filament change - code: M603 U120 L125 + +- tag: T + optional: true + description: Target extruder + values: + - tag: index + type: int + +- tag: U + optional: true + description: Amount of retraction for unload (negative) + values: + - tag: pos + type: float + +- tag: L + optional: true + description: Load length, longer for bowden (negative) + values: + - tag: pos + type: float + +example: +- pre: Configure load and unload lengths for automatic filament change + code: M603 U120 L125 --- -The [`M603`](/docs/gcode/M603.html) command configures automatic filament change parameters. +The `M603` command configures automatic filament change parameters. diff --git a/_gcode/M605.md b/_gcode/M605.md index 851e416dae..f73e2ae9e2 100644 --- a/_gcode/M605.md +++ b/_gcode/M605.md @@ -10,71 +10,62 @@ group: control codes: [ M605 ] -notes: - parameters: - - - tag: S - optional: false - description: Select the pin to set for all specified axes. - values: - - - tag: 0 - description: Full control mode. Both carriages are free to move, constrained by safe distance. (Requires `DUAL_X_CARRIAGE`) - - - tag: 1 - description: Auto-park mode. One carriage parks while the other moves. (Requires `DUAL_X_CARRIAGE`) - - - tag: 2 - description: Duplication mode. Carriages and extruders move in unison. - - - tag: 3 - description: Mirrored mode. The second extruder duplicates the motions of the first, but reversed in the X axis. - - - tag: X - optional: true - description: X distance between dual X carriages. (Requires `DUAL_X_CARRIAGE`) - values: - - - unit: linear - type: float - - - tag: R - optional: true - description: Temperature difference to apply to E1. (Requires `DUAL_X_CARRIAGE`) - values: - - - unit: temp - type: int - - - tag: P - optional: true - description: Bit-mask of nozzles to include in the duplication set. 0 disables duplication. Bit 1 is E0, Bit 2 is E1 ... Bit n is E(n-1). (Requires `MULTI_NOZZLE_DUPLICATION`) - values: - - - unit: mask - type: int - - - tag: E - optional: true - description: Last nozzle index to include in the duplication set. 0 disables duplication. (Requires `MULTI_NOZZLE_DUPLICATION`) - values: - - - unit: index - type: int + +- tag: S + optional: false + description: Select the pin to set for all specified axes. + values: + - tag: 0 + description: Full control mode. Both carriages are free to move, constrained by safe distance. (Requires `DUAL_X_CARRIAGE`) + - tag: 1 + description: Auto-park mode. One carriage parks while the other moves. (Requires `DUAL_X_CARRIAGE`) + - tag: 2 + description: Duplication mode. Carriages and extruders move in unison. + - tag: 3 + description: Mirrored mode. The second extruder duplicates the motions of the first, but reversed in the X axis. + +- tag: X + optional: true + description: X distance between dual X carriages. (Requires `DUAL_X_CARRIAGE`) + values: + - unit: linear + type: float + +- tag: R + optional: true + description: Temperature difference to apply to E1. (Requires `DUAL_X_CARRIAGE`) + values: + - unit: temp + type: int + +- tag: P + optional: true + description: Bit-mask of nozzles to include in the duplication set. 0 disables duplication. Bit 1 is E0, Bit 2 is E1 ... Bit n is E(n-1). (Requires `MULTI_NOZZLE_DUPLICATION`) + values: + - unit: mask + type: int + +- tag: E + optional: true + description: Last nozzle index to include in the duplication set. 0 disables duplication. (Requires `MULTI_NOZZLE_DUPLICATION`) + values: + - unit: index + type: int examples: - - - pre: Set duplication mode - code: M605 S2 - - - pre: Set duplication mode and configure extruders E0,E1 and E2 as active. - code: M605 S2 E2 - - - pre: Set duplication mode and configure extruders E0 and E2 as active (This is bit pattern %101) - code: M605 S2 P5 + +- pre: Set duplication mode + code: M605 S2 + +- pre: Set duplication mode and configure extruders E0,E1 and E2 as active. + code: M605 S2 E2 + +- pre: Set duplication mode and configure extruders E0 and E2 as active (This is bit pattern %101) + code: M605 S2 P5 --- + Set the behavior mode for multiple fixed nozzles such as a Dual Extruder or `DUAL_X_CARRIAGE` machine. This command behaves differently for `DUAL_X_CARRIAGE` vs. `MULTI_NOZZLE_DUPLICATION`: diff --git a/_gcode/M665-scara.md b/_gcode/M665-scara.md index 9ccf2ab8ce..581e0e1838 100644 --- a/_gcode/M665-scara.md +++ b/_gcode/M665-scara.md @@ -9,68 +9,57 @@ group: none codes: [ M665 ] -notes: - parameters: - - - tag: S - optional: true - description: Segments per second - values: - - - type: float - tag: segments-per-second - - - tag: P - optional: true - description: Theta-Psi offset, added to the shoulder (A/X) angle - values: - - - type: float - tag: theta-pi-offset - - - tag: T - optional: true - description: Theta offset, added to the elbow (B/Y) angle - values: - - - type: float - tag: theta-offset - - - tag: A - optional: true - description: Theta-Psi offset, alias for `P` - values: - - - type: float - tag: theta-pi-offset - - - tag: X - optional: true - description: Theta-Psi offset, alias for `P` - values: - - - type: float - tag: theta-pi-offset - - - tag: B - optional: true - description: Theta offset, alias for `T` - values: - - - type: float - tag: theta-offset - - - tag: Y - optional: true - description: Theta offset, alias for `T` - values: - - - type: float - tag: theta-offset -examples: +- tag: S + optional: true + description: Segments per second + values: + - type: float + tag: segments-per-second + +- tag: P + optional: true + description: Theta-Psi offset, added to the shoulder (A/X) angle + values: + - type: float + tag: theta-pi-offset + +- tag: T + optional: true + description: Theta offset, added to the elbow (B/Y) angle + values: + - type: float + tag: theta-offset + +- tag: A + optional: true + description: Theta-Psi offset, alias for `P` + values: + - type: float + tag: theta-pi-offset + +- tag: X + optional: true + description: Theta-Psi offset, alias for `P` + values: + - type: float + tag: theta-pi-offset + +- tag: B + optional: true + description: Theta offset, alias for `T` + values: + - type: float + tag: theta-offset + +- tag: Y + optional: true + description: Theta offset, alias for `T` + values: + - type: float + tag: theta-offset --- -Configure SCARA geometry values +Configure SCARA geometry values. diff --git a/_gcode/M665.md b/_gcode/M665.md index e0cf1f22d3..cce1eb3bc0 100644 --- a/_gcode/M665.md +++ b/_gcode/M665.md @@ -10,84 +10,70 @@ group: none codes: [ M665 ] -notes: - parameters: - - - tag: H - optional: true - description: Delta height - values: - - - type: float - tag: linear - - - tag: L - optional: true - description: Diagonal rod - values: - - - type: float - tag: linear - - - tag: R - optional: true - description: Delta radius - values: - - - type: float - tag: linear - - - tag: S - optional: true - description: Segments per second - values: - - - type: float - - - tag: X - optional: true - description: Alpha (Tower 1) angle trim - values: - - - type: float - - - tag: Y - optional: true - description: Beta (Tower 2) angle trim - values: - - - type: float - - - tag: Z - optional: true - description: Gamma (Tower 3) angle trim - values: - - - type: float - - - tag: A - optional: true - description: Alpha (Tower 1) diagonal rod trim - values: - - - type: float - - - tag: B - optional: true - description: Beta (Tower 2) diagonal rod trim - values: - - - type: float - - - tag: C - optional: true - description: Gamma (Tower 3) diagonal rod trim - values: - - - type: float -examples: +- tag: H + optional: true + description: Delta height + values: + - type: float + tag: linear + +- tag: L + optional: true + description: Diagonal rod + values: + - type: float + tag: linear + +- tag: R + optional: true + description: Delta radius + values: + - type: float + tag: linear + +- tag: S + optional: true + description: Segments per second + values: + - type: float + +- tag: X + optional: true + description: Alpha (Tower 1) angle trim + values: + - type: float + +- tag: Y + optional: true + description: Beta (Tower 2) angle trim + values: + - type: float + +- tag: Z + optional: true + description: Gamma (Tower 3) angle trim + values: + - type: float + +- tag: A + optional: true + description: Alpha (Tower 1) diagonal rod trim + values: + - type: float + +- tag: B + optional: true + description: Beta (Tower 2) diagonal rod trim + values: + - type: float + +- tag: C + optional: true + description: Gamma (Tower 3) diagonal rod trim + values: + - type: float --- diff --git a/_gcode/M666-dual.md b/_gcode/M666-dual.md index ba090786fe..0c2e96fa06 100644 --- a/_gcode/M666-dual.md +++ b/_gcode/M666-dual.md @@ -10,33 +10,28 @@ requires: (X|Y|Z)_DUAL_ENDSTOPS codes: [ M666 ] parameters: - - - tag: X - optional: true - description: Offset for the X axis endstops - values: - - - tag: adj - type: float - - - tag: Y - optional: true - description: Offset for the Y axis endstops - values: - - - tag: adj - type: float - - - tag: Z - optional: true - description: Offset for the Z axis endstops - values: - - - tag: adj - type: float - -examples: + +- tag: X + optional: true + description: Offset for the X axis endstops + values: + - tag: adj + type: float + +- tag: Y + optional: true + description: Offset for the Y axis endstops + values: + - tag: adj + type: float + +- tag: Z + optional: true + description: Offset for the Z axis endstops + values: + - tag: adj + type: float --- -Use the [`M666`](/docs/gcode/M666.html) command to adjust the offsets for dual (or multiple) endstops. +Use the `M666` command to adjust the offsets for dual (or multiple) endstops. diff --git a/_gcode/M666.md b/_gcode/M666.md index 9b796e4e26..72858a5454 100644 --- a/_gcode/M666.md +++ b/_gcode/M666.md @@ -10,33 +10,28 @@ requires: DELTA codes: [ M666 ] parameters: - - - tag: X - optional: true - description: Adjustment for the X actuator endstop - values: - - - tag: adj - type: float - - - tag: Y - optional: true - description: Adjustment for the Y actuator endstop - values: - - - tag: adj - type: float - - - tag: Z - optional: true - description: Adjustment for the Z actuator endstop - values: - - - tag: adj - type: float - -examples: + +- tag: X + optional: true + description: Adjustment for the X actuator endstop + values: + - tag: adj + type: float + +- tag: Y + optional: true + description: Adjustment for the Y actuator endstop + values: + - tag: adj + type: float + +- tag: Z + optional: true + description: Adjustment for the Z actuator endstop + values: + - tag: adj + type: float --- -Use the [`M666`](/docs/gcode/M666.html) command to adjust the endstop offsets on a Delta printer. +Use the `M666` command to adjust the endstop offsets on a Delta printer. diff --git a/_gcode/M672.md b/_gcode/M672.md index 9ae0e54235..b5b33f0801 100644 --- a/_gcode/M672.md +++ b/_gcode/M672.md @@ -16,16 +16,14 @@ notes: - Use only one of the two parameters (`S` or `R`). parameters: - - - tag: S + - tag: S optional: true description: "Set sensitivity (0-255)" values: - tag: sensitivity type: int - - - tag: R + - tag: R optional: true description: "Revert sensitivity to factory settings" values: @@ -33,8 +31,8 @@ parameters: type: bool example: - - - pre: Set sensitivity to 255 + + - pre: Set sensitivity to 255 code: M672 S255 --- diff --git a/_gcode/M701.md b/_gcode/M701.md index db1e15e0a6..9565b5b88a 100644 --- a/_gcode/M701.md +++ b/_gcode/M701.md @@ -4,44 +4,42 @@ title: Load filament brief: Load filament author: revilor -requires: NOZZLE_PARK_FEATURE,ADVANCED_PAUSE_FEATURE,FILAMENT_LOAD_UNLOAD_GCODES +requires: NOZZLE_PARK_FEATURE, ADVANCED_PAUSE_FEATURE, FILAMENT_LOAD_UNLOAD_GCODES group: control codes: [ M701 ] +related: [ M600, M702 ] notes: - - Enabled using [`FILAMENT_LOAD_UNLOAD_GCODES`](/docs/configuration/configuration.html#advanced-pause). - - Uses the minimum temperature for safe extrusion as set by [`M302`](/docs/gcode/M302.html). +- Enabled using [`FILAMENT_LOAD_UNLOAD_GCODES`](/docs/configuration/configuration.html#advanced-pause). +- Uses the minimum temperature for safe extrusion as set by [`M302`](/docs/gcode/M302.html). + parameters: - - - tag: T - optional: true - description: Optional extruder index. Current extruder if omitted. - values: - - - tag: extruder - type: int - - - tag: Z - optional: true - description: Move the Z axis by this distance - values: - - - tag: distance - type: float - - - tag: L - optional: false - description: Extrude distance for insertion (positive value) (manual reload) - values: - - - tag: distance - type: float - -examples: - - - pre: Load filament into the active extruder - code: M701 + +- tag: T + optional: true + description: Optional extruder index. Current extruder if omitted. + values: + - tag: extruder + type: int + +- tag: Z + optional: true + description: Move the Z axis by this distance + values: + - tag: distance + type: float + +- tag: L + optional: false + description: Extrude distance for insertion (positive value) (manual reload) + values: + - tag: distance + type: float + +example: +- pre: Load filament into the active extruder + code: M701 --- diff --git a/_gcode/M702.md b/_gcode/M702.md index d5b07ac7a6..369f238058 100644 --- a/_gcode/M702.md +++ b/_gcode/M702.md @@ -4,44 +4,42 @@ title: Unload filament brief: Unload filament author: revilor -requires: NOZZLE_PARK_FEATURE,ADVANCED_PAUSE_FEATURE,FILAMENT_LOAD_UNLOAD_GCODES +requires: NOZZLE_PARK_FEATURE, ADVANCED_PAUSE_FEATURE, FILAMENT_LOAD_UNLOAD_GCODES group: control codes: [ M702 ] +related: [ M600, M701 ] notes: - - Enabled using [`FILAMENT_LOAD_UNLOAD_GCODES`](/docs/configuration/configuration.html#advanced-pause). - - Uses the minimum temperature for safe extrusion as set by [`M302`](/docs/gcode/M302.html). +- Enabled using [`FILAMENT_LOAD_UNLOAD_GCODES`](/docs/configuration/configuration.html#advanced-pause). +- Uses the minimum temperature for safe extrusion as set by [`M302`](/docs/gcode/M302.html). + parameters: - - - tag: T - optional: true - description: Optional extruder number. If omitted, current extruder (or ALL extruders with [`FILAMENT_UNLOAD_ALL_EXTRUDERS`](/docs/configuration/configuration.html#advanced-pause)). - values: - - - tag: extruder - type: int - - - tag: Z - optional: true - description: Move the Z axis by this distance - values: - - - tag: distance - type: float - - - tag: U - optional: false - description: Retract distance for removal (manual reload) - values: - - - tag: distance - type: float + +- tag: T + optional: true + description: Optional extruder number. If omitted, current extruder (or ALL extruders with [`FILAMENT_UNLOAD_ALL_EXTRUDERS`](/docs/configuration/configuration.html#advanced-pause)). + values: + - tag: extruder + type: int + +- tag: Z + optional: true + description: Move the Z axis by this distance + values: + - tag: distance + type: float + +- tag: U + optional: false + description: Retract distance for removal (manual reload) + values: + - tag: distance + type: float example: - - - pre: Unload filament from current extruder - code: M702 +- pre: Unload filament from current extruder + code: M702 --- diff --git a/_gcode/M710.md b/_gcode/M710.md index 30b41fcd0c..b38a76f96c 100644 --- a/_gcode/M710.md +++ b/_gcode/M710.md @@ -11,55 +11,50 @@ group: thermal codes: [ M710 ] parameters: - - - tag: S - optional: true - description: Set the speed of the controller fan when motors are active. - values: - - - tag: speed - type: int - - - tag: I - optional: true - description: Set the speed of the controller fan when motors are off. - values: - - - tag: speed - type: int - - - tag: A - optional: true - description: Set whether the fan speed is set automatically. When turned off the controller fan speed will remain where it is. - values: - - - type: bool - - - tag: R - optional: true - description: Reset all settings to defaults. Other parameters can be included to override. - values: - - - type: bool - - - tag: D - optional: true - description: Set the extra duration to keep the fan speed high after motors are turned off. - values: - - - tag: seconds - type: int + +- tag: S + optional: true + description: Set the speed of the controller fan when motors are active. + values: + - tag: speed + type: int + +- tag: I + optional: true + description: Set the speed of the controller fan when motors are off. + values: + - tag: speed + type: int + +- tag: A + optional: true + description: Set whether the fan speed is set automatically. When turned off the controller fan speed will remain where it is. + values: + - type: bool + +- tag: R + optional: true + description: Reset all settings to defaults. Other parameters can be included to override. + values: + - type: bool + +- tag: D + optional: true + description: Set the extra duration to keep the fan speed high after motors are turned off. + values: + - tag: seconds + type: int examples: - - - pre: Set the Controller Fan to full speed now - code: M710 A0 S255 - - - pre: Use full speed when motors are on, half speed when off - code: M710 A1 S255 I128 - - - pre: Reset Controller Fan settings to defaults - code: M710 R + +- pre: Set the Controller Fan to full speed now + code: M710 A0 S255 + +- pre: Use full speed when motors are on, half speed when off + code: M710 A1 S255 I128 + +- pre: Reset Controller Fan settings to defaults + code: M710 R --- diff --git a/_gcode/M7219.md b/_gcode/M7219.md index 52036e183d..5d5e02a8f3 100644 --- a/_gcode/M7219.md +++ b/_gcode/M7219.md @@ -10,92 +10,79 @@ group: debug codes: [ M7219 ] images: - - - title: Max7219 with 8x8 Matrix - caption: This single-unit Max7219 with 8x8 Matrix is commonly found online in both assembled and kit form for only a few dollars. - path: max7219-board.png +- title: Max7219 with 8x8 Matrix + caption: This single-unit Max7219 with 8x8 Matrix is commonly found online in both assembled and kit form for only a few dollars. + path: max7219-board.png - - - title: Settings for Max7219 Orientation - caption: Use the `MAX7219_ROTATE` and `MAX7219_SIDE_BY_SIDE` settings that best suit the orientation of your matrix according to this chart. - path: max7219-rotation.svg - -notes: Requires `MAX7219_DEBUG`. +- title: Settings for Max7219 Orientation + caption: Use the `MAX7219_ROTATE` and `MAX7219_SIDE_BY_SIDE` settings that best suit the orientation of your matrix according to this chart. + path: max7219-rotation.svg parameters: - - - tag: C - optional: true - description: Set the column specified by `C` to bit pattern `V`. - values: - - - tag: column - type: int - - - tag: D - optional: true - description: Directly set a Max7219 native row (on the unit specified by `U`) to the 8-bit pattern `V`. - values: - - - tag: row - type: int - - - tag: R - optional: true - description: Set the row specified by `R` to bit pattern `V`. - values: - - - tag: row - type: int - - - tag: I - optional: true - description: Initialize (clear) all matrixes. - - - tag: F - optional: true - description: Fill the matrix by turning on all LEDs. - - - tag: P - optional: true - description: Print the LED array state for debugging. - - - tag: U - optional: true - description: Used with `D` to specify which matrix unit to set. - values: - - - tag: index - type: int - - - tag: V - optional: true - description: Value to apply when using the `C`, `R`, or `X`/`Y` parameters. - values: - - - tag: bits - type: long - - - tag: X - optional: true - description: Set a matrix LED at the given `X` position to the `V` value. If no `V` is given, toggle the LED state. - values: - - - tag: index - type: int - - - tag: Y - optional: true - description: Set a matrix LED at the given `Y` position to the `V` value. If no `V` is given, toggle the LED state. - values: - - - tag: index - type: int -videos: - - JXMEKXsmTpA +- tag: C + optional: true + description: Set the column specified by `C` to bit pattern `V`. + values: + - tag: column + type: int + +- tag: D + optional: true + description: Directly set a Max7219 native row (on the unit specified by `U`) to the 8-bit pattern `V`. + values: + - tag: row + type: int + +- tag: R + optional: true + description: Set the row specified by `R` to bit pattern `V`. + values: + - tag: row + type: int + +- tag: I + optional: true + description: Initialize (clear) all matrixes. + +- tag: F + optional: true + description: Fill the matrix by turning on all LEDs. -examples: +- tag: P + optional: true + description: Print the LED array state for debugging. + +- tag: U + optional: true + description: Used with `D` to specify which matrix unit to set. + values: + - tag: index + type: int + +- tag: V + optional: true + description: Value to apply when using the `C`, `R`, or `X`/`Y` parameters. + values: + - tag: bits + type: long + +- tag: X + optional: true + description: Set a matrix LED at the given `X` position to the `V` value. If no `V` is given, toggle the LED state. + values: + - tag: index + type: int + +- tag: Y + optional: true + description: Set a matrix LED at the given `Y` position to the `V` value. If no `V` is given, toggle the LED state. + values: + - tag: index + type: int + +videos: +- JXMEKXsmTpA --- diff --git a/_gcode/M808.md b/_gcode/M808.md index 88e0588994..7115418587 100644 --- a/_gcode/M808.md +++ b/_gcode/M808.md @@ -10,26 +10,23 @@ group: none codes: [ M808 ] -notes: - - At this time repeat markers only apply during SD printing. +notes: Repeat markers can only be used for SD printing. parameters: - - - tag: L - optional: true - description: Loop counter. Use `L` or `L0` for an infinite loop. - values: - - - unit: count - type: int + +- tag: L + optional: true + description: Loop counter. Use `L` or `L0` for an infinite loop. + values: + - unit: count + type: int example: - - - pre: Say "Hello World" 5 times - code: - - M808 L5 - - M118 Hello World - - M808 +- pre: Say "Hello World" 5 times + code: + - M808 L5 + - M118 Hello World + - M808 --- diff --git a/_gcode/M810-M819.md b/_gcode/M810-M819.md index 6454039670..01eb6ef04d 100644 --- a/_gcode/M810-M819.md +++ b/_gcode/M810-M819.md @@ -8,24 +8,18 @@ codes: [ M810, M811, M812, M813, M814, M815, M816, M817, M818, M819 ] requires: GCODE_MACROS -notes: - - Requires `GCODE_MACROS`. - parameters: - - - tag: string - optional: true - description: Set Macro to the given commands, separated by the pipe character. +- tag: string + optional: true + description: Set Macro to the given commands, separated by the pipe character. example: - - - pre: Define Macro 5 to do some moves and make a beep - code: - - M815 G0 X0 Y0|G0 Z10|M300 S440 P50 - - - pre: Run Macro 5 - code: - - M815 +- pre: Define Macro 5 to do some moves and make a beep + code: M815 G0 X0 Y0|G0 Z10|M300 S440 P50 + +- pre: Run Macro 5 + code: M815 + --- Use the `M810`-`M819` commands to set and execute 10 distinct G-code "macros." Put anything after the command to define its macro. To run the macro just send `M810`-`M819` by itself. Multiple commands in one macro are separated by the pipe character ('`|`'). diff --git a/_gcode/M851.md b/_gcode/M851.md index 96c0c98d07..02c99517ae 100644 --- a/_gcode/M851.md +++ b/_gcode/M851.md @@ -10,90 +10,86 @@ group: none codes: [ M851 ] notes: | - The default (factory) values are set by - - (version 1.x) - - `X_PROBE_OFFSET_FROM_EXTRUDER` - - `Y_PROBE_OFFSET_FROM_EXTRUDER` - - `Z_PROBE_OFFSET_FROM_EXTRUDER` - - Where the X and Y offsets must be integers. - - - (version 2.x) - - `NOZZLE_TO_PROBE_OFFSET` - - X and Y offset: - Use a caliper or ruler to measure the distance from the tip of - the Nozzle to the center-point of the Probe in the X and Y axes. - - Z offset: - - For the Z offset use your best known value and adjust at runtime. - - Common probes trigger below the nozzle and have negative values for Z offset. - - Probes triggering above the nozzle height are uncommon but do exist. When using probes such as this, carefully set `Z_CLEARANCE_DEPLOY_PROBE` and `Z_CLEARANCE_BETWEEN_PROBES` to avoid collisions during probing. - - Assuming the typical work area orientation: - - Probe to RIGHT of the Nozzle has a Positive X offset - - Probe to LEFT of the Nozzle has a Negative X offset - - Probe in BACK of the Nozzle has a Positive Y offset - - Probe in FRONT of the Nozzle has a Negative Y offset - - Some examples: - - `#define NOZZLE_TO_PROBE_OFFSET { 10, 10, -1 } // Example "1"` - - `#define NOZZLE_TO_PROBE_OFFSET {-10, 5, -1 } // Example "2"` - - `#define NOZZLE_TO_PROBE_OFFSET { 5, -5, -1 } // Example "3"` - - `#define NOZZLE_TO_PROBE_OFFSET {-15,-10, -1 } // Example "4"` - - ``` - +-- BACK ---+ - | [+] | - L | 1 | R <-- Example "1" (right+, back+) - E | 2 | I <-- Example "2" ( left-, back+) - F |[-] N [+]| G <-- Nozzle - T | 3 | H <-- Example "3" (right+, front-) - | 4 | T <-- Example "4" ( left-, front-) - | [-] | - O-- FRONT --+ - (0,0) - ``` + The default (factory) values are set by + - (version 1.x) + - `X_PROBE_OFFSET_FROM_EXTRUDER` + - `Y_PROBE_OFFSET_FROM_EXTRUDER` + - `Z_PROBE_OFFSET_FROM_EXTRUDER` + + Where the X and Y offsets must be integers. + + - (version 2.x) + - `NOZZLE_TO_PROBE_OFFSET` + + X and Y offset: + Use a caliper or ruler to measure the distance from the tip of + the Nozzle to the center-point of the Probe in the X and Y axes. + + Z offset: + - For the Z offset use your best known value and adjust at runtime. + - Common probes trigger below the nozzle and have negative values for Z offset. + - Probes triggering above the nozzle height are uncommon but do exist. When using probes such as this, carefully set `Z_CLEARANCE_DEPLOY_PROBE` and `Z_CLEARANCE_BETWEEN_PROBES` to avoid collisions during probing. + + Assuming the typical work area orientation: + - Probe to RIGHT of the Nozzle has a Positive X offset + - Probe to LEFT of the Nozzle has a Negative X offset + - Probe in BACK of the Nozzle has a Positive Y offset + - Probe in FRONT of the Nozzle has a Negative Y offset + + Some examples: + - `#define NOZZLE_TO_PROBE_OFFSET { 10, 10, -1 } // Example "1"` + - `#define NOZZLE_TO_PROBE_OFFSET {-10, 5, -1 } // Example "2"` + - `#define NOZZLE_TO_PROBE_OFFSET { 5, -5, -1 } // Example "3"` + - `#define NOZZLE_TO_PROBE_OFFSET {-15,-10, -1 } // Example "4"` + + ``` + +-- BACK ---+ + | [+] | + L | 1 | R <-- Example "1" (right+, back+) + E | 2 | I <-- Example "2" ( left-, back+) + F |[-] N [+]| G <-- Nozzle + T | 3 | H <-- Example "3" (right+, front-) + | 4 | T <-- Example "4" ( left-, front-) + | [-] | + O-- FRONT --+ + (0,0) + ``` parameters: - - - tag: X - optional: true - description: Z probe X offset - values: - - - unit: linear - type: float - - - tag: Y - optional: true - description: Z probe Y offset - values: - - - unit: linear - type: float - - - tag: Z - optional: true - description: Z probe Z offset - values: - - - unit: linear - type: float + +- tag: X + optional: true + description: Z probe X offset + values: + - unit: linear + type: float + +- tag: Y + optional: true + description: Z probe Y offset + values: + - unit: linear + type: float + +- tag: Z + optional: true + description: Z probe Z offset + values: + - unit: linear + type: float examples: - - - pre: Set a reasonable offset for an inductive probe - code: M851 Z-2.0 - - - pre: A probe that is triggered by the nozzle itself - code: M851 Z1.2 - - - pre: Set the XY distance (probe left front of nozzle) - code: M851 X-1.70 Y-1.30 - - - pre: Set the XY distance (probe right back of nozzle) - code: M851 X0.20 Y.40 +- pre: Set a reasonable offset for an inductive probe + code: M851 Z-2.0 + +- pre: A probe that is triggered by the nozzle itself + code: M851 Z1.2 + +- pre: Set the XY distance (probe left front of nozzle) + code: M851 X-1.70 Y-1.30 + +- pre: Set the XY distance (probe right back of nozzle) + code: M851 X0.20 Y.40 --- diff --git a/_gcode/M852.md b/_gcode/M852.md index 3e2659597a..88ff214ca3 100644 --- a/_gcode/M852.md +++ b/_gcode/M852.md @@ -10,30 +10,31 @@ group: calibration codes: [ M852 ] notes: - - Correction factors have a range of -1 to 1. - - See Bed Skew Compensation section in the configuration file for more information on calculating the correction factors. +- Correction factors have a range of -1 to 1. +- See Bed Skew Compensation section in the configuration file for more information on calculating the correction factors. parameters: - - - tag: I - type: float - optional: true - description: Skew correction factor for XY axis. - - - tag: J - type: float - optional: true - description: Skew correction factor for XZ axis - - - tag: K - type: float - optional: true - description: Skew correction factor for YZ axis - - - tag: S - type: float - optional: true - description: Alias for `I` when only XY skew correction is enabled + +- tag: I + type: float + optional: true + description: Skew correction factor for XY axis. + +- tag: J + type: float + optional: true + description: Skew correction factor for XZ axis + +- tag: K + type: float + optional: true + description: Skew correction factor for YZ axis + +- tag: S + type: float + optional: true + description: Alias for `I` when only XY skew correction is enabled + --- Bed Skew Compensation corrects for misalignment in the XY, XZ, and ZY axes through the use of correction factors. diff --git a/_gcode/M860-M869.md b/_gcode/M860-M869.md index 579ea036e1..9a7ad1b8a8 100644 --- a/_gcode/M860-M869.md +++ b/_gcode/M860-M869.md @@ -11,101 +11,91 @@ group: encoder codes: [ M860, M861, M862, M863, M864, M865, M866, M867, M868, M869 ] notes: - - Requires `I2C_POSITION_ENCODERS`. - - See [this wiki article](//wiki.aus3d.com.au/Magnetic_Encoder) for more info. +- Requires `I2C_POSITION_ENCODERS`. +- See [this wiki article](//wiki.aus3d.com.au/Magnetic_Encoder) for more info. parameters: - - - tag: I - optional: true - description: Module index. [0, I2CPE_ENCODER_CNT - 1] - values: - - - tag: index - type: int - - - tag: O - optional: true - description: Include homed zero-offset in returned position - values: - - - type: bool - - - tag: X - optional: true - description: Report on X axis encoder if present. (If A or I not specified) - values: - - - tag: axis - type: char - - - tag: Y - optional: true - description: Report on Y axis encoder if present. (If A or I not specified) - values: - - - tag: axis - type: char - - - tag: Z - optional: true - description: Report on Z axis encoder if present. (If A or I not specified) - values: - - - tag: axis - type: char - - - tag: E - optional: true - description: Report on E axis encoder if present. (If A or I not specified) - values: - - - tag: axis - type: char - - - tag: U - optional: true - description: Units in mm or raw step count. (for M860 only) - values: - - - type: bool - - - tag: P - optional: true - description: Number of rePeats/iterations. (for M863 only) - values: - - - type: int - - - tag: S - optional: true - description: Module new I2C address. [30, 200]. (for M864 only) - values: - - - tag: addr - type: int - - - tag: R - optional: true - description: Reset error counter. (for M866 only) - values: - - - type: bool - - - tag: S - optional: true - description: Enable/disable error correction. 1 enables, 0 disables. If not supplied, toggle. (for M867 only) - values: - - - type: bool - - - tag: T - optional: true - description: New error correction threshold. (for M868 only) - values: - - - type: float + +- tag: I + optional: true + description: Module index. [0, I2CPE_ENCODER_CNT - 1] + values: + - tag: index + type: int + +- tag: O + optional: true + description: Include homed zero-offset in returned position + values: + - type: bool + +- tag: X + optional: true + description: Report on X axis encoder if present. (If A or I not specified) + values: + - tag: axis + type: char + +- tag: Y + optional: true + description: Report on Y axis encoder if present. (If A or I not specified) + values: + - tag: axis + type: char + +- tag: Z + optional: true + description: Report on Z axis encoder if present. (If A or I not specified) + values: + - tag: axis + type: char + +- tag: E + optional: true + description: Report on E axis encoder if present. (If A or I not specified) + values: + - tag: axis + type: char + +- tag: U + optional: true + description: Units in mm or raw step count. (for `M860` only) + values: + - type: bool + +- tag: P + optional: true + description: Number of rePeats/iterations. (for `M863` only) + values: + - type: int + +- tag: S + optional: true + description: Module new I2C address. [30, 200]. (for `M864` only) + values: + - tag: addr + type: int + +- tag: R + optional: true + description: Reset error counter. (for `M866` only) + values: + - type: bool + +- tag: S + optional: true + description: Enable/disable error correction. 1 enables, 0 disables. If not supplied, toggle. (for `M867` only) + values: + - type: bool + +- tag: T + optional: true + description: New error correction threshold. (for `M868` only) + values: + - type: float + --- + - M860 - Report the position(s) of position encoder module(s). - M861 - Report the status of position encoder modules. - M862 - Perform an axis continuity test for position encoder modules. diff --git a/_gcode/M871.md b/_gcode/M871.md index 0ccebc89d6..cff19fee6a 100644 --- a/_gcode/M871.md +++ b/_gcode/M871.md @@ -13,69 +13,63 @@ codes: [ M871 ] related: [ G76, M192 ] notes: - - Requires `PROBE_TEMP_COMPENSATION`. - - Values at index zero are constant (zero). - - Compensation values are stored in µm (micrometers). - - Use [`M500`](/docs/gcode/M500.html) to save the values to EEPROM. +- Requires `PROBE_TEMP_COMPENSATION`. +- Values at index zero are constant (zero). +- Compensation values are stored in µm (micrometers). +- Use [`M500`](/docs/gcode/M500.html) to save the values to EEPROM. parameters: - - - tag: V - optional: true - description: Z adjustment value, in micrometers. - values: - - - tag: µm - type: int - - - tag: I - optional: true - description: Index at which to store the given Z adjustment value. - values: - - - tag: flag - type: bool - - - tag: B - optional: true - description: Store the value `V` as the Z adjustment at index `I` for the Bed. - values: - - - tag: flag - type: bool - - - tag: P - optional: true - description: Store the value `V` as the Z adjustment at index `I` for the Probe. - values: - - - tag: flag - type: bool - - - tag: E - optional: true - description: Store the value `V` as the Z adjustment at index `I` for the Extruder. - values: - - - tag: flag - type: bool - - - tag: R - optional: true - description: Reset all Z adjustment values to factory defaults (zero). - values: - - - tag: flag - type: bool + +- tag: V + optional: true + description: Z adjustment value, in micrometers. + values: + - tag: µm + type: int + +- tag: I + optional: true + description: Index at which to store the given Z adjustment value. + values: + - tag: flag + type: bool + +- tag: B + optional: true + description: Store the value `V` as the Z adjustment at index `I` for the Bed. + values: + - tag: flag + type: bool + +- tag: P + optional: true + description: Store the value `V` as the Z adjustment at index `I` for the Probe. + values: + - tag: flag + type: bool + +- tag: E + optional: true + description: Store the value `V` as the Z adjustment at index `I` for the Extruder. + values: + - tag: flag + type: bool + +- tag: R + optional: true + description: Reset all Z adjustment values to factory defaults (zero). + values: + - tag: flag + type: bool example: - - - code: - - M871 ; print current values - - M871 R ; reset all values factory default (zero, effectively disabling compensation) - - M871 P I1 V-5 ; set probe compensation value at index 1 to -5µm - - M871 B I2 V20 ; set bed compensation value at index 2 to 20µm - - M871 E I4 V-13 ; set extruder compensation value at index 4 to -13µm +- code: + - M871 ; print current values + - M871 R ; reset all values factory default (zero, effectively disabling compensation) + - M871 P I1 V-5 ; set probe compensation value at index 1 to -5µm + - M871 B I2 V20 ; set bed compensation value at index 2 to 20µm + - M871 E I4 V-13 ; set extruder compensation value at index 4 to -13µm + --- Read/write probe temperature compensation values. Values for bed and/or probe can be calibrated using the [`G76`](/docs/gcode/G076.html) command. diff --git a/_gcode/M876.md b/_gcode/M876.md index 809f1fda84..6ce95af7bb 100644 --- a/_gcode/M876.md +++ b/_gcode/M876.md @@ -10,23 +10,23 @@ group: hosts codes: [ M876 ] notes: - - When `EMERGENCY_PARSER` is enabled the `M876` command is handled as soon as the command arrives. +- When `EMERGENCY_PARSER` is enabled the `M876` command is handled as soon as the command arrives. parameters: - - - tag: S - optional: false - description: "Response to prompt" - values: - - - tag: response - type: int + +- tag: S + optional: false + description: "Response to prompt" + values: + - tag: response + type: int example: - - - pre: Respond `Purge More` to `FILAMENT_RUNOUT` prompt - code: M876 S0 +- pre: Respond `Purge More` to `FILAMENT_RUNOUT` prompt + code: M876 S0 + --- + Handle responses from the host, such as: - Filament runout responses: Purge More, Continue - General "Continue" response diff --git a/_gcode/M900.md b/_gcode/M900.md index 83346d8f61..0e273697d0 100644 --- a/_gcode/M900.md +++ b/_gcode/M900.md @@ -12,69 +12,65 @@ codes: [ M900 ] notes: See [Linear Advance](/docs/features/lin_advance.html) for details on how to determine the K factor and a link to our calibration tool. parameters: - - - tag: K - optional: true - description: | - The K factor to set for the specified extruder. Unchanged if omitted. Set this value higher for more flexible filament or a longer filament path. - - With `EXTRA_LIN_ADVANCE_K` this sets the *primary* K factor. Note that this factor may be inactive and won't take effect until the next `M900 S0`. - values: - - - tag: kfactor - type: float - - - tag: L - since: 2.0.0 - optional: true - description: Set the second K factor for the specified extruder. Requires `EXTRA_LIN_ADVANCE_K`. Note that this factor may be inactive and won't take effect until the next `M900 S1`. - values: - - - tag: kfactor - type: float - - - tag: S - since: 2.0.0 - optional: true - description: Select slot and activate the last stored value. Requires `EXTRA_LIN_ADVANCE_K`. - values: - - - tag: slot - type: int - - - tag: T - since: 2.0.0 - optional: true - description: Extruder to which `K`, `L`, and `S` will apply. Requires `EXTRA_LIN_ADVANCE_K`. - values: - - - tag: index - type: int + +- tag: K + optional: true + description: | + The K factor to set for the specified extruder. Unchanged if omitted. Set this value higher for more flexible filament or a longer filament path. + + With `EXTRA_LIN_ADVANCE_K` this sets the *primary* K factor. Note that this factor may be inactive and won't take effect until the next `M900 S0`. + values: + - tag: kfactor + type: float + +- tag: L + since: 2.0.0 + optional: true + description: Set the second K factor for the specified extruder. Requires `EXTRA_LIN_ADVANCE_K`. Note that this factor may be inactive and won't take effect until the next `M900 S1`. + values: + - tag: kfactor + type: float + +- tag: S + since: 2.0.0 + optional: true + description: Select slot and activate the last stored value. Requires `EXTRA_LIN_ADVANCE_K`. + values: + - tag: slot + type: int + +- tag: T + since: 2.0.0 + optional: true + description: Extruder to which `K`, `L`, and `S` will apply. Requires `EXTRA_LIN_ADVANCE_K`. + values: + - tag: index + type: int videos: - - n3yK0lJ8TWM - - _BiqlXPPfu4 +- n3yK0lJ8TWM +- _BiqlXPPfu4 examples: - - - pre: Fetch the K factor - code: M900 - - - pre: Set the K factor - code: M900 K0.18 - - - pre: Disable Linear Advance - code: M900 K0 - - - pre: "`EXTRA_LIN_ADVANCE_K` adds an extra storage slot." - code: | - M900 S0 ; Select main K factor and apply it - M900 T2 K0.22 L0.4 ; Set both T2 K factors. K0.22 will be applied. - M900 T2 S1 ; Select extra K factor. L0.4 will be applied. - M900 T2 S1 ; (does nothing this time) - M900 T2 L0.3 ; Set T2 extra (and active) K factor - ... - M900 T2 S0 ; Select main K factor (0.22) + +- pre: Fetch the K factor + code: M900 + +- pre: Set the K factor + code: M900 K0.18 + +- pre: Disable Linear Advance + code: M900 K0 + +- pre: "`EXTRA_LIN_ADVANCE_K` adds an extra storage slot." + code: | + M900 S0 ; Select main K factor and apply it + M900 T2 K0.22 L0.4 ; Set both T2 K factors. K0.22 will be applied. + M900 T2 S1 ; Select extra K factor. L0.4 will be applied. + M900 T2 S1 ; (does nothing this time) + M900 T2 L0.3 ; Set T2 extra (and active) K factor + ... + M900 T2 S0 ; Select main K factor (0.22) --- diff --git a/_gcode/M906.md b/_gcode/M906.md index 69a3833ffa..800b6470f5 100644 --- a/_gcode/M906.md +++ b/_gcode/M906.md @@ -9,70 +9,64 @@ group: none codes: [ M906 ] -notes: Requires one or more compatible Trinamic or L64xx stepper drivers. +notes: Requires one or more compatible Trinamic (or L64xx) stepper drivers. parameters: - - - tag: E - optional: true - description: Current for the E0 stepper - values: - - - unit: mA - type: int - - - tag: I - optional: false - since: 1.1.9 - description: Index for multiple steppers. (i.e., `I1` for X2, Y2, Z2; `I2` for Z3; `I3` for Z4). - values: - - - unit: index - type: int - - - tag: T - optional: true - since: 1.1.9 - description: Index (tool) number for the E axis. If not specified, the E0 extruder. - values: - - - unit: index - type: int - - - tag: X - optional: true - description: Current for the X stepper - values: - - - unit: mA - type: int - - - tag: Y - optional: true - description: Current for the Y stepper - values: - - - unit: mA - type: int - - - tag: Z - optional: true - description: Current for the Z stepper - values: - - - unit: mA - type: int + +- tag: E + optional: true + description: Current for the E0 stepper + values: + - unit: mA + type: int + +- tag: I + optional: false + since: 1.1.9 + description: Index for multiple steppers. (i.e., `I1` for X2, Y2, Z2; `I2` for Z3; `I3` for Z4). + values: + - unit: index + type: int + +- tag: T + optional: true + since: 1.1.9 + description: Index (tool) number for the E axis. If not specified, the E0 extruder. + values: + - unit: index + type: int + +- tag: X + optional: true + description: Current for the X stepper + values: + - unit: mA + type: int + +- tag: Y + optional: true + description: Current for the Y stepper + values: + - unit: mA + type: int + +- tag: Z + optional: true + description: Current for the Z stepper + values: + - unit: mA + type: int examples: - - - pre: Set the XYZ motor currents to 5mA - code: M906 X5 Y5 Z5 - - - pre: Set the E1 motor current to 10mA - code: M906 T1 E10 - - - pre: Set the X2 motor current to 5mA - code: M906 I1 X5 + +- pre: Set the XYZ motor currents to 5mA + code: M906 X5 Y5 Z5 + +- pre: Set the E1 motor current to 10mA + code: M906 T1 E10 + +- pre: Set the X2 motor current to 5mA + code: M906 I1 X5 --- diff --git a/_gcode/M907.md b/_gcode/M907.md index 46e458a3c1..bf57c4cc51 100644 --- a/_gcode/M907.md +++ b/_gcode/M907.md @@ -9,67 +9,55 @@ group: control codes: [ M907 ] -notes: - parameters: - - - tag: B - optional: true - description: Current for the E1 stepper (Requires `DIGIPOTSS_PIN` or `DIGIPOT_I2C`) - values: - - - tag: current - - - tag: C - optional: true - description: Current for the E2 stepper (Requires `DIGIPOT_I2C`) - values: - - - tag: current - - - tag: D - optional: true - description: Current for the E3 stepper (Requires `DIGIPOT_I2C`) - values: - - - tag: current - - - tag: E - optional: true - description: Current for the E0 stepper - values: - - - tag: current - - - tag: S - optional: true - description: Set this current on all steppers (Requires `DIGIPOTSS_PIN` or `DAC_STEPPER_CURRENT`) - values: - - - tag: current - - - tag: X - optional: true - description: Current for the X stepper (and the Y stepper with `MOTOR_CURRENT_PWM_XY`) - values: - - - tag: current - - - tag: Y - optional: true - description: Current for the Y stepper (Use `X` with `MOTOR_CURRENT_PWM_XY`) - values: - - - tag: current - - - tag: Z - optional: true - description: Current for the Z stepper - values: - - - tag: current -examples: +- tag: B + optional: true + description: Current for the E1 stepper (Requires `DIGIPOTSS_PIN` or `DIGIPOT_I2C`) + values: + - tag: current + +- tag: C + optional: true + description: Current for the E2 stepper (Requires `DIGIPOT_I2C`) + values: + - tag: current + +- tag: D + optional: true + description: Current for the E3 stepper (Requires `DIGIPOT_I2C`) + values: + - tag: current + +- tag: E + optional: true + description: Current for the E0 stepper + values: + - tag: current + +- tag: S + optional: true + description: Set this current on all steppers (Requires `DIGIPOTSS_PIN` or `DAC_STEPPER_CURRENT`) + values: + - tag: current + +- tag: X + optional: true + description: Current for the X stepper (and the Y stepper with `MOTOR_CURRENT_PWM_XY`) + values: + - tag: current + +- tag: Y + optional: true + description: Current for the Y stepper (Use `X` with `MOTOR_CURRENT_PWM_XY`) + values: + - tag: current + +- tag: Z + optional: true + description: Current for the Z stepper + values: + - tag: current --- diff --git a/_gcode/M908.md b/_gcode/M908.md index 741b063bce..deb9695a29 100644 --- a/_gcode/M908.md +++ b/_gcode/M908.md @@ -12,24 +12,20 @@ codes: [ M908 ] notes: Requires `DAC_STEPPER_CURRENT` or `DIGIPOTSS_PIN`. parameters: - - - tag: P - optional: false - description: Pin (i.e., Address, Channel) - values: - - - tag: address - type: int - - - tag: S - optional: false - description: Current value - values: - - - tag: current - type: int - -examples: + +- tag: P + optional: false + description: Pin (i.e., Address, Channel) + values: + - tag: address + type: int + +- tag: S + optional: false + description: Current value + values: + - tag: current + type: int --- diff --git a/_gcode/M909.md b/_gcode/M909.md index 1837d6b8d4..5ff3aafe63 100644 --- a/_gcode/M909.md +++ b/_gcode/M909.md @@ -9,13 +9,8 @@ group: control codes: [ M909 ] -notes: Requires `DAC_STEPPER_CURRENT`. - -parameters: - examples: - - - code: M909 +- code: M909 --- diff --git a/_gcode/M910.md b/_gcode/M910.md index 6c698c7c6c..65a93b0893 100644 --- a/_gcode/M910.md +++ b/_gcode/M910.md @@ -11,10 +11,6 @@ codes: [ M910 ] notes: Requires `DAC_STEPPER_CURRENT`. -parameters: - -examples: - --- Commit digipot/DAC value to external EEPROM via I2C. diff --git a/_gcode/M911.md b/_gcode/M911.md index 2d9eaf85b1..502de9f35b 100644 --- a/_gcode/M911.md +++ b/_gcode/M911.md @@ -8,12 +8,9 @@ requires: TMC2130|TMC2208|TMC2209|TMC2660, MONITOR_DRIVER_STATUS group: trinamic codes: [ M911 ] +related: [ M912 ] -notes: Requires one or more TMC stepper drivers. - -parameters: - -examples: +notes: Requires at least one TMC stepper driver with SPI or UART connection. --- diff --git a/_gcode/M912.md b/_gcode/M912.md index f6b5140fc4..d116662541 100644 --- a/_gcode/M912.md +++ b/_gcode/M912.md @@ -8,65 +8,59 @@ requires: TMC2130|TMC2208|TMC2209|TMC2660, MONITOR_DRIVER_STATUS group: control codes: [ M912 ] +related: [ M911 ] -notes: Requires one or more TMC stepper drivers. +notes: Requires at least one TMC stepper driver with SPI or UART connection. parameters: - - - tag: I - optional: true - since: 1.1.9 - description: Stepper number to set. If omitted, all specified axes. - values: - - - tag: 0 - description: Both. - - - tag: 1 - description: Base (X, Y, Z) steppers. - - - tag: 2 - description: Second (X2, Y2, Z2) steppers. - - - tag: 3 - description: Third (Z3) steppers. - - - tag: X - type: int - optional: true - description: Clear `X` and/or `X2` stepper driver Over Temperature Pre-warn flag. - - - tag: Y - type: int - optional: true - description: Clear `Y` and/or `Y2` stepper driver Over Temperature Pre-warn flag. - - - tag: Z - type: int - optional: true - description: Clear `Z` and/or `Z2` and/or `Z3` stepper driver Over Temperature Pre-warn flag. - - - tag: E - type: int - optional: true - description: Clear all or one `E` stepper driver Over Temperature Pre-warn flag. - values: - - - tag: "-" - description: All E. - - - tag: 0-4 - description: E index. + +- tag: I + optional: true + since: 1.1.9 + description: Stepper number to set. If omitted, all specified axes. + values: + - tag: 0 + description: Both. + - tag: 1 + description: Base (X, Y, Z) steppers. + - tag: 2 + description: Second (X2, Y2, Z2) steppers. + - tag: 3 + description: Third (Z3) steppers. + +- tag: X + type: int + optional: true + description: Clear `X` and/or `X2` stepper driver Over Temperature Pre-warn flag. + +- tag: Y + type: int + optional: true + description: Clear `Y` and/or `Y2` stepper driver Over Temperature Pre-warn flag. + +- tag: Z + type: int + optional: true + description: Clear `Z` and/or `Z2` and/or `Z3` stepper driver Over Temperature Pre-warn flag. + +- tag: E + type: int + optional: true + description: Clear all or one `E` stepper driver Over Temperature Pre-warn flag. + values: + - tag: "-" + description: All E. + - tag: 0-4 + description: E index. examples: - - - code: | - M912 ; clear all - M912 X ; clear X and X2 - M912 X1 ; clear X1 only - M912 X2 ; clear X2 only - M912 X E ; clear X, X2, and all E - M912 E1 ; clear E1 only +- code: + - M912 ; clear all + - M912 X ; clear X and X2 + - M912 X1 ; clear X1 only + - M912 X2 ; clear X2 only + - M912 X E ; clear X, X2, and all E + - M912 E1 ; clear E1 only --- diff --git a/_gcode/M913.md b/_gcode/M913.md index 79c4227cb0..8dff3de1d1 100644 --- a/_gcode/M913.md +++ b/_gcode/M913.md @@ -10,58 +10,58 @@ group: control codes: [ M913 ] notes: - - At least one parameter must be used. - - Setting `X`, `Y`, `Z`, or `E` will set the hybrid threshold for all motors that fall under that category that have the `_IS_TRINAMIC` flag set. See examples below. +- At least one parameter must be used. +- Setting `X`, `Y`, `Z`, or `E` will set the hybrid threshold for all motors that fall under that category that have the `_IS_TRINAMIC` flag set. See examples below. parameters: - - - tag: I - optional: true - since: 1.1.9 - description: Index for multiple steppers. (i.e., `I1` for X2, Y2, Z2; `I2` for Z3; `I3` for Z4). - values: - - - unit: index - type: int - - - tag: T - optional: true - since: 1.1.9 - description: Index (tool) number for the E axis. If not specified, the E0 extruder. - values: - - - unit: index - type: int - - - tag: X - type: int - optional: true - description: Set Hybrid Threshold for X to the given value. - - - tag: Y - type: int - optional: true - description: Set Hybrid Threshold for Y to the given value. - - - tag: Z - type: int - optional: true - description: Set Hybrid Threshold for Z to the given value. - - - tag: E - type: int - optional: true - description: Set Hybrid Threshold for E to the given value. + +- tag: I + optional: true + since: 1.1.9 + description: Index for multiple steppers. (i.e., `I1` for X2, Y2, Z2; `I2` for Z3; `I3` for Z4). + values: + - + unit: index + type: int + +- tag: T + optional: true + since: 1.1.9 + description: Index (tool) number for the E axis. If not specified, the E0 extruder. + values: + - + unit: index + type: int + +- tag: X + type: int + optional: true + description: Set Hybrid Threshold for X to the given value. + +- tag: Y + type: int + optional: true + description: Set Hybrid Threshold for Y to the given value. + +- tag: Z + type: int + optional: true + description: Set Hybrid Threshold for Z to the given value. + +- tag: E + type: int + optional: true + description: Set Hybrid Threshold for E to the given value. examples: - - - pre: Set Hybrid Threshold for X and X2 to 100… - post: …assuming that X and X2 are both Trinamic drivers. - code: M913 X100 - - - pre: Hybrid Threshold for X and X2 are set to 100; Y is set to 120; E0 and E2 are set to 30… - post: …assuming that X, X2, Y, E0, and E2 are all Trinamic drivers, but E1 is not. - code: M913 X100 Y120 E30 + +- pre: Set Hybrid Threshold for X and X2 to 100… + post: …assuming that X and X2 are both Trinamic drivers. + code: M913 X100 + +- pre: Hybrid Threshold for X and X2 are set to 100; Y is set to 120; E0 and E2 are set to 30… + post: …assuming that X, X2, Y, E0, and E2 are all Trinamic drivers, but E1 is not. + code: M913 X100 Y120 E30 --- diff --git a/_gcode/M914.md b/_gcode/M914.md index b25abbeb28..a73613a8cb 100644 --- a/_gcode/M914.md +++ b/_gcode/M914.md @@ -11,57 +11,51 @@ group: trinamic codes: [ M914 ] notes: - - Set all `*_HOME_BUMP_MM` values to 0 for best results. - - Set the default stall thresholds with `*_STALL_SENSITIVITY`. - - | - Compatible with TMC2130 and TMC2209. +- Set all `*_HOME_BUMP_MM` values to 0 for best results. +- Set the default stall thresholds with `*_STALL_SENSITIVITY`. +- | + Compatible with TMC2130 and TMC2209. - |Sensitivity|TMC2209|Others| - |--|--|--| - |LOWEST|0|+63| - |HIGHEST|255|-64| + |Sensitivity|TMC2209|Others| + |--|--|--| + |LOWEST|0|+63| + |HIGHEST|255|-64| - - High sensitivity may produce false positives. - - Low sensitivity may fail to trigger. +- High sensitivity may produce false positives. +- Low sensitivity may fail to trigger. parameters: - - - tag: I - optional: true - since: 1.1.9 - description: Index for multiple steppers. (i.e., `I1` for X2, Y2, Z2; `I2` for Z3; `I3` for Z4). - values: - - - unit: index - type: int - - - tag: X - optional: true - description: Sensitivity of the X stepper driver. - values: - - - type: int - - - tag: Y - optional: true - description: Sensitivity of the Y stepper driver. - values: - - - type: int - - - tag: Z - optional: true - description: Sensitivity of the Z stepper driver. - values: - - - type: int -Value Ranges: - - TMC2208: from 0..255 - - TCM2130: from -64..+63 - -examples: +- tag: I + optional: true + since: 1.1.9 + description: Index for multiple steppers. (i.e., `I1` for X2, Y2, Z2; `I2` for Z3; `I3` for Z4). + values: + - unit: index + type: int + +- tag: X + optional: true + description: Sensitivity of the X stepper driver. + values: + - type: int + +- tag: Y + optional: true + description: Sensitivity of the Y stepper driver. + values: + - type: int + +- tag: Z + optional: true + description: Sensitivity of the Z stepper driver. + values: + - type: int --- Some TMC stepper drivers can detect when they bump into something that causes them to stop moving. This feature is so sensitive that it can actually take the place of traditional endstops. Use this command to set the bump sensitivity for the X, Y, and Z stepper drivers. + +Value Ranges: +- TMC2208: from 0..255 +- TCM2130: from -64..+63 diff --git a/_gcode/M915.md b/_gcode/M915.md index 2cc085c753..564757ff07 100644 --- a/_gcode/M915.md +++ b/_gcode/M915.md @@ -5,43 +5,40 @@ brief: Align ends of the Z axis and test torque author: thinkyhead deprecated: 2.0.0 -requires: TMC2130,TMC_Z_CALIBRATION +requires: TMC2130, TMC_Z_CALIBRATION group: control codes: [ M915 ] notes: - - This command is deprecated. Use `G34` ([`Z_STEPPER_AUTO_ALIGN`](/docs/gcode/G034-zsaa.html) or [`MECHANICAL_GANTRY_CALIBRATION`](/docs/gcode/G034-mgc.html)) instead. - - Requires `TMC_Z_CALIBRATION` and at least one TMC driver for Z axis. - - If `Z_DUAL_STEPPER_DRIVERS` is used, both should be TMC drivers. +- This command is deprecated. Use `G34` ([`Z_STEPPER_AUTO_ALIGN`](/docs/gcode/G034-zsaa.html) or [`MECHANICAL_GANTRY_CALIBRATION`](/docs/gcode/G034-mgc.html)) instead. +- Requires `TMC_Z_CALIBRATION` and at least one TMC driver for Z axis. +- If `Z_DUAL_STEPPER_DRIVERS` is used, both should be TMC drivers. parameters: - - - tag: S - optional: true - description: "Current value to use for the raise move. (Default: `CALIBRATION_CURRENT`)" - values: - - - unit: mA - type: int - - - tag: Z - optional: true - description: "Extra distance past `Z_MAX_POS` to move the Z axis. (Default: `CALIBRATION_EXTRA_HEIGHT`)" - values: - - - unit: linear - type: float + +- tag: S + optional: true + description: "Current value to use for the raise move. (Default: `CALIBRATION_CURRENT`)" + values: + - unit: mA + type: int + +- tag: Z + optional: true + description: "Extra distance past `Z_MAX_POS` to move the Z axis. (Default: `CALIBRATION_EXTRA_HEIGHT`)" + values: + - unit: linear + type: float videos: - - JqH41K2vq0g +- JqH41K2vq0g example: - - - pre: Set a 300mA current and press the gantry against the top for 5 extra mm. - code: - - G21 ; Units to mm - - M915 S300 Z5 +- pre: Set a 300mA current and press the gantry against the top for 5 extra mm. + code: + - G21 ; Units to mm + - M915 S300 Z5 --- diff --git a/_gcode/M916.md b/_gcode/M916.md index 25bd43a75c..131535e4f8 100644 --- a/_gcode/M916.md +++ b/_gcode/M916.md @@ -11,101 +11,86 @@ codes: [ M916 ] related: [ M917, M918 ] notes: - - Requires `MONITOR_L6470_DRIVER_STATUS`. - - All tests assume each axis uses matching driver chips. - - On the L6474 the TVAL is used instead of KVAL. +- Requires `MONITOR_L6470_DRIVER_STATUS`. +- All tests assume each axis uses matching driver chips. +- On the L6474 the TVAL is used instead of KVAL. parameters: - - - tag: J - optional: true - description: Select which driver(s) to monitor on multi-driver axis - values: - - - tag: 0 - description: (default) Monitor all drivers on the axis - - - tag: 1 - description: Monitor only X, Y, Z, E1 - - - tag: 2 - description: Monitor only X2, Y2, Z2, E2 - - - tag: 3 - description: Monitor only Z3, E3 - - - tag: 4 - description: Monitor only Z4, E4 - - - tag: 5 - description: Monitor only Z5, E5 - - - tag: 6 - description: Monitor only Z6, E6 - - - tag: 7 - description: Monitor only Z7, E7 - - - tag: X - optional: true - description: Monitor X with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: Y - optional: true - description: Monitor Y with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: Z - optional: true - description: Monitor Z with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: E - optional: true - description: Monitor E with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: F - optional: true - description: Feedrate for the moves. (Default max feedrate if unspecified.) - values: - - - tag: feedrate - type: int - - - tag: T - optional: true - description: Current (mA) setting for TVAL (0 - 4A in 31.25mA increments, rounds down) - L6474 only. If unspecified, report current value from driver. - values: - - - tag: current - type: int - - - tag: K - optional: true - description: Value for KVAL_HOLD (0 - 255) (ignored for L6474). If unspecified, report current value from driver. - values: - - - tag: Kvalue - type: int - - - tag: D - optional: true - description: Time (in seconds) to run each setting of KVAL_HOLD/TVAL. (Default zero, to run each setting once.) - values: - - - tag: second - type: int + +- tag: J + optional: true + description: Select which driver(s) to monitor on multi-driver axis + values: + - tag: 0 + description: (default) Monitor all drivers on the axis + - tag: 1 + description: Monitor only X, Y, Z, E1 + - tag: 2 + description: Monitor only X2, Y2, Z2, E2 + - tag: 3 + description: Monitor only Z3, E3 + - tag: 4 + description: Monitor only Z4, E4 + - tag: 5 + description: Monitor only Z5, E5 + - tag: 6 + description: Monitor only Z6, E6 + - tag: 7 + description: Monitor only Z7, E7 + +- tag: X + optional: true + description: Monitor X with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: Y + optional: true + description: Monitor Y with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: Z + optional: true + description: Monitor Z with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: E + optional: true + description: Monitor E with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: F + optional: true + description: Feedrate for the moves. (Default max feedrate if unspecified.) + values: + - tag: feedrate + type: int + +- tag: T + optional: true + description: Current (mA) setting for TVAL (0 - 4A in 31.25mA increments, rounds down) - L6474 only. If unspecified, report current value from driver. + values: + - tag: current + type: int + +- tag: K + optional: true + description: Value for KVAL_HOLD (0 - 255) (ignored for L6474). If unspecified, report current value from driver. + values: + - tag: Kvalue + type: int + +- tag: D + optional: true + description: Time (in seconds) to run each setting of KVAL_HOLD/TVAL. (Default zero, to run each setting once.) + values: + - tag: second + type: int + --- -`M916`: increase KVAL_HOLD until thermal warning. +Increase KVAL_HOLD until thermal warning. This routine is also useful for determining the approximate KVAL_HOLD where the stepper stops losing steps. The sound will get noticeably quieter as it stops losing steps. diff --git a/_gcode/M917.md b/_gcode/M917.md index 26f6072525..7a420c7803 100644 --- a/_gcode/M917.md +++ b/_gcode/M917.md @@ -8,102 +8,87 @@ requires: MONITOR_L6470_DRIVER_STATUS group: L6474 codes: [ M917 ] -related: [ M916, M918] +related: [ M916, M918 ] notes: - - Requires `MONITOR_L6470_DRIVER_STATUS`. - - All tests assume each axis uses matching driver chips. +- Requires `MONITOR_L6470_DRIVER_STATUS`. +- All tests assume each axis uses matching driver chips. parameters: - - - tag: J - optional: true - description: Select which driver(s) to monitor on multi-driver axis. - values: - - - tag: 0 - description: (default) Monitor all drivers on the axis or E0. - - - tag: 1 - description: Monitor only X, Y, Z, E1. - - - tag: 2 - description: Monitor only X2, Y2, Z2, E2. - - - tag: 3 - description: Monitor only Z3, E3 - - - tag: 4 - description: Monitor only Z4, E4 - - - tag: 5 - description: Monitor only Z5, E5 - - - tag: 6 - description: Monitor only Z6, E6 - - - tag: 7 - description: Monitor only Z7, E7 - - - tag: X - optional: true - description: Monitor X with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: Y - optional: true - description: Monitor Y with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: Z - optional: true - description: Monitor Z with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: E - optional: true - description: Monitor E with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: F - optional: true - description: Feedrate for the moves. If unspecified, uses the max feedrate. - values: - - - tag: feedrate - type: int - - - tag: I - optional: true - description: Starting overcurrent threshold. Report current value from driver if not specified. If there are multiple drivers on the axis then all will be set the same. - values: - - - tag: current - type: int - - - tag: T - optional: true - description: Current (mA) setting for TVAL (0 - 4A in 31.25mA increments, rounds down) - L6474 only. Report current value from driver if not specified. - values: - - - tag: current - type: int - - - tag: K - optional: true - description: Value for KVAL_HOLD (0 - 255) (ignored for L6474). Report current value from driver if not specified - values: - - - tag: Kvalue - type: int + +- tag: J + optional: true + description: Select which driver(s) to monitor on multi-driver axis. + values: + - tag: 0 + description: (default) Monitor all drivers on the axis or E0. + - tag: 1 + description: Monitor only X, Y, Z, E1. + - tag: 2 + description: Monitor only X2, Y2, Z2, E2. + - tag: 3 + description: Monitor only Z3, E3 + - tag: 4 + description: Monitor only Z4, E4 + - tag: 5 + description: Monitor only Z5, E5 + - tag: 6 + description: Monitor only Z6, E6 + - tag: 7 + description: Monitor only Z7, E7 + +- tag: X + optional: true + description: Monitor X with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: Y + optional: true + description: Monitor Y with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: Z + optional: true + description: Monitor Z with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: E + optional: true + description: Monitor E with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: F + optional: true + description: Feedrate for the moves. If unspecified, uses the max feedrate. + values: + - tag: feedrate + type: int + +- tag: I + optional: true + description: Starting overcurrent threshold. Report current value from driver if not specified. If there are multiple drivers on the axis then all will be set the same. + values: + - tag: current + type: int + +- tag: T + optional: true + description: Current (mA) setting for TVAL (0 - 4A in 31.25mA increments, rounds down) - L6474 only. Report current value from driver if not specified. + values: + - tag: current + type: int + +- tag: K + optional: true + description: Value for KVAL_HOLD (0 - 255) (ignored for L6474). Report current value from driver if not specified + values: + - tag: Kvalue + type: int + --- The `M917` command runs a test procedure to find the minimum stepper current thresholds. diff --git a/_gcode/M918.md b/_gcode/M918.md index 866b99f6c0..adf9e6268d 100644 --- a/_gcode/M918.md +++ b/_gcode/M918.md @@ -11,99 +11,83 @@ codes: [ M918 ] related: [ M916, M917 ] notes: - - Requires `MONITOR_L6470_DRIVER_STATUS`. - - All tests assume each axis uses matching driver chips. +- Requires `MONITOR_L6470_DRIVER_STATUS`. +- All tests assume each axis uses matching driver chips. parameters: - - - tag: J - optional: true - description: Select which driver(s) to monitor on a multi-driver axis. - values: - - - tag: 0 - description: (default) Monitor all drivers on the axis or E0 - - - tag: 1 - description: Monitor only X, Y, Z, E1 - - - tag: 2 - description: Monitor only X2, Y2, Z2, E2 - - - tag: 3 - description: Monitor only Z3, E3 - - - tag: 4 - description: Monitor only Z4, E4 - - - tag: 5 - description: Monitor only Z5, E5 - - - tag: 6 - description: Monitor only Z6, E6 - - - tag: 7 - description: Monitor only Z7, E7 - - - tag: X - optional: true - description: Monitor X with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: Y - optional: true - description: Monitor Y with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: Z - optional: true - description: Monitor Z with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: E - optional: true - description: Monitor E with the given displacement (1 - 255mm) on either side of the current position. - values: - - - type: mm - - - tag: I - optional: true - description: Overcurrent threshold. Report current value from driver if not specified. - values: - - - tag: current - type: int - - - tag: T - optional: true - description: Current (mA) setting for TVAL (0 - 4A in 31.25mA increments, rounds down) - L6474 only. Report current value from driver if not specified. - values: - - - tag: current - type: int - - - tag: K - optional: true - description: Value for KVAL_HOLD (0 - 255) (ignored for L6474). Report current value from driver if not specified. - values: - - - tag: Kvalue - type: int - - - tag: M - optional: true - description: Value for microsteps (1 - 128). Report current value from driver if not specified. - values: - - - tag: microsteps - type: int + +- tag: J + optional: true + description: Select which driver(s) to monitor on a multi-driver axis. + values: + - tag: 0 + description: (default) Monitor all drivers on the axis or E0 + - tag: 1 + description: Monitor only X, Y, Z, E1 + - tag: 2 + description: Monitor only X2, Y2, Z2, E2 + - tag: 3 + description: Monitor only Z3, E3 + - tag: 4 + description: Monitor only Z4, E4 + - tag: 5 + description: Monitor only Z5, E5 + - tag: 6 + description: Monitor only Z6, E6 + - tag: 7 + description: Monitor only Z7, E7 + +- tag: X + optional: true + description: Monitor X with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: Y + optional: true + description: Monitor Y with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: Z + optional: true + description: Monitor Z with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: E + optional: true + description: Monitor E with the given displacement (1 - 255mm) on either side of the current position. + values: + - type: mm + +- tag: I + optional: true + description: Overcurrent threshold. Report current value from driver if not specified. + values: + - tag: current + type: int + +- tag: T + optional: true + description: Current (mA) setting for TVAL (0 - 4A in 31.25mA increments, rounds down) - L6474 only. Report current value from driver if not specified. + values: + - tag: current + type: int + +- tag: K + optional: true + description: Value for KVAL_HOLD (0 - 255) (ignored for L6474). Report current value from driver if not specified. + values: + - tag: Kvalue + type: int + +- tag: M + optional: true + description: Value for microsteps (1 - 128). Report current value from driver if not specified. + values: + - tag: microsteps + type: int --- -`M918`: Increase speed until error or max feedrate achieved. +Increase speed until error or max feedrate achieved. diff --git a/_gcode/M919.md b/_gcode/M919.md index fd6295036e..f66bdfc723 100644 --- a/_gcode/M919.md +++ b/_gcode/M919.md @@ -14,134 +14,119 @@ codes: [ M919 ] notes: Requires one or more TMC stepper drivers supporting stealthChop™ mode. parameters: - - - tag: O - optional: true - description: Time-Off value (1..15). If omitted, use configured defaults for the axes. - values: - - - type: int - - - tag: P - optional: true - description: Hysteresis End value (-3..12). If omitted, use configured defaults for the axes. - values: - - - type: int - - - tag: S - optional: true - description: Hysteresis Start value (1..8). If omitted, use configured defaults for the axes. - values: - - - type: int - - - tag: I - optional: true - description: Index for multiple steppers. (i.e., `I1` for X2, Y2, Z2; `I2` for Z3; `I3` for Z4). If omitted, all steppers for the selected axes. - values: - - - unit: index - type: int - - - tag: T - optional: true - description: Index (tool) number for the E axis. If omitted, all extruders. - values: - - - unit: index - type: int - - - tag: X - optional: true - description: Apply the given chopper timing to the X stepper(s). - values: - - - type: flag - - - tag: Y - optional: true - requires: Y_DRIVER_TYPE - description: Apply the given chopper timing to the Y stepper(s). (Requires 2 or more axes.) - values: - - - type: flag - - - tag: Z - optional: true - requires: Z_DRIVER_TYPE - description: Apply the given chopper timing to the Z stepper(s). (Requires 3 or more axes.) - values: - - - type: flag - - - tag: A - optional: true - requires: I_DRIVER_TYPE - description: Apply the given chopper timing to the A stepper. (Requires 4 or more axes.) - values: - - - type: flag - - - tag: B - optional: true - requires: J_DRIVER_TYPE - description: Apply the given chopper timing to the B stepper. (Requires 5 or more axes.) - values: - - - type: flag - - - tag: C - optional: true - requires: K_DRIVER_TYPE - description: Apply the given chopper timing to the C stepper. (Requires 6 or more axes.) - values: - - - type: flag - - - tag: U - optional: true - requires: U_DRIVER_TYPE - since: 2.1 - description: Apply the given chopper timing to the U stepper. (Requires 7 or more axes.) - values: - - - type: flag - - - tag: V - optional: true - requires: V_DRIVER_TYPE - since: 2.1 - description: Apply the given chopper timing to the V stepper. (Requires 8 or more axes.) - values: - - - type: flag - - - tag: W - optional: true - requires: W_DRIVER_TYPE - since: 2.1 - description: Apply the given chopper timing to the W stepper. (Requires 9 axes.) - values: - - - type: flag + +- tag: O + optional: true + description: Time-Off value (1..15). If omitted, use configured defaults for the axes. + values: + - type: int + +- tag: P + optional: true + description: Hysteresis End value (-3..12). If omitted, use configured defaults for the axes. + values: + - type: int + +- tag: S + optional: true + description: Hysteresis Start value (1..8). If omitted, use configured defaults for the axes. + values: + - type: int + +- tag: I + optional: true + description: Index for multiple steppers. (i.e., `I1` for X2, Y2, Z2; `I2` for Z3; `I3` for Z4). If omitted, all steppers for the selected axes. + values: + - type: int + unit: index + +- tag: T + optional: true + description: Index (tool) number for the E axis. If omitted, all extruders. + values: + - type: int + unit: index + +- tag: X + optional: true + description: Apply the given chopper timing to the X stepper(s). + values: + - type: flag + +- tag: Y + optional: true + requires: Y_DRIVER_TYPE + description: Apply the given chopper timing to the Y stepper(s). (Requires 2 or more axes.) + values: + - type: flag + +- tag: Z + optional: true + requires: Z_DRIVER_TYPE + description: Apply the given chopper timing to the Z stepper(s). (Requires 3 or more axes.) + values: + - type: flag + +- tag: A + optional: true + requires: I_DRIVER_TYPE + description: Apply the given chopper timing to the A stepper. (Requires 4 or more axes.) + values: + - type: flag + +- tag: B + optional: true + requires: J_DRIVER_TYPE + description: Apply the given chopper timing to the B stepper. (Requires 5 or more axes.) + values: + - type: flag + +- tag: C + optional: true + requires: K_DRIVER_TYPE + description: Apply the given chopper timing to the C stepper. (Requires 6 or more axes.) + values: + - type: flag + +- tag: U + optional: true + requires: U_DRIVER_TYPE + since: 2.1 + description: Apply the given chopper timing to the U stepper. (Requires 7 or more axes.) + values: + - type: flag + +- tag: V + optional: true + requires: V_DRIVER_TYPE + since: 2.1 + description: Apply the given chopper timing to the V stepper. (Requires 8 or more axes.) + values: + - type: flag + +- tag: W + optional: true + requires: W_DRIVER_TYPE + since: 2.1 + description: Apply the given chopper timing to the W stepper. (Requires 9 axes.) + values: + - type: flag videos: - - Q0sJlGh9WNY +- Q0sJlGh9WNY examples: - - - pre: Report Chopper Timing for all axes. - code: M919 - - - pre: Set XYZE Chopper Timing suitable for 12V steppers - code: M919 XYZE O3 P-1 S1 - - - pre: Set Z, Z2, Z3 and Z4 Chopper Timing - code: M919 Z O3 P-1 S1 - - - pre: Set Z2 Chopper Timing only - code: M919 Z I1 O3 P-1 S1 +- pre: Report Chopper Timing for all axes. + code: M919 + +- pre: Set XYZE Chopper Timing suitable for 12V steppers + code: M919 XYZE O3 P-1 S1 + +- pre: Set Z, Z2, Z3 and Z4 Chopper Timing + code: M919 Z O3 P-1 S1 + +- pre: Set Z2 Chopper Timing only + code: M919 Z I1 O3 P-1 S1 --- diff --git a/_gcode/M928.md b/_gcode/M928.md index 7101fba558..5a47a77043 100644 --- a/_gcode/M928.md +++ b/_gcode/M928.md @@ -12,15 +12,13 @@ related: [ M29 ] notes: Stop logging with [`M29`](/docs/gcode/M029.html). parameters: - - - tag: filename - optional: false - description: File name of log file +- tag: filename + optional: false + description: File name of log file examples: - - - pre: Start logging to log.txt - code: M928 log.txt +- pre: Start logging to log.txt + code: M928 log.txt --- diff --git a/_gcode/M951.md b/_gcode/M951.md index ef74e88c55..ac3107954e 100644 --- a/_gcode/M951.md +++ b/_gcode/M951.md @@ -8,66 +8,58 @@ requires: MAGNETIC_PARKING_EXTRUDER group: calibration codes: [ M951 ] - -notes: - - Requires `MAGNETIC_PARKING_EXTRUDER`. +related: [ G27 ] parameters: - - - tag: L - optional: true - description: Set X[0] position. (Default `PARKING_EXTRUDER_PARKING_X`) - values: - - - unit: linear - type: float - - - tag: R - optional: true - description: Set X[1] position. (Default `PARKING_EXTRUDER_PARKING_X`) - values: - - - unit: linear - type: float - - - tag: I - optional: true - description: Set grab distance. (Default `PARKING_EXTRUDER_GRAB_DISTANCE`) - values: - - - unit: linear - type: float - - - tag: J - optional: true - description: Set slow feedrate. (Default `MPE_SLOW_SPEED`) - values: - - - unit: linear - type: float - - - tag: H - optional: true - description: Set fast feedrate. (Default `MPE_FAST_SPEED`) - values: - - - unit: linear - type: float - - - tag: D - optional: true - description: Set travel feedrate. (Default `MPE_TRAVEL_DISTANCE`) - values: - - - unit: linear - type: float - - - tag: C - optional: true - description: Set compensation factor. (Default `MPE_COMPENSATION`) - values: - - - type: float + +- tag: L + optional: true + description: Set X[0] position. (Default `PARKING_EXTRUDER_PARKING_X`) + values: + - unit: linear + type: float + +- tag: R + optional: true + description: Set X[1] position. (Default `PARKING_EXTRUDER_PARKING_X`) + values: + - unit: linear + type: float + +- tag: I + optional: true + description: Set grab distance. (Default `PARKING_EXTRUDER_GRAB_DISTANCE`) + values: + - unit: linear + type: float + +- tag: J + optional: true + description: Set slow feedrate. (Default `MPE_SLOW_SPEED`) + values: + - unit: linear + type: float + +- tag: H + optional: true + description: Set fast feedrate. (Default `MPE_FAST_SPEED`) + values: + - unit: linear + type: float + +- tag: D + optional: true + description: Set travel feedrate. (Default `MPE_TRAVEL_DISTANCE`) + values: + - unit: linear + type: float + +- tag: C + optional: true + description: Set compensation factor. (Default `MPE_COMPENSATION`) + values: + - type: float + --- Set `MAGNETIC_PARKING_EXTRUDER` settings. With no parameters, report the current settings. diff --git a/_gcode/M993.md b/_gcode/M993.md index b1ccdd185e..a19e22b1b7 100644 --- a/_gcode/M993.md +++ b/_gcode/M993.md @@ -1,17 +1,15 @@ --- tag: m0993 -title: SD / SPI Flash -brief: load or back up SPI Flash and SD +title: Back up flash settings to SD +brief: Create a backup of SPI Flash to SD author: shitcreek requires: HAS_SPI_FLASH, SDSUPPORT, MARLIN_DEV_MODE group: sdcard -codes: [ M993, M994 ] - -notes: - - Requires `HAS_SPI_FLASH`, `SDSUPPORT`, and `MARLIN_DEV_MODE`. +codes: [ M993 ] +related: [ M994 ] --- -`M993`: backup SPI Flash to SD -`M994`: load a backup from SD to SPI Flash + +Back up SPI Flash to SD. Use `M994` to load a backup from SD to SPI Flash. diff --git a/_gcode/M994.md b/_gcode/M994.md new file mode 100644 index 0000000000..362c097d8d --- /dev/null +++ b/_gcode/M994.md @@ -0,0 +1,15 @@ +--- +tag: m0994 +title: Restore flash from SD +brief: Restore a backup from SD to SPI Flash +author: shitcreek + +requires: HAS_SPI_FLASH, SDSUPPORT, MARLIN_DEV_MODE +group: sdcard + +codes: [ M994 ] +related: [ M993 ] + +--- + +Load a backup from SD to SPI Flash. Use `M994` to back up SPI Flash to SD. diff --git a/_gcode/M997.md b/_gcode/M997.md index a6b3708f75..8c0f5050e6 100644 --- a/_gcode/M997.md +++ b/_gcode/M997.md @@ -11,20 +11,16 @@ group: control codes: [ M997 ] notes: | - [`M997`](/docs/gcode/M997.html) is not supported by all platforms! + `M997` is not supported by all platforms! - The following platforms will restart to trigger the update via bootloader\: - - LPC176x - - STM32 - - STM32F1 + The following platforms will restart to trigger the update via bootloader: + - LPC176x + - STM32 + - STM32F1 - -parameters: - -examples: - - - pre: Trigger firmware update - code: M997 +example: +- pre: Trigger firmware update + code: M997 --- diff --git a/_gcode/M999.md b/_gcode/M999.md index 8d77208bd0..c74625ba56 100644 --- a/_gcode/M999.md +++ b/_gcode/M999.md @@ -8,23 +8,19 @@ group: control codes: [ M999 ] -notes: - parameters: - - - tag: S - description: Resume without flushing the command buffer. The default behavior is to flush the serial buffer and request a resend to the host starting on the last `N` line received. - values: - - - type: bool + +- tag: S + description: Resume without flushing the command buffer. The default behavior is to flush the serial buffer and request a resend to the host starting on the last `N` line received. + values: + - type: bool examples: - - - pre: Restart the machine - code: M999 +- pre: Restart the machine + code: M999 --- -If a **STOP** occurs you can use [`M999`](/docs/gcode/M999.html) to restart the "stopped" machine after resolving the issue. +If a **STOP** occurs you can use `M999` to restart the "stopped" machine after resolving the issue. Marlin will call **STOP** if any error occurs that would make continuing the current process problematic. For example, if the probe fails to deploy, it will abort probing and STOP. Note that this disables all heaters. diff --git a/_gcode/T-mmu2.md b/_gcode/T-mmu2.md index b109f39fee..417853dbf0 100644 --- a/_gcode/T-mmu2.md +++ b/_gcode/T-mmu2.md @@ -10,17 +10,19 @@ group: control codes: [ 'T?', Tc, Tx ] examples: - - pre: Select a new filament, set temperature, wait for heating, load to the nozzle - code: - - T3 - - M104 S210 - - T? - - pre: Select a new filament, load it up to the extruder gears, wait for heating, then load to the nozzle - code: - - T2 - - Tx - - M104 S208 - - Tc + +- pre: Select a new filament, set temperature, wait for heating, load to the nozzle + code: + - T3 + - M104 S210 + - T? + +- pre: Select a new filament, load it up to the extruder gears, wait for heating, then load to the nozzle + code: + - T2 + - Tx + - M104 S208 + - Tc --- For the MMU2 and clones the `T0`-`T7` commands select a new filament. After this command you must extrude at least 38.1 mm of filament at feedrate 19.02 mm/s to reach the extruder. (The distance to the extruder may differ for your particular machine.) diff --git a/_gcode/T.md b/_gcode/T.md index 16d7b4f261..dbf1ff1dbb 100644 --- a/_gcode/T.md +++ b/_gcode/T.md @@ -10,31 +10,38 @@ group: control codes: [ T0, T1, T2, T3, T4, T5, T6, T7 ] parameters: - - tag: F - optional: true - description: Movement feedrate for the tool-change. - values: - - tag: feedrate - type: float - - tag: S - optional: true - description: "Specify movement in XY after the tool-change. (Default: allow)" - values: - - tag: 0 - description: Allow movement in XY - type: bool - - tag: 1 - description: Prevent movement in XY - type: bool + +- tag: F + optional: true + description: Movement feedrate for the tool-change. + values: + - tag: feedrate + type: float + +- tag: S + optional: true + description: "Specify movement in XY after the tool-change. (Default: allow)" + values: + - tag: 0 + description: Allow movement in XY + type: bool + - tag: 1 + description: Prevent movement in XY + type: bool examples: - - pre: Switch to tool 1 with XY move feedrate of 30mm/s - code: T1 F1800 - - pre: Switch to tool 3, disallowing XY moves - code: T3 S1 - - pre: Report the current tool - code: T + +- pre: Switch to tool 1 with XY move feedrate of 30mm/s + code: T1 F1800 + +- pre: Switch to tool 3, disallowing XY moves + code: T3 S1 + +- pre: Report the current tool + code: T + --- + Use `T0`, `T1`, etc. to switch to the respective physical or virtual tool. See [Universal Tool Change Settings](/docs/configuration/configuration.html#universal-tool-change-settings) in `Configuration_adv.h` for more details. In Marlin 2.1.3 and up you can use `T` with no tool number to report the current tool index to the serial console.