# Retracciones en firmware

{% 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**](https://github.com/alienboyxp/gitbook_es_klipper_3dwork_io/blob/main/broken/pages/-MTqPy_NKPC-R-jkDi7M/README.md#8.-retracciones)**.**
{% 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="/files/9UbHs5LYeTsbaZcKUxgX" 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="/files/1nKlNiHijyn59APLx9eF" alt=""><figcaption></figcaption></figure>

{% file src="/files/Qu1OD0c2dhAAJtOV78LV" %}

* 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
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://klipper.3dwork.io/klipper/empezamos/retracciones-en-firmware.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
