Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Various small fixes/tweaks #26502
Various small fixes/tweaks #26502
Changes from 7 commits
41d31ca
f93e12a
c10d5dc
87dbb8e
806a728
f2368ee
82c2457
d2b3bbb
979edb6
ee55dfe
e696be3
4ef2cbf
55f5122
27b2353
aa7e068
8a6bcc2
2276bf6
0a6d2b2
cff0e4f
cef2bda
a77fec9
590d66f
981aa04
90607e1
41b5f74
1c75a65
843fc13
7fabcef
5722f55
2184b96
4b3ab1a
0472c05
b9ab56e
f5cadc5
36d9b25
03a21fd
a7d1a8c
eb4d1fc
fa02312
3a0cc0a
3719b5d
22e8365
f2947b1
a59e022
39118d8
c79127b
7b618d6
09a2aa3
db8daf9
cedf465
ec5675d
3b399ea
b527e50
bd80dd0
3a4438b
c76f337
aa3478b
b2ddf10
add7886
d9405de
2417818
0def0b1
739931d
f299a64
5aebe9f
e9b742d
7cab0c8
b5d6bd1
55ca949
750b47c
7eda51b
021ad75
34fbc57
e7c0ef8
4187388
938b0fb
10b061a
9eb38a0
f0249ac
73816f9
9f128a1
ec3d22f
d41f826
26f6dca
1ee0684
73119c6
9689b9c
227115a
16edc20
52fc2c6
ce572da
03ae02d
975ba09
ab61dba
5fcab1f
35c54cf
41eb690
4c8a9fa
d1e6d1c
f145848
f90b455
6640e78
85ab376
ed845d4
22614cd
819145f
db3684d
9c7813d
27413e0
5f93b1c
51b786f
a2d7fe9
0a006e0
37f3c36
71ba854
c1f7c2e
4aee98b
4a3a301
66cc566
9011371
e1b965b
4411490
a09df0e
2774a48
095230a
0c1aee9
f6b4f75
349235a
84567d8
098a62e
72e4984
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This includes UBL but unfortunately UBL is rarely a one step leveling process. It usually requires an auto leveling step followed by a manual leveling step. So some additional checking must be done to ensure that UBL is actually one-step (i.e., it can reach all mesh points with the probe) or additional UI must be developed to guide users through the following steps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so then it makes sense to be
HAS_AUTOLEVEL
?as far as I understand it, UBL doesnt have to be followed by manual leveling. the auto level option usually probes all the points, and any points not able to reach, it fills in the unprobed values based on the surrounding probed points, and in my experience with great accuracy.
for Bilinear or UBL, its usually the default, and one and done kind of thing. and if they wanted to check the points or do it manually they have that option as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UBL only fills in the un-probed values when commanded to do so by a call to
G29 P3
. I don't think this old Creality screen implementation does that.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should keep this define. If you've modified the LCD code to call
G29 P1\nG29 P3
for UBL then UBL can be considered "one step" but the ABL options withPROBE_MANUALLY
are definitely not one-step leveling procedures.PROBE_MANUALLY
requires user interaction with the encoder to measure each point and proceed to the next point on click.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not see anywhere in ProUI that
HAS_ONESTEP_LEVELING
is being utilized. its currently defined like this in two seperate files. even the current repo at mriscoc's ProUI doesnt have that and it has no use forPROBE_MANUALLY
. when UBL or ABL is used, its automatically understood you have that option...to use it as a "one step" or not. just like Mesh Bed Leveling.which is also called Manual Mesh Bed Leveling right? since its manually probing the bed without an actual probe.
what is confusing is the
#define PROBE_MANUALLY
option in configuration.h:it sounds like if you have
MESH_BED_LEVELING
, you would want to also enable this. yet in inc/Conditionals_LCD.h:but besides that, a user having ABL or UBL should always have the option to "Probe manually" regardless.
that is how the menu is currently, except for maybe JyersUI. that is a bit confusing to have UBL, but also being able to not having any bed probe defined?
in summary, I think this should be left specifically for
MESH_BED_LEVELING
; if you dont have a probe, that should be your only option for mesh leveling.and in regards to Auto bed leveling w/probe, it should always give you that "probe manually" option anyway in the menu/gcode. in otherwords, if it
HAS_LEVELING
the "probing manually" is always an option.I'm just saying this is how it is set up with ProUI right now
UBL, or ABL
Mesh Bed Leveling, or None
I'm also able to compile using
MESH_BED_LEVELING
while having a probe enabled. is that supposed to be?It seems that things aren't what they used to be, or meant to be anymore. or maybe I have it all wrong. like was
AUTO_BED_LEVELING_UBL
supposed to be used without a bed probe like it can be in JyersUI? if so, why not just useMESH_BED_LEVELING
instead?on a side note, even Mriscoc is phasing out using Bilinear auto bed leveling in favor of UBL. I know their code is different, but on the surface its the same thing. you probe, and you get a mesh.
plus apparently there seems to be some issues with saving the mesh. it doesn't load properly, and you have to manually load settings otherwise you get an invalid mesh.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently the paradigm is different, due to the addition of AML 2.0 support, now all mesh parameters are saved in the UBL slot, so you can have slots with different mesh sizes and mesh densities. You can know how it is working now and the new way of use UBL in the Professional firmware here: https://github.com/mriscoc/Ender3V2S1/wiki/Mesh-Leveling-Menu#ubl
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I picked this line at random to comment on the define, but the general idea is to keep using this define in code that currently uses it, wherever that is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that option is specifically for a machine that has no probe. You can also use
PROBE_MANUALLY
with any ABL option (other than UBL) for a machine that has no probe. In both cases, you send aG29
command to get each point, and keep doing this in a loop until the procedure is completed.See
menu_bed_leveling.cpp
within theANY(PROBE_MANUALLY, MESH_BED_LEVELING)
block to see how this is implemented from the UI.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good that you have a wiki to cover the topic. My aim with ABL Bilinear was to make a leveling system that can be done all in one go based on a mesh that only covers the area of the bed that the probe can reach. It actually is "adaptive" in that you can set the boundaries of the mesh that you want to probe, but it always probes the same number of points.
We have a PR pending to make all leveling systems runtime-configurable in both the boundaries and the number of points in X and Y, but of course it's slow going because every LCD implementation wants to do things its own way. I cannot stress enough how important it is to work with the main Marlin project to standardize these things in the core and not to keep "going it alone." So anything you can do towards that effort would be much appreciated. I would do all of this myself, but daily tasks take up most of the time I would otherwise spend making awesome new code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this quote 😂
oh good, I'm not alone