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

✨ Runtime Homing Feedrate (G28 F) #27376

Open
wants to merge 24 commits into
base: bugfix-2.1.x
Choose a base branch
from

Conversation

vovodroid
Copy link
Contributor

Following to #27344 (comment)

Add G28 F<mm per minute> home speed parameter (axes X/Y only), could be useful for sensorless homing tuning.

@thisiskeithb
Copy link
Member

Do you plan to add menu options as well?

@vovodroid
Copy link
Contributor Author

Well, if I have time.

@vovodroid
Copy link
Contributor Author

By a way, is it needed for switch homing?

@thisiskeithb
Copy link
Member

By a way, is it needed for switch homing?

You can define a homing feedrate in your config and that applies to all homing types, so I'd say yes.

@vovodroid
Copy link
Contributor Author

vovodroid commented Aug 29, 2024 via email

@thisiskeithb
Copy link
Member

I mean that there's no need in such precise tuning for switches, any speed works.

It may not need the precise tuning of sensorless homing, but it's still an option that should not be excluded:

#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) }

@narno2202
Copy link
Contributor

And why not a more global menu to set homing feedrate and in case of sensorless homing capable drivers , homing current, stallguard sensitivity and a test option.

@thisiskeithb thisiskeithb changed the title G28 F ✨ Runtime Homing Feedrate (G28 F) Aug 30, 2024
@thinkyhead thinkyhead force-pushed the bugfix-2.1.x branch 3 times, most recently from 37d77d6 to aa44542 Compare September 28, 2024 01:10
@thinkyhead
Copy link
Member

As this is currently structured, it makes more sense for G28 F to set the feedrate only temporarily, until G28 exits, and if a particular axis or set of axes is specified, it would make sense to apply the F value to all of the specified axes, but perhaps with some special cases.

For a more complete implementation of a runtime-configurable homing feedrate, we will need to implement G-code M210 along with the MarlinUI menus that pertain to that. This was discussed in another issue, and we expected to get some implementation, so perhaps now is the best opportunity to follow up on that.

@thinkyhead
Copy link
Member

thinkyhead commented Oct 4, 2024

I did my best to apply a temporary homing feedrate with a single 'F' value in G28. Applying this across all specified (or required) axes during a 'G28' makes the override a little sketchy. It must be used very selectively, and only when you're sure you know which axes are actually going to end up homing. If you sent G28 O Z there are cases where this might only home X or Y, and not home Z at all. Some consideration must be given to this logic, or this extra override will need to be removed. Users can just send M210 just before G28 and then save it for later if it's their default preference.

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