---
tag: m0217
title: Filament swap parameters
brief: Set length and speed for filament swapping
author: thinkyhead

since: 2.0.0
requires: EXTRUDERS > 1
group: calibration

codes: [ M217 ]

notes:
  - These values are stored in EEPROM.

parameters:
  -
    tag: Q
    type: flag
    optional: true
    description: Prime active tool using TOOLCHANGE_FILAMENT_SWAP settings
  -
    tag: S
    optional: true
    description: Swap length
    values:
      -
        tag: linear
        type: float
  -
    tag: B
    optional: true
    description: Extra resume
    values:
      -
        tag: linear
        type: float
  -
    tag: E
    optional: true
    description: Extra Prime Length
    values:
      -
        tag: linear
        type: float
  -
    tag: P
    optional: true
    description: Prime feedrate
    values:
      -
        tag: feedrate
        type: int
  -
    tag: R
    optional: true
    description: Retract feedrate
    values:
      -
        tag: feedrate
        type: int
  -
    tag: U
    optional: true
    description: Unretract feedrate
    values:
      -
        tag: linear
        type: int
  -
    tag: F
    optional: true
    description: Fan speed (0-255)
    values:
      -
        tag: linear
        type: int
  -
    tag: G
    optional: true
    description: Fan Time (seconds)
    values:
      -
        tag: linear
        type: int
  -
    tag: A
    optional: true
    description: Migration Auto Mode. Requires `TOOLCHANGE_MIGRATION_FEATURE`.
    values:
      -
        tag: linear
        type: int
  -
    tag: L
    optional: true
    description: Last Migration. Requires `TOOLCHANGE_MIGRATION_FEATURE`.
    values:
      -
        tag: linear
        type: int
  -
    tag: W
    optional: true
    description: Enable Park Feature. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`.
    values:
      -
        tag: linear
        type: int
  -
    tag: X
    optional: true
    description: Park X position. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`.
    values:
      -
        tag: linear
        type: float

  -
    tag: Y
    optional: true
    description: Park Y position. Requires `TOOLCHANGE_PARK` - was `SINGLENOZZLE_SWAP_PARK`.
    values:
      -
        tag: linear
        type: float

  -
    tag: V
    optional: true
    description: Enable First Prime on uninitialized Nozzles. Requires `TOOLCHANGE_FS_PRIME_FIRST_USED`.
    values:
      -
        tag: linear
        type: int
  -
    tag: Z
    optional: true
    description: Z Raise.
    values:
      -
        tag: feedrate
        type: int

examples:

---

When changing tools on some setups, one filament may be retracted before the other is primed. This command sets the length and feedrates used for the filament swap retract and prime.

If no parameters are given this command reports the current filament swap parameters.
