Skip to content

Home before filament change if XYZ position is unknown#17681

Merged
thinkyhead merged 1 commit intoMarlinFirmware:bugfix-2.0.xfrom
thisiskeithb:pr/fix-filament-change-unknown-xyz-pos
Apr 26, 2020
Merged

Home before filament change if XYZ position is unknown#17681
thinkyhead merged 1 commit intoMarlinFirmware:bugfix-2.0.xfrom
thisiskeithb:pr/fix-filament-change-unknown-xyz-pos

Conversation

@thisiskeithb
Copy link
Contributor

@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
Contributor 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.

@thinkyhead thinkyhead reopened this Apr 26, 2020
@thinkyhead thinkyhead merged commit 02a054c into MarlinFirmware:bugfix-2.0.x Apr 26, 2020
@thisiskeithb thisiskeithb deleted the pr/fix-filament-change-unknown-xyz-pos branch April 26, 2020 03:37
jmp0x0000 pushed a commit to jmp0x0000/Marlin that referenced this pull request Aug 7, 2020
njibhu pushed a commit to njibhu/Marlin that referenced this pull request Aug 24, 2020
@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
Contributor 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
Contributor 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