Hello,
The bed level visualizer works very well, but the GCODE example for UBL triggers a bed levelling routine 3 times in a row on my Ender 3 V2 Neo with CR-Touch ABL.
I'm thinking some of the G29 commands that merely want to read data instead trigger the bed levelling routine.
Here's the code, taken from the wiki:
G28 ; home all axes
M420 S0 ; Turning off bed leveling while probing, if firmware is set
; to restore after G28
M155 S30 ; reduce temperature reporting rate to reduce output pollution
M190 S65 ; (optional) wait for the bed to get up to temperature
G29 P1 ; automatically populate mesh with all reachable points
G29 P3 ; infer the rest of the mesh values
G29 P3 ; infer the rest of the mesh values again
@BEDLEVELVISUALIZER ; tell the plugin to watch for reported mesh
M420 S1 V ; enabled leveling and report the new mesh
G29 S0 ; Save UBL mesh points to slot 0 (EEPROM).
G29 F 10.0 ; Set Fade Height for correction at 10.0 mm.
G29 A ; Activate the UBL System.
M500 ; save the current setup to EEPROM
M155 S3 ; reset temperature reporting
M140 S0 ; cooling down the bed
I'm thinking the first 3 G29s trigger the ABL - it's not "inferring" the points, it just measures everything again. Checking the Marlin reference for G29 UBL, "G29 P3" tries to fill unpopulated areas, but on the Ender 3 V2 Neo, it tests the same 16 points every time. There does not seem to be a way of telling it to test other points.
I'll experiment with removing the two "G29 P3" commands and see if I get a current bed level graph with the ABL only triggered once.
Any advice?
Thank you.