Add per-tool pressure advance snapshots for queued moves and CAN motion for adaptive pressure advance#1207
Open
Argolein wants to merge 1 commit intoDuet3D:3.6-devfrom
Open
Add per-tool pressure advance snapshots for queued moves and CAN motion for adaptive pressure advance#1207Argolein wants to merge 1 commit intoDuet3D:3.6-devfrom
Argolein wants to merge 1 commit intoDuet3D:3.6-devfrom
Conversation
Switch M572 pressure advance handling to per-tool semantics and snapshot the active value per queued move so rapid adaptive updates do not require queue drains. Propagate the snapshot through local and CAN movement paths, including remote move validation and compatibility signaling for mixed firmware safety.
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.
Summary
This PR adds support for rapid Adaptive Pressure Advance updates by using per-move PA snapshots instead of relying on mutable live PA values at execution time.
What changed
movementLinearShapedmessage size/driver count.supportsMovementPaSnapshot).Why
Adaptive PA can change PA values very frequently. Without snapshots, queued moves may be executed with newer PA values than intended, causing inconsistency.
Result
Queued moves now use the PA value that was active when they were queued, including CAN motion paths.