Skip to content

Commit

Permalink
add G28/G29/M420
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelDu9226 committed Oct 13, 2020
1 parent 269f622 commit 34f4bd4
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 0 deletions.
20 changes: 20 additions & 0 deletions gcode/[Marlin] G028 - Home and StallGuard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Description
DexArm supported TMC2209 StallGuard.

# Notes
![avatar](DexArm's_Coordinate_System.png)
Because of the particularity of dexarm, We have made some customization to the G28.
- `G28` Go to X0 Y300 Z0. Similar to M1112. Based on the position sensor of 3 Axiss.
- `G28 C` or `G28 Z` Home C Axis to the machine home position. Based on the stallguard of TMC2209.
- `G28 B` or `G28 Y` Home B Axis to the machine home position. Based on the stallguard of TMC2209.
- `G28 A` or `G28 X` Home A Axis to the machine home position. Based on the stallguard of TMC2209.
- Home C/Z before Home AB/XY.

# Examples
Modify some mesh points and view the new mesh:
```
> G28
> G28 C
> G28 B
> G28 A
```
54 changes: 54 additions & 0 deletions gcode/[Marlin] G029 - Bed Leveling Manual.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# G029 - Bed Leveling (Manual)

# Description
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.

1. Use `G29 S0` to get the current status and mesh. If there’s an existing mesh, you can send M420 S1 to use it.
2. Use `G29 S1` to move to the first point for Z adjustment.
3. Adjust Z so a piece of paper can just pass under the nozzle.
4. Use `G29 S2` to save the Z value and move to the next point.
5. Repeat steps 3-4 until completed.
6. Use [`M500`](/docs/gcode/M500.html) to save the mesh to EEPROM, if desired.

# Notes
- Requires the `MESH_BED_LEVELING` option in `Configuration.h`.
- "[`G28`](/docs/gcode/G028.html) disables bed leveling. Follow with `M420 S` to turn leveling on, or use `RESTORE_LEVELING_AFTER_G28` to automatically keep leveling on after [`G28`](/docs/gcode/G028.html)."


# Usage
`G29` `[I<index>]` `[J<index>]` `S<0|1|2|3|4|5>` `[X<count>]` `[Y<count>]` `[Z<linear>]`
## Parameters
- `[I<index>]` With S3, the (0…n-1) X index of the mesh value to modify.
- `[J<index>]` With S3, the (0…n-1) Y index of the mesh value to modify.
- `[S<0|1|2|3|4|5>]`
- S0: Produce a mesh report (see examples below).
- S1: Start probing mesh points.
- S2: Probe the next mesh point.
- S3: Manually modify a single point with X Y Z parameters. (See also M421.)
- S4: Set a global Z offset. Positive values are away from the bed; negative values are closer.
- S5: Reset and disable mesh.

# Examples
S0 mesh report:
```
> 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
```
Modify some mesh points and view the new mesh:
```
> 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
```
31 changes: 31 additions & 0 deletions gcode/[Marlin] M420 - Bed Leveling State.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# M420 - Bed Leveling State(Manual)

# Description
Get and/or set bed leveling state. For mesh-based leveling systems use `Z` parameter to set the Z Fade Height.

# Notes
- The "current position" may change in response to `M420 Sn`.

# Usage
`M420` `[S<bool>]` `[V<bool>]` `[Z<linear>]`

## Parameters
- `[S<bool>]` Set enabled or disabled. A valid mesh is required to enable bed leveling. If the mesh is invalid / incomplete leveling will not be enabled.
- `[V<bool>]` Verbose: Print the stored mesh / matrix data
- `[Z<linear>]` 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.

# Examples
Enable bed leveling:
```
M420 S1
```
Disable bed leveling:
```
M420 S0
```
Print the stored mesh / matrix data
```
M420 V
```

0 comments on commit 34f4bd4

Please sign in to comment.