Files
Oleksandr ShyshatskyiandClaude Opus 5.5 1e3c355162 Migrate filament handling to AFC over the toolchanger
AFC-Klipper-Add-On (new anvil-afc package, pinned commit) runs on top of
ff_toolchange as one Toolchanger unit with a standalone lane per head. It
owns T0..T3 and M104/M109 T<n> through its lane map (SET_MAP), infinite
spool (SET_RUNOUT) on the fd_ex presence switches, and a Spoolman spool per
head. ff_toolchange keeps docking, offsets, calibration and SELECT_TOOL.

- klipper: overlay filament_switch/motion_sensor.py so note_filament_present
  keeps upstream's two-argument shape, which AFC's sensor wrapper needs.
- ff_toolchange: park_detector T<n> views so AFC knows which head is on the
  carriage; drop T<n>, TOOLCHANGE, RESTORE_AXIS and the unused
  klipper-toolchanger compatibility commands; arm only the clog sensors.
- macros: address physical heaters by name; START_PRINT gates and cleans
  the heads AFC's map picks; filament temperatures come from AFC's lane
  record instead of a fixed tool_material list; AFC heats from the same
  material table.
- link-prog seeds AFC/AFC.var.unit; HelixScreen entry marked AFC.
- tests: sensor handoff on the printer interpreter, AFC state seeding,
  START_PRINT mapping, lane contract, material tables and temperatures.
- docs: owner page "Filament and spools", hardware checklist, changelog.

Not yet run on a printer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 13:58:18 +03:00
..
2026-09-24 11:37:28 +03:00
2026-09-24 11:37:28 +03:00