G28 description for homeall misleading / wrong
-
Hi,
enticed by a discussion about the various homing files, I re-read the G28 documentation. It says:If all axes or towers are to be homed, the file homeall.g is processed, except that on a delta printer homedelta.g is processed. If this process results in some but not all axes become flagged as "position known", an attempt will be made to home the remaining axes as if the G28 command had listed those axes.
For each remaining axis flagged as "to be homed" the appropriate homing file is executed (homex.g, homey.g, homez.g etc.)This reads like homeall.g might be optional for a G28 call since all remaining axis flagged as to be homed should be homed by the axis specific homing file.
I did two tests:
-
rename the homeall.g to something else so no homeall.g exists. This just resulted in an error Error: Homing file homeall.g not found. According to the documentation, I would have expected that error to be a warning and homing to continue using the existing home[xyz].g files.
-
create an empty homeall.g. This just resulted in an error Error: Failed to home axes XYZ. According to the documentation, I would have expected no error and attempts to use the existing home[xyz].g files. Note: Adding something to the file that's a no-op (
echo "not doing anything"
) did not change this behaviour.
Either way, I assume this is a documentation bug, unless the documentation means at least one axis needs to be homed using homeall.g, before the axis specific homing files are considered. Which would be weird, but okay (-:
-
-
In practice it seems to be that if your homeall.g has homing moves for X and Y, but not Z, it will then call homez.g to accomplish that.
As for how it's supposed to behave and what the documentation says that would be a question for @dc42
-
@oliof you are correct, RRF expects that running any homing file will make progress by homing at least one axis.
-
@dc42 thanks for clarifying. I think the documentation could be a bit clearer on this.
-
@oliof what would you suggest? It already says "If all axes or towers are to be homed, the file homeall.g is processed... If this process results in some but not all axes become flagged as "position known", an attempt will be made to home the remaining axes as if the G28 command had listed those axes."
Note the "some but not all axes" part.
-
@dc42 I would suggest to add that at least one axis must be homed. Redundancy is good in documentation (-: I certainly missed "some but".
-
@oliof Thanks, I've changed this to:
If this process results in at least one axis, but not all axes, becoming flagged as "position known", an attempt will be made to home the remaining axes as if the G28 command had listed those axes.
Ian
-
-