-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
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
Delta auto bed level (Updated PR) #1586
Delta auto bed level (Updated PR) #1586
Conversation
- Nonlinear auto bed leveling code (includes G29, G30, Z_RAISE_AFTER_PROBING). Cleaned it up to be a delta-specific AUTO_BED_LEVELING_GRID code path. - Allen key z-probe deployment and retraction code. Cleaned it up and added safety checks.
Looks good. I'm inclined to merge it, but I'll see if any testers are interested in trying it out first. |
Good idea. |
I'm still hoping to merge this soon. There are a lot of bed leveling related items being submitted lately. If you can resolve the current merge conflicts, I will try to get this in early in the week. |
Conflicts: Marlin/Marlin_main.cpp
Resolved. |
Excellent. Let's get this into the Development branch and see if anything breaks. 😈 |
Delta auto bed level (Updated PR)
Please someone TEST this added feature. Cheers. Alex.
|
These changes apply to the issue #1589 ? |
@SkyFlyer2 Yea it should solve #1589 - now it always raises before retracting. |
Ok, |
Tester here - I can tell you it is not working as intended. Things to note: |
avluis I also have checked now - it does not work as it should. The probe must be lifted up BEFORE any retraction, but it does not happens. |
G29 does this: do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], Z_RAISE_AFTER_PROBING); However that same code is not in G28. Is that the bug you're seeing? |
The probe not lift up before servo retraction. This is a bug, that I mean. In commands G28, G29, G30, M48. |
@maverikou @SkyFlyer2 The new |
I will check it again. May be is a good idea using only one define, e.g. Z_RAISE_BEFORE_RETRACTION. It is more simple, than two defines. |
@SkyFlyer2 Retraction has other connotations, so maybe |
I checked this. Is NOT working as it should. In g28 - no changes, servo retract and Z-axis not lift up. I tested this just now. "do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], Z_RAISE_AFTER_PROBING);" - this code must be executed before servo retraction. I don't understand why. |
@SkyFlyer2 Interesting. The code in G29 is supposed to start lifting the Z axis, wait for it to finish, then retract the probe.
This kind of code works elsewhere. The |
Should I define "Z_PROBE_END_SCRIPT" ? |
It is not working in your case because G29 calls probe_pt with act=ProbeRetract and causes a retract_z_probe() call, which in turn activates servos if SERVO_ENDSTOPS is defined. I believe this code was getting merged at roughly the same time as Z_RAISE_AFTER_PROBING implementation and caused this high-level functionality conflict. We could move
into probe_pt and handle act=ProbeRetract or add ProbeLiftAndRetract as a special case? |
"It is not working in your case because G29 calls probe_pt with act=ProbeRetract and causes a retract_z_probe() " I send this command: G29 e V4 P3 Who does retract after the last sample point? "We could move... ?" About this I'm not sure. I have tried to do so (move this code into probe_pt), the probe was raised before retract. It would seem that everything is OK? No! When I start printing, the printer starts to print in the air at a height equal to the height it was raised. |
Can't tell without seeing your code changes, but the return value (measured_z) is probably incorrect. Did you do this?
|
I insert only this line: "do_blocking_move_to(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS] + Z_RAISE_BETWEEN_PROBINGS);" whitout "st_synchronize();" " return value (measured_z) is probably incorrect." But without this line, I can normal start print after auto leveling procedure. |
Looks like my issue (with G28 and G29) was fixed with maverikou's blind fix: #1507 |
Ported over Johann Rocholl's improvements for delta printers: