aboutsummaryrefslogtreecommitdiffstats
path: root/docs/skew_correction.md
diff options
context:
space:
mode:
authorArksine <arksine.code@gmail.com>2019-06-28 15:40:00 -0400
committerKevinOConnor <kevin@koconnor.net>2019-06-29 10:58:46 -0400
commit57eb0e8975f0fc038dbf323f5ff029073334c611 (patch)
tree9864badc50a7216fb0706a026b197c71de705ec2 /docs/skew_correction.md
parent0c379d060fec311c6c80c2b83664602994238e20 (diff)
downloadkutter-57eb0e8975f0fc038dbf323f5ff029073334c611.tar.gz
kutter-57eb0e8975f0fc038dbf323f5ff029073334c611.tar.xz
kutter-57eb0e8975f0fc038dbf323f5ff029073334c611.zip
docs: Update for latest changs to skew_correction
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Diffstat (limited to 'docs/skew_correction.md')
-rw-r--r--docs/skew_correction.md81
1 files changed, 61 insertions, 20 deletions
diff --git a/docs/skew_correction.md b/docs/skew_correction.md
index f6b7822e..a787c9ed 100644
--- a/docs/skew_correction.md
+++ b/docs/skew_correction.md
@@ -1,6 +1,6 @@
Software based skew correction can help resolve dimensional inaccuracies
resulting from a printer assembly that is not perfectly square. Note
-that if your printer is significantly skewed it is strongy recommended to
+that if your printer is significantly skewed it is strongly recommended to
first use mechanical means to get your printer as square as possible prior
to applying software based correction.
@@ -12,8 +12,9 @@ along the plane you want to correct. There is also a
that includes all planes in one model. You want the object oriented
so that corner A is toward the origin of the plane.
-Make sure that the [skew_correction] module is not enabled in printer.cfg
-prior to printing the calibration part.
+Make sure that no skew correction is applied during this print. You may
+do this by either removing the [skew_correction] module from printer.cfg
+or by issuing a `SET_SKEW CLEAR=1` gcode.
# Take your measurements
The [skew_correcton] module requires 3 measurements for each plane you want
@@ -23,18 +24,56 @@ AD do not include the flats on the corners that some test objects provide.
![skew_lengths](img/skew_lengths.png)
-# Update printer.cfg
-Enter your lengths for the calibration print corresponding to the correct
-plane under the [skew_correction] section in printer.cfg, for example:
+# Configure your skew
+Make sure [skew_correction] is in printer.cfg. You may now use the `SET_SKEW`
+gcode to configure skew_correcton. For example, if your measured lengths
+along XY are as follows:
```
-[skew_correction]
-xy_ac_length: 140.4
-xy_bd_length: 142.8
-xy_ad_length: 99.8
+Length AC = 140.4
+Length BD = 142.8
+Length AD = 99.8
```
-Restart your printer. If desired, you can reprint the calibration part
-with skew correction enabled. The following gcode can be used to calculate
-skew of a single plane and output the results:
+
+`SET_SKEW` can be used to configure skew correction for the XY plane.
+
+```
+SET_SKEW XY=140.4,142.8,99.8
+```
+You may also add measurements for XZ and YZ to the gcode:
+
+```
+SET_SKEW XY=140.4,142.8,99.8 XZ=141.6,141.4,99.8 YZ=142.4,140.5,99.5
+```
+
+The [skew_correction] module also supports profile management in a manner
+similar to [bed_mesh]. After setting skew using the `SET_SKEW` gcode,
+you may use the `SKEW_PROFILE` gcode to save it:
+
+```
+SKEW_PROFILE SAVE=my_skew_profile
+```
+After this command you will be prompted to issue a `SAVE_CONFIG` gcode to
+save the profile to persistent storage. If no profile is named
+`my_skew_profile` then a new profile will be created. If the named profile
+exists it will be overwritten.
+
+Once you have a saved profile, you may load it:
+```
+SKEW_PROFILE LOAD=my_skew_profile
+```
+
+It is also possible to remove an old or out of date profile:
+```
+SKEW_PROFILE REMOVE=my_skew_profile
+```
+After removing a profile you will be prompted to issue a `SAVE_CONFIG` to
+make this change persist.
+
+# Verifying your correction
+After skew_correction has been configured you may reprint the calibration
+part with correction enabled. Use the following gcode to check your
+skew on each plane. The results should be lower than those reported via
+`GET_CURRENT_SKEW`.
```
CALC_MEASURED_SKEW AC=<ac_length> BD=<bd_length> AD=<ad_length>
@@ -42,11 +81,13 @@ CALC_MEASURED_SKEW AC=<ac_length> BD=<bd_length> AD=<ad_length>
# Caveats
-When using the [skew_correction] module it is suggested to home all axes
-before attempting a move. Homing a single axis to move could result in a
-correction along the x and/or y axis, potentially leading to a homing error.
+Due to the nature of skew correction it is recommended to configure skew
+in your start gcode, after homing and any kind of movement that travels
+near the edge of the print area such as a purge or nozzle wipe. You may
+use use the `SET_SKEW` or `SKEW_PROFILE` gcodes to accomplish this. It is
+also recommended to issue a `SET_SKEW CLEAR=1` in your end gcode.
-It is also important to keep in mind that it is possible for [skew_correction]
-to generate a correction that moves the tool beyond the printer's boundries
-on the X and/or Y axes. It is recommended to arrange parts away from the
-edges when using [skew_correction].
+Keep in mind that it is possible for [skew_correction] to generate a correction
+that moves the tool beyond the printer's boundries on the X and/or Y axes. It
+is recommended to arrange parts away from the edges when using
+[skew_correction].