Repository navigation
feat(prusa): filament-aware AUTO via PrusaLink material (needs dragon-core#70) - #108
Merged
Merged
Conversation
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
marked this pull request as ready for review
September 28, 2026 19:17
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
In AUTO with the Prusa (PrusaLink) source, follow the active print filament's configured chamber zone, matching the Bambu and Klipper workflow.
dc_prusareads 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.materialthroughdc_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 thedc_sourcecapability flag.Validation and release
v0.35.3justinh-rahb/dragon-corev0.35.3tagThis PR does not cut a DragonBreath firmware release. The next firmware release is waiting on the Wi-Fi and front-panel button test details.