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

Clarify Home Before Filament Change comments #17983

Conversation

thisiskeithb
Copy link
Member

@thisiskeithb thisiskeithb commented May 13, 2020

Requirements

HOME_BEFORE_FILAMENT_CHANGE

Description

I've had to correct users about HOME_BEFORE_FILAMENT_CHANGE many times because they assume it meant home before a filament change no matter what. This is not the case and will only home if homing is needed like when you disable steppers or first boot up your printer.

I debated renaming the feature for clarity, but updating the comment was less intrusive.

Benefits

Clearer intent of the feature.

Related Issues

None, but it originally lead me to look into the code behind HOME_BEFORE_FILAMENT_CHANGE. This lead to the fix in #17681, since the feature would only home a single time after bootup and never again, even if homing was needed.

@Tannoo
Copy link
Contributor

Tannoo commented May 13, 2020

I do believe the HOME_BEFORE_FILAMENT_CHANGE executes a G28 regardless if it is needed or not.

@thisiskeithb
Copy link
Member Author

thisiskeithb commented May 13, 2020

I do believe the HOME_BEFORE_FILAMENT_CHANGE executes a G28 regardless if it is needed or not.

This is precisely why I’m putting in the PR. 😀

It will only home all if XYZ positions are unknown:

#if ENABLED(HOME_BEFORE_FILAMENT_CHANGE)
// Don't allow filament change without homing first
if (!all_axes_known()) home_all_axes();
#endif

@thisiskeithb thisiskeithb force-pushed the pr/clarify_home_before_filament_change branch from 0ac728d to 207bd63 Compare May 13, 2020 09:52
@thisiskeithb thisiskeithb changed the title Clarify Home Before Filament Change comment Clarify Home Before Filament Change comments May 13, 2020
@thisiskeithb thisiskeithb force-pushed the pr/clarify_home_before_filament_change branch from 207bd63 to dd782a4 Compare May 13, 2020 09:54
@thisiskeithb thisiskeithb force-pushed the pr/clarify_home_before_filament_change branch from dd782a4 to 0826dbf Compare May 13, 2020 10:16
@thinkyhead thinkyhead merged commit 5a92462 into MarlinFirmware:bugfix-2.0.x May 13, 2020
@thisiskeithb thisiskeithb deleted the pr/clarify_home_before_filament_change branch May 13, 2020 20:22
vgadreau pushed a commit to vgadreau/Marlin that referenced this pull request May 29, 2020
jmp0x0000 pushed a commit to jmp0x0000/Marlin that referenced this pull request Aug 7, 2020
@wikolii
Copy link

wikolii commented Sep 10, 2020

I do believe HOME_BEFORE_FILAMENT_CHANGE is still broken in the latest bugfix.
It triggers home Z. I've had that happen mid-print, causing a mess.
1st of all, it homes Z, if you're lucky no mid-printed parts crash
2nd, Z position was never recovered after filament change.

So why is Z homing before parking the toolhead?

I think i was the one who started this whole thing a few months ago i lost track now, but i can say that nothing has improved since. I was looking for a very simple feature: "No motion for filament change if positions are unknown, except for the extruder, of course"

Thanks

@thisiskeithb
Copy link
Member Author

I do believe HOME_BEFORE_FILAMENT_CHANGE is still broken in the latest bugfix.

It won't home all unless your steppers time out (aka - not all axes are known):

#if ENABLED(HOME_BEFORE_FILAMENT_CHANGE)
// If needed, home before parking for filament change
if (!all_axes_known()) home_all_axes();
#endif

I use this feature on my printers that are all on bugfix-2.0.x and the printer will not home all unless the steppers time out.

I was looking for a very simple feature: "No motion for filament change if positions are unknown, except for the extruder, of course"

Then disable HOME_BEFORE_FILAMENT_CHANGE.

@wikolii
Copy link

wikolii commented Sep 25, 2020

Disabling HOME_BEFORE_FILAMENT_CHANGE still causes crashing against the frame after steppers time out

But the previous behavior where Z would home during mid-print filament change is no longer happening

Thanks

@thisiskeithb
Copy link
Member Author

thisiskeithb commented Sep 25, 2020

Disabling HOME_BEFORE_FILAMENT_CHANGE still causes crashing against the frame after steppers time out

That’s to be expected because Marlin doesn’t know where your bed/nozzle is located before attempting to park. If you don’t want to enable HOME_BEFORE_FILAMENT_CHANGE And still want to prevent possible crashing, enable HOME_AFTER_DEACTIVATE to ensure Marlin is homed/knows all axis when your steppers timeout or are disabled.

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

4 participants