Skip to content

feat(prusa): filament-aware AUTO via PrusaLink material (needs dragon-core#70) - #108

Merged
plastikman merged 4 commits into
mainfrom
feat/prusa-material-auto
Oct 16, 2026
Merged

plastikman merged 4 commits into
mainfrom
feat/prusa-material-auto

Conversation

@plastikman

@plastikman plastikman commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

What

In AUTO with the Prusa (PrusaLink) source, follow the active print filament's configured chamber zone, matching the Bambu and Klipper workflow. dc_prusa reads material from /api/v1/job (file.meta.filament_type) when available and falls back to /api/printer (telemetry.material).

If PrusaLink reports no material, or that material has no configured filament zone, AUTO stays idle. Prusa does not fall back to bed-follow.

The consumer resolves ps.material through dc_bambu_zone_target() and exposes the active material through the state API so the dashboard shows the filament and its zone. The shared filament-zone UI is enabled for Prusa through the dc_source capability flag.

Validation and release

  • dragon-core#70 merged and released as v0.35.3
  • Pin Dragon Core dependencies to the upstream justinh-rahb/dragon-core v0.35.3 tag
  • Complete real-hardware validation with the XL reporter (@alexandru-g)

This PR does not cut a DragonBreath firmware release. The next firmware release is waiting on the Wi-Fi and front-panel button test details.

plastikman and others added 2 commits September 28, 2026 08:31
Consumes dc_prusa's new status.material (dragon-core#70): in AUTO with the
Prusa source, request the filament's chamber zone when the material is known
(like Bambu/Moonraker), and fall back to the existing bed-follow rule when
it isn't (e.g. a USB-sent file with no parsed metadata).

Depends on dragon-core#70. The dc_prusa pin is TEMPORARILY on the fork
branch so CI validates the integration; flip it back to the justinh-rahb
release tag before merge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Now that dc_prusa reports the loaded filament and dc_source marks PrusaLink
filament-aware (dragon-core#70), Prusa AUTO follows the filament's chamber
zone exactly like Bambu/Klipper — no separate bed-follow path:

- app_main DC_SRC_PRUSA: src_target from dc_bambu_zone_target(ps.material)
  (0 = no zone -> AUTO idle). Drops the bed-threshold fallback.
- pb_httpd: expose environment.material for Prusa so the dashboard shows
  "Filament: <type>" and which zone AUTO follows; heating-zones are now
  shared by every filament-aware source; +dc_prusa in REQUIRES.
- db_portal: Prusa setup description is now filament-follow (set per-filament
  targets in Filament Zones), not bed-follow.

The dc_source filament-aware flag flips the dashboard's Prusa AUTO card from
bed-threshold to filament-zone config automatically (no dc_ui change).

Implementation validated independently by @alexandru-g on a real Prusa XL.
dc_prusa keeps the hybrid /api/v1/job (forward-compat) + legacy
/api/printer material fetch from dragon-core#70.

Depends on dragon-core#70. dc_prusa + dc_source pins are TEMPORARILY on the
fork branch for CI; flip both to the justinh-rahb release tag before merge.

Co-Authored-By: alexandru-g <alexandru-g@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
plastikman and others added 2 commits October 6, 2026 07:19
PR #108 made PrusaLink filament-aware (zone-follow like Klipper/Bambu) and
removed the bed-threshold fallback entirely, but several docs still described
it as a bed-follow source. Correct control-source.md, FEATURES.md,
OEM_PARITY.md, and api-v2.md: all sources follow the active print's filament
zone; PrusaLink reads the loaded filament from /api/printer telemetry.material;
no material or no matching zone -> AUTO idle (no bed-follow).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@plastikman
plastikman merged commit 6a872ce into main Oct 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant