# Pressure Advance Calibration
Requirements: | Perfect Bed Leveling and Layer Squish

This test is still in development. The beta version should work well, but your current print settings need to be saved before clicking "Generate" since they are used to create the model.

Note: This test will automatically pull all your currently saved configuration parameters and generate a model for you to print. For optimal results, depending if you're chasing speed/quality or a mix of both, it is recommended to keep similar speeds for most extrusion roles, (although this is not mandatory).

## How to Tune Your Printer for Pressure/Linear Advance

To get started:

- Select the number of tests to create, the max is 10.
- Each row represents the config parameters for the selected extrusion role (e.g., first row = ExternalPerimeter, second row = FirstLayer).
- Select the start/end and increment values, you can manually edit these values if you want larger or smaller values.
- Since each model will have its own config, one test model might print faster or slower than others. This is expected and normal.
- This is the first calibration tool that supports Arachne! so leave it enabled if you use Arachne.
- Helpful tip: If you are running multiple tests on a single plate, take a screenshot of the main configuration page (or leave it open and drag the window out of the way) to match the row number to the ID label on the bottom right of the loaded model. (counting starts at '0' ☺)
  You can also inspect each 'base model' and view the object modifiers for each 90° bend model, the 'region_gcode' will have a comment for the extrusion role.

- if you use PA/LA commands in your feature_gcode you need to remove it, otherwise your test will be invalidated.

Currently unsupported roles:

- BridgeInfill, InternalBridgeInfill, ThinWall, GapFill, Ironing

What is the "CheckAll" option?
The "CheckAll" option is an experimental feature. It aims to create a 90° model for each extrusion role, applying specific settings related to that extrusion role.
You need to manually add the pressure advance values into the "per region g-code" box.
However, it currently doesn't work perfectly. Occasionally the models get 'gap fill' and that will produce inaccurate results. Select the "CheckAll" option to identify which extrusion roles need Pressure Advance tuning.

## Known Bugs

- Setting the first layer's PA value for multiple tests only applies the last row's value to (before_layer_gcode).
- The first layer may receive gap fill on the 90° bend models; it is recommended to disable gap fill in the object modifiers if this occurs.
- Occasionally some numbers might get scaled wrong so they won't show up on the G-code preview, this has primarily been for number '1'. If this happens, adjust main config 'thin_perimeters' to '-1'.
- Other minor bugs may be present.

## Advice

Before calibrating Pressure/Linear Advance, it is recommended to tune everything else first!

You may need to disable or adjust your part cooling config for this test, including the features that slow down layer times. Note: Large variances in ER speeds can reduce print quality and dimensional accuracy.

It's recommended to set 'first_layer_min_speed' and 'first_layer_speed' to the same values, since the variance in speeds will mess with the first layer's pressure advance adjustments.

## Notes

TODO: add pictures

This testing method originated from ellis3dp.com/Print-Tuning-Guide. You can find the original generator here.