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

Fix raise by MIN_Z_HEIGHT_FOR_HOMING (first attempt) #4217

Merged
merged 3 commits into from
Jul 6, 2016

Conversation

thinkyhead
Copy link
Member

@thinkyhead thinkyhead commented Jul 6, 2016

When doing the initial raise for homing (which occurs before homing X and Y) we don't need to include the probe offset. This lift is just always done over the current Z position. The Z axis will be lifted more, if needed later, to deploy the probe before homing Z.

Reference: #4208

  • Sanity check the probe raise values. There should always be raises for probing.
  • Also, it looks like X and Y re-home after quick-homing. This PR includes a patch for that.

}
#endif
do_blocking_move_to_z(z_dest);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this work? do_blocking_move_to_z() is only defined if HAS_BED_PROBE is defined.

#endif

SYNC_PLAN_POSITION_KINEMATIC();
do_blocking_move_to_z(destination[Z_AXIS]);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If MIN_Z_HEIGHT_FOR_HOMING is defined you get.

Marlin_main.cpp:2898: error: 'do_blocking_move_to_z' was not declared in this scope

       do_blocking_move_to_z(destination[Z_AXIS]);

Because do_blocking_move_to_z() is only defined if HAS_BED_PROBE

@thinkyhead thinkyhead merged commit 799c60c into MarlinFirmware:RCBugFix Jul 6, 2016
@thinkyhead thinkyhead deleted the rc_fix_homing_raise branch July 6, 2016 21:39
current_position[Z_AXIS] = destination[Z_AXIS];
// Raise Z before homing any other axes and z is not already high enough (never lower z)
float z_dest = (current_position[Z_AXIS] += MIN_Z_HEIGHT_FOR_HOMING);
#if ENABLED(DEBUG_LEVELING_FEATURE)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you'll stay with this crap - at least change the comment above.

@AnHardt
Copy link
Member

AnHardt commented Jul 7, 2016

QUICK_HOME is broken now. It does not home the axis what not arrived first.
I suppose it never worked, but we did not see that because the 'normal' routines for the axis did the work.

The fix could be to reactivate the normal routines and remove the attempt to home the second axis.

For me the initial rise is completely broken now. Consecutive homings of x or y rise and rise and rise and ... .

@thinkyhead
Copy link
Member Author

QUICK_HOME is broken now

Yeah, sorry, I misconstrued the logic there. It's reverted by the above PR, but keeping the quick_home function for neatness.

the initial rise is completely broken now

If you're using MIN_Z_HEIGHT_FOR_HOMING then the referenced PR should make it better. No more continuous raises on every G28. And it won't do a Z raise if you're only homing Z.

@thinkyhead thinkyhead changed the title Don't do_probe_raise with MIN_Z_HEIGHT_FOR_HOMING Fix raise by MIN_Z_HEIGHT_FOR_HOMING (first attempt) Jul 8, 2016
@thinkyhead thinkyhead mentioned this pull request Jul 8, 2016
@jbrazio jbrazio modified the milestone: 1.1.0 Jul 18, 2016
@Blue-Marlin Blue-Marlin mentioned this pull request Aug 3, 2016
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