jneilliii / OctoPrint-BedLevelVisualizer

MIT License
372 stars 82 forks source link

[FR]: Report and record gantry level accuracy #617

Open RatchetHamster opened 1 year ago

RatchetHamster commented 1 year ago

Is your feature request related to a problem? Please describe.

No, no bugs

Describe the solution you'd like

A simple value box that can extract and record the last known accuracy of a G34 iteration (gantry level for dual z steppers, independently driven)

Describe alternatives you've considered

Scroll through the terminal

Additional context

I do a lot of small prints and I don't bed level with each print, I just do detailed ones periodically. Before G29, I do a G34 and it would be really cool to have all the info of the accuracy achieved in one place if possible.

jneilliii commented 1 year ago

Since I don't have a second z stepper driver to control individually I don't have G34 support so don't know how the output is. How would you invision this information to be visualized?

RatchetHamster commented 1 year ago

Was thinking either just a box with a single value for current accuracy or a convergence graph. Ah ok will be hard to test, I will see if I can get hold of the source code and have a bash at putting something together.

On Thu, 1 Jun 2023, 12:37 jneilliii, @.***> wrote:

Since I don't have a second z stepper driver to control individually I don't have G34 support so don't know how the output is. How would you invision this information to be visualized?

— Reply to this email directly, view it on GitHub https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/617#issuecomment-1571875659, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWUX2N7IXWK7BJFYEF6C6MDXJB5F7ANCNFSM6AAAAAAYWSWNLM . You are receiving this because you authored the thread.Message ID: @.***>

jneilliii commented 1 year ago

I can easily handle the coding side, because the plugin is a mess supporting so many variants of mesh reports from different firmware. I just needed a rough idea of how it should look and where in the current layout as well as how the commands respond in the terminal tab when you send them.

RatchetHamster commented 1 year ago

Fair enough.

I have attached a file called "G34 I8.txt" which is the terminal output when I send "G34 I8" to the printer. Note: my accuracy is 0.03mm, and if it achieves that accuracy early it does not do all iterations.

If you are adding a box - another suggestion for a box alongside it to include Probe Repeatability check. I have attached "G48 P5 X120 Y110.txt" as well for the output from that - but I am sure you have a probe anyway.

Obviously both of these values are just "last known values", but cool information to have to hand and check out.

The whole plugin is awesome by the way! Custom commands it a great to have as well!

Kind Regards,

Janner

On Thu, Jun 1, 2023 at 10:34 PM jneilliii @.***> wrote:

I can easily handle the coding side, because the plugin is a mess supporting so many variants of mesh reports from different firmware. I just needed a rough idea of how it should look and where in the current layout as well as how the commands respond in the terminal tab when you send them.

— Reply to this email directly, view it on GitHub https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/617#issuecomment-1572818670, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWUX2NZSPEQPI6JVWOVPUTTXJEDHFANCNFSM6AAAAAAYWSWNLM . You are receiving this because you authored the thread.Message ID: @.***>

Send: M48 P5 X120 Y110 Recv: M48 Z-Probe Repeatability Test Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.34 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.34 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.34 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.50 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.50 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.34 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.50 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.34 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.34 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.50 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.34 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: Finished! Recv: Mean: 0.007724 Min: 0.007 Max: 0.010 Range: 0.003 Recv: Standard Deviation: 0.001057 Recv: Recv: X:163.00 Y:119.00 Z:11.20 E:0.00 Count X:13074 Y:9545 Z:4526 Recv: ok Send: G34 I8 Recv: echo:busy: processing Printer seems to support the busy protocol, will adjust timeouts and set busy interval accordingly Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: X:153.00 Y:119.00 Z:11.20 E:0.00 Count X:12272 Y:9545 Z:4526 Recv: Recv: G34 Iteration: 1 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.81 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: Recv: Z2-Z1=0.03 Recv: Recv: G34 Iteration: 2 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: Recv: Z2-Z1=0.02 Recv: Target accuracy achieved. Recv: Did 2 of 8 Recv: Accuracy: 0.02 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.97 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: X:153.00 Y:119.00 Z:11.20 E:0.00 Count X:12272 Y:9545 Z:4526 Recv: ok Send: M113 S2 Recv: ok

jneilliii commented 1 year ago

Recv: Target accuracy achieved. Recv: Did 2 of 8 Recv: Accuracy: 0.02 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.97 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: X:153.00 Y:119.00 Z:11.20 E:0.00 Count X:12272 Y:9545 Z:4526 Recv: ok

I find this bit interesting at the end. What is the printer doing during this last bit of "busy: processing" until the ok is received?

RatchetHamster commented 1 year ago

So it does the Gantry level where it moves left to right. Then once the accuracy is achieved, I have "#define HOME_AFTER_G34" uncommented in my marlin, so it homes all axis. Just after it has finished homing it gives the " Recv: X:153.00 Y:119.00 Z:11.20 E:0.00 Count X:12272 Y:9545 Z:4526" line, then "ok" followed by the "M113 S2" and another "ok". So I think these commands are issued when the G34 has finished processing.

Kind Regards,

Janner

On Sat, Jun 3, 2023 at 8:59 PM jneilliii @.***> wrote:

Recv: Target accuracy achieved. Recv: Did 2 of 8 Recv: Accuracy: 0.02 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.97 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.66 /0.00 B:22.66 /0.00 @:0 B@:0 Recv: echo:busy: processing Recv: T:22.50 /0.00 B:22.81 /0.00 @:0 B@:0 Recv: X:153.00 Y:119.00 Z:11.20 E:0.00 Count X:12272 Y:9545 Z:4526 Recv: ok

I find this bit interesting at the end. What is the printer doing during this last bit of "busy: processing" until the ok is received?

— Reply to this email directly, view it on GitHub https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/617#issuecomment-1575165748, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWUX2NYDMFJA34ZFQZHIEY3XJOJTDANCNFSM6AAAAAAYWSWNLM . You are receiving this because you authored the thread.Message ID: @.***>