# Retracciones en firmware

[![](https://276162026-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FH6gCE2fgkkpOScJ72TP7%2Fuploads%2FRitvjfWJd4TuX0MGbWNy%2Fimage.png?alt=media\&token=e1b1e98d-e4c8-4615-8e25-124c4ec0e386) - English](https://klipper-3dwork-io.translate.goog/klipper/empezamos/retracciones-en-firmware?_x_tr_sl=es&_x_tr_tl=en&_x_tr_hl=es&_x_tr_pto=wapp)

{% hint style="danger" %}
Aunque poder controla las retracciones desde el firmware puede tener algunos puntos positivos dado que en un momento dado podremos realizar el ajuste fino, probablemente **la gestión de estas desde el laminador va a aportar más opciones y ajustes aún perdiendo ese ajuste "en caliente".**

**Aconsejamos el usar el proceso clásico de ajuste de retracciones por el laminador tal y como tenéis en la** [**guía de calibración FDM**](broken-reference)**.**
{% endhint %}

Una funcionalidad interesante es la de ejecutar el control de las retracciones desde el firmware Klipper.

## Habilitar las retracciones por firmware en nuestro laminador:

Para ello deberemos realizar los siguientes pasos:

{% tabs %}
{% tab title="PrusaSlicer/SuperSlicer" %}
Iremos a Printer Settings/General/Advanced y marcaremos la opción Use firmware retraction:

<figure><img src="https://content.gitbook.com/content/H6gCE2fgkkpOScJ72TP7/blobs/9VLQMo4pw7MaSmNg7la0/image.png" alt=""><figcaption></figcaption></figure>

Esto generará códigos G10 y G11 en nuestro gcode para que el firmware identifique cuando realizar el proceso.
{% endtab %}

{% tab title="Cura" %}
Para Cura, a partir de la v5, es necesario instalar la extensión/módulo Printer Settings y desde ahi activar las retracciones por firmware.
{% endtab %}
{% endtabs %}

## Habilitar las retracciones por firmware en nuestro Klipper:

Para ello tan solo deberemos de ir a nuestro printer.cfg y añadir la siguiente sección:

{% code title="/printer.cfg" %}
```django
[firmware_retraction]
retract_length: 0.8
retract_speed: 60
unretract_extra_length: 0
unretract_speed: 60
```
{% endcode %}

{% hint style="info" %}
Obviamente debereis ajustar estos valores a vuestra máquina, normalmente ajustando con los que tengáis en vuestro laminador.
{% endhint %}

## Test de retracciones

A continuación os sugerimos un sencillo test de retracciones desde Klipper.

* Realizaremos un laminado de la siguiente figura de test, recordad tener activadas las retracciones por firmware en vuestro laminador (podéis revisar el gcode generado en busca de G10/G11

<figure><img src="https://content.gitbook.com/content/H6gCE2fgkkpOScJ72TP7/blobs/jZdLnXXQTYa9yGnrhM1I/image.png" alt=""><figcaption></figcaption></figure>

{% file src="https://content.gitbook.com/content/H6gCE2fgkkpOScJ72TP7/blobs/BKfFU3HpaRh15xC53SGp/stringing_test.stl" %}

* Lo enviamos a la impresora y al inicio de la impresión lanzamos la siguiente macro desde nuestro terminal

```
TUNING_TOWER COMMAND=SET_RETRACTION PARAMETER=RETRACT_LENGTH START=0 FACTOR=0.05
```

* Este proceso variará la distancia de retracción de 0 a 5mm, podremos ver en la consola el proceso
* Para calcular el valor idóneo mediremos la altura en la que no tenemos artefactos o estos son inapreciables y realizaremos la siguiente fórmula:

```
// Formula
retraccion = START + altura_deseada * FACTOR
// Ejemplo lanzado
retraccion = 0 + altura_deseada * 0.05
```
