Possible to display the four auto-leveling values?

After G29 in startup is it possible to display the four registered z values as determined by inserting four lines of Gcode within the auto-leveling sequence? …sorta like:

;This G-Code has been generated specifically for the LulzBot Mini 2

G29 ; start auto-leveling sequence
M117 back left…(? Value)
M117 front left…(? Value)
M117 front right…(? Value)
M117 back right…(? Value)

M425 Z ; use measured Z backlash for compensation
M425 Z F0 ; turn off measured Z backlash compensation. (if activated in the quality settings, this command will automatically be ignored)
M204 S2000 ; restore standard acceleration
G1 X5 Y15 Z10 F5000 ; move up off last probe point
G4 S1 ; pause
M400 ; wait for moves to finish

???

Change the “G29” to “G29 V4” or issue the command “M420 V”.

@bimorgan
When you write, “issue the command M420 V”, do you mean that I insert as line of Gcode or is there a CURA tool that I haven’t learned about?

I would insert that gcode into the leveling gcode.

It depends on if the application you use to connect to the printer displays the communications between it and the printer. If it does, the easiest is to change the “G29” in the start gcode to “G29 V4”. Alternatively, you can add “M420 V” to the start gcode.

If your application doesn’t normally display the communications but does have the ability to send gcode commands to the printer (and display the results), then “M420 V” is the command to send (because sending a “G29 V4” will redo the leveling).

If your application doesn’t support either of the above options, then you may need a different application. Let us know what you are using and what OS is running on the connecting computer and we may be able to recommend something better.

Thanks for your suggestions!
I’m running CURA 3.2.23 in Windows10

With CuraLE 3.2.32 (don’t know if your version is a typo) on Windows 10, here’s what I did to get the auto-leveling values on my TAZ 6

  1. Open CuraLE and click on Monitor
  2. Under Manual Control (on the right) click on Connect and then click on Console
  3. In the Printer control window (unclick Show debug messages) type the commands below ignoring the ; and the rest of the comment
  4. M155 S0 ; Turn off temperature reporting
  5. G28 XY ; Home X and Y
  6. G28 Z ; Home Z
  7. G29 V4 ; Auto level bed and report results
  8. M420 V ; Report state of auto leveling and reprint the correction matrix

I was wrong about “M420 V” reporting the 4 corner values, it only reports the correction matrix and the state.

Unfortunately, I don’t believe CuraLE supports writing the console output to a file so changing the G29 in the start gcode to G29 V4 requires some quick reading while an actual print is sent to the printer. You could try adding a “G4 S30 ; Pause for 30 seconds” after the G29 V4 so you can examine the output (change 30 to whatever you want).

My printer is normally connected to OctoPrint (TAZ 6 connected to a Raspberry Pi) and it has the option to save the communications to a file. I temporarily moved it to my Desktop to verify this post.

Hey Thanks!
Only that back right region is where I’m having small parts fail to adhere. Looks to be at a greater variance than the other three… See anything here that might be out of range for the correction code to correct?? As far as I can tell by feel, all four washers are torqued the same. Need a torque driver? Uneven build plate temp?? Something’s not well tuned.

[19:57:27] G29 V4
< [19:57:29] G29 Auto Bed Leveling
< [19:57:43] Bed X: -3.000 Y: 168.000 Z: -1.640 (Back Left)
< [19:57:51] Bed X: -3.000 Y: -4.000 Z: -1.309 (Front Left)
< [19:57:59] Bed X: 163.000 Y: -4.000 Z: -1.769 (Front Right)
< [19:58:07] Bed X: 163.000 Y: 168.000 Z: -2.443 (Back Right)
< [19:58:07] 4th probe point, distance from plane: 0.34
< [19:58:07]
< [19:58:07] Eqn coefficients: a: -0.00380422 b: -0.00292151 d: -1.24634838
< [19:58:07] Mean of sampled points: -1.79025006
< [19:58:07]
< [19:58:07] Bed Height Topography:
< [19:58:07] ±-- BACK --+
< [19:58:07] | |
< [19:58:07] L | (+) | R
< [19:58:07] E | | I
< [19:58:07] F | (-) N (+) | G
< [19:58:07] T | | H
< [19:58:07] | (-) | T
< [19:58:07] | |
< [19:58:07] O-- FRONT --+
< [19:58:07] (0,0)
< [19:58:07] +0.15025 -0.65275
< [19:58:07] +0.48125 +0.02125
< [19:58:07]
< [19:58:07]
< [19:58:07] Corrected Bed Height vs. Bed Topology:
< [19:58:07] +0.17150 +0.00000
< [19:58:07] +0.00001 +0.17151

B-morgan,

Looks like you have figured out lots of neat ways to run the Lulzbot. I am stuck with one for a research project. Time is of the essence and I’d like to be smart about the autoleveling. I mean, I just can’t imagine the settings would change that much in one day. I wish to run an autoleveling sequence once a day (or so), record the leveling values, and then load those saved values for each print thus skipping auto-leveling for most. It appears some of the G-code you and others have mentioned on the forum will do just that. Here’s what I’m going to try:

  1. Write bed leveling script for card: “First catch of the day”
    1. G29 V4 (auto-level and reports values)
    2. M500 (saves values)
    3. M420 V (reports values again)
  2. remove auto-leveling from routine prints in machine settings
    1. G28 (skips auto-leveling)
    2. M420 S1 (loads values)
    3. M420 V (reports values)
  3. Always record the M420 V values for the day and confim what you are using on each print.

What you propose should work but unless the objects you are printing are trivial, I’m not sure the time used by a G29 is a significant portion of the total print time.