-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
Corner bed leveling 3 point leveling #20733
Corner bed leveling 3 point leveling #20733
Conversation
This added 3-point leveling to the Corner Bed Leveling LCD menu option. This also adds the ability to customize the probing order if you want to change that up as well.
removed original comment that was here since it didn't really add anything, and because I resolved my questions. Current iteration has been tested by myself with the 3-point leveling, 4 point leveling, with and without probe, with and without center_too as well. Everything appears to be functioning pretty good. My code for displaying I did have some issues with though. I based the logic off the |
I was able to change the probing screen so that it will now show the last Z measurement, as well as the the # of good points found. This way if it is constantly resetting, the user has some feedback. (It had entered an infinite loop for me once due to an uneven bed, and there was no feedback when it reset the count)
Have you tried |
Similar to wmariz mentioned in github.com//pull/20241, I felt like the corner bed leveling was a bit more intuitive, especially with the LCD feedback since my printer was not hooked up to a host at the time. That, and when it is hooked up to a host (octoprint), the only way I have to read the response would be walking across the room. So it would be walk, adjust, walk, read, repeat. And that is just obnoxious, whereas corner bed leveling currently puts the feedback directly onto the screen and gets it close enough. Since I have an LCD, I would rather have the feedback directly on the LCD. Thats why I chose to modify the corner bed leveling instead with the 3-point leveling. Adding in the ability to decide the leveling order was required to get 3-point leveling to work, but I think that other users might find it useful for the 4-point leveling. And it didn't add much to the compile size compared to the previous hardcoded method of picking corners. I do agree that having it be unified would likely be better overall, maintenance-wise. But tramming would need to be able to work off an LCD for me to go to it. Prior to my modifications, corner bed leveling is also handling homing before hand, and disabling any leveling meshes (as far as I can tell), but |
Note that with this added feature, there is currently no way to set the actual screw locations, if that was desired. But approximate locations should be good enough. |
Yea, I had looked at assisted tramming, and having it calculate the number of turns recommended is a pretty nice feature. If someone were to create an option that it reports that to the screen, I might one day switch to that, but currently, getting it close enough is good enough for me. With the additions that wmariz put through for using a probe, this already checks if it is within a specified tolerance. Coupled with my addition of displaying the last registered Z, it should provide a user with enough feedback to get it quite level. And if they are using a probe, they are likely also doing some sort of mesh as well, which will take care of it too. |
How about |
Right… that's what I was actually looking for. How does that compare with this extension of "old-school corner leveling"? |
Good question, I haven’t tested that function yet. I’ll report back.
…On Mon, Jan 11, 2021 at 6:02 PM Scott Lahteine ***@***.***> wrote:
Right… that's what I was actually looking for. How does that compare with
this extension of "old-school corner leveling"?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#20733 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AE34HF3X7UHGZTXZESWD24LSZN7QRANCNFSM4V4DXXTQ>
.
|
At the moment it only allows to measure one at a time and there is no way to do a full sweep like it is with G35. |
Just tried out Assisted_Tramming, and I have some feedback for it, as I noticed some issues:
Here are my probe offsets. Note that I had added in the defines for X and Y in order to allow some math in various locations in my custom config, such as below
Here is my Assisted_Tramming setup:
Result from the G35 command reported to PronterFace:
Due to the issues with the LCD menu, I think the corner bed leveling is currently a better option, but this has a lot of potential shoudl those be resolved and clarified. Issuing a G35 command if you have a host, this works fantastic though. edit: Also, I tested with the latest bugfix. |
- Corrected the IF statements that result in choosing the front center / rear center 3rd points. -Added several defines options(commented out) for quick testing compiling. - Reworded configuration.h tooltip since having 3/4 points defined ignored the 3rd point altogether and instead used only the first 2 points to calculate 3-point leveling.
Thanks for the Assisted Tramming review. We'll have to get those issues fixed asap. Meanwhile, this PR is looking about ready…. |
Description
Benefits
I recently purchased the Gulf Coast 3-Point bed leveling kit, and realized that Marlin didn't have a way to take advtantage of it. The problem was that Marlin defaults to Front Left, Front RIght, Rear Right, Rear Left. The adjustment knobs for this kit are in the Front Left, Rear Left, and the Center Right.
This update will allow users to define the probing order, and will also allow enabling 3-point leveling if they want it. If they enable 3-point leveling, then the Corner_Bed_leveling will only perform the first 2 corners, then it determines the opposite edge and moves there. This edge will respect whatever offsets would normally be used for the standard 4-corner probe. (So right edge will use rb.x + y_center)
Configurations
configuration.h edits:
Picture!
As you can see, some additional text has been added to the 'Probing' screen so that there is feedback to the user as to the last probe measurement, as well as the # of points probed within tolerance.
Related Issues
[After testing, my concerns here are gone. I had only written them out prior to learning how this code actually functions.]