Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1.1] Cleanup Nozzle class, fix XY vs Z move order #8248

Merged

Conversation

thinkyhead
Copy link
Member

@thinkyhead thinkyhead commented Nov 4, 2017

Addressing #8240, based on #8248

Two Nozzle Clean issues are fixed by this PR:

  • The Z versus XY movement order isn't always ideal, owing to at least one errant case of NOZZLE_CLEAN_GOBACK. This PR fixes the Z versus XY move order by using the do_blocking_move_to(x, y, z) function for all Z-then-XY and XY-then-Z moves, because do_blocking_move_to contains all the logic needed to decide whether to move Z before or after XY, and the logic for Delta to make sure it's in the "safe zone" first.
    This results in slightly smaller Nozzle class code with ideal behavior.
  • Nozzle::zigzag zigs (or zags) outside the cleaning area if the cleaning area end.x is less than start.x or if the end.y is less than start.y. This PR rewrites zigzag so it simply alternates sides in the narrow dimension.

@thinkyhead thinkyhead changed the title Cleanup Nozzle class, fix XY vs Z move order [1.1] Cleanup Nozzle class, fix XY vs Z move order Nov 4, 2017
@thinkyhead thinkyhead force-pushed the bf1_nozzle_cleanup branch 7 times, most recently from c48b5d7 to 75155c2 Compare November 6, 2017 00:05
@thinkyhead thinkyhead merged commit 1b87037 into MarlinFirmware:bugfix-1.1.x Nov 6, 2017
@thinkyhead thinkyhead deleted the bf1_nozzle_cleanup branch November 6, 2017 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant