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

Home before filament change if XYZ position is unknown #17681

Conversation

thisiskeithb
Copy link
Member

@thisiskeithb thisiskeithb commented Apr 23, 2020

Description

Currently, if HOME_BEFORE_FILAMENT_CHANGE is enabled and you issue a filament change, the printer will home one time and never again before subsequent filament changes until power is cycled. This is a problem if steppers are disabled after a print or manually through the controller/M18 and XYZ position has become unknown. Sending another filament change/M600 while idle would cause hotend/bed to slam into the frame.

After this PR, if HOME_BEFORE_FILAMENT_CHANGE is enabled and you issue a filament change, printer will home if XYZ position is unknown and not just one time after power up.

Benefits

Printer no longer crashes into frame if XYZ position is unknown and you issue a filament change, which I believe was the original intent of HOME_BEFORE_FILAMENT_CHANGE, or at least makes the most sense from a safety perspective.

Related Issues

#17663, #16307

If HOME_BEFORE_FILAMENT_CHANGE is enabled, printer will home if it hasn't homed after power on or if XYZ position is unknown.
@thisiskeithb thisiskeithb changed the title HOME_BEFORE_FILAMENT_CHANGE will also home if XYZ position is unknown Home before filament change if XYZ position is unknown Apr 23, 2020
@thinkyhead
Copy link
Member

You should disable HOME_AFTER_DEACTIVATE if you don't want this behavior.

@thinkyhead thinkyhead closed this Apr 25, 2020
@thisiskeithb
Copy link
Member Author

thisiskeithb commented Apr 25, 2020

@thinkyhead: HOME_AFTER_DEACTIVATE is not enabled in any of my configs.

Can you review the PR again? That's not relavent here.

@h3po
Copy link

h3po commented Mar 14, 2021

with HOME_BEFORE_FILAMENT_CHANGE my printer runs a G28 on M600 even in the middle of a print, when all axes should be known. on the other hand, G28 O doesn't home after boot when the axes are unknown.

@thisiskeithb
Copy link
Member Author

with HOME_BEFORE_FILAMENT_CHANGE my printer runs a G28 on M600 even in the middle of a print, when all axes should be known.

That is unrelated to this PR since a full home is not performed if it isn’t needed.

Something else is off in your config or g-code.


For best results getting help with configuration and troubleshooting, please use the following resources:

@h3po
Copy link

h3po commented Mar 14, 2021

That is unrelated to this PR since a full home is not performed if it isn’t needed.

Well I'm mentioning it since on my printer it does perform a full home when it isn't needed. Don't know any part of the config that would influence this, except maybe PAUSE_PARK_NO_STEPPER_TIMEOUT, which i do have enabled.

@thisiskeithb
Copy link
Member Author

Running the latest bugfix-2.0.x (36d3b6a) on machine's here (mix of LPC & STM32) and so far they all perform as expected when sending M600:

First Boot

On first power on (with XYZ unknown) & M600 sent, the printer will home XYZ & then park to initialize filament change.

Known XYZ Position

With steppers active & a known XYZ position (no timeouts have occured) & M600 sent, the printer parks without homing to initialize filament change.

Stepper Timeout / Unknown XYZ Position

If steppers timeout / XYZ become unknown & M600 sent, the printer will home XYZ & then park to initialize filament change.


Please use one of the links provided above for further troubleshooting since we prefer not to handle user-support questions here.

HairingX pushed a commit to HairingX/Marlin that referenced this pull request Jun 16, 2021
@xlla
Copy link

xlla commented Oct 29, 2022

PAUSE_PARK_NO_STEPPER_TIMEOUT

I encounter this issue too, it destroyed my 30 hours printing.

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.

4 participants