Probe ignoring stow_on_each_sample = false during mesh calibration (bed crash)

Ender 5 Pro
BTT SKR Mini E3 V3
Raspberry Pi 4B 4GB
CR Touch
klippy.log (348.6 KB)

When doing a 10x10 mesh the probe will retract after the 94th point before trying to probe the 95th point. It will then attempt to probe the 95th point while the probe is stowed causing “no trigger on probe after full movement” and crashing my bed.

I’ve been using Klipper for a couple months now and haven’t had any issues generating 3x3 and 5x5 meshes. I got a new bed surface today and was calibrating with a 10x10 mesh for the first time when I encountered this issue.

I’ve reproduced the problem 5-6 times, and the behavior is always the same on this 94th probe point.

I’ve been searching the config reference for something like a max probe limit, but haven’t found anything useful. Any ideas?

EDIT: While investigating I found some additional info. The failure was reproduced at least twice for each bed mesh size below, and the failure occurs at the same point each time.

9x9 succeeds (reproduced 2 times)
10x10 fails on the 95th point (reproduced 5-6 times)
11x11 fails on the 96th point (reproduced 2 times)
20x20 fails on the 109th point (reproduced 2 times)

EDIT 2: Adjusted the subject to make it highlight the problem more clearly.

See if bl-touch-clones helps

Thank you for the suggestion.

I did read this section while investigating the issue. I didn’t see anything that could alleviate the problem, unless I’m misunderstanding the information. I’m afraid I’m still pretty new to 3D printing and learning the terminology. E.g. I can’t find a definition for “touch_mode” anywhere and have no idea how this affects operation of the probe. Do you think I missed something in the article?

Here https://www.reddit.com/r/klippers/comments/qe6qkn/comment/hhrltd3/ is a successful 20x20 described. I guess you have to find the reason for “No trigger on probe after full movement”.

Maybe you do a new Probe calibration

Good luck, hcet14

You also can try by increasing horizontal_move_z = 7 in [bed_mesh]

Sometimes just a try brings an enlightenment.

I know the reason for this error. I have stow_on_each_sample = false, so the probe remains out while performing the calibration. However, at the same point (every time), depending on the size of the mesh, the probe will retract itself and attempt to probe the next point while the probe is retracted.

The real question is, “Why is the probe ignoring the stow_on_each_sample = false when the mesh size is 10x10 or larger?”

1 Like

Don’t know! Stow_on_each_sample increase probe raise/hop distant?

Try decreasing position_min = -1 to -2

I appreciate the suggestion, but this will not solve the problem.

The position_min is irrelevant if the probe is stowed. It’s impossible for the probe to trigger if it’s stowed, obviously, so no matter how far the z-axis moves there will never be a trigger.

The problem to solve is: Why does the probe stow mid-calibration even though stow_on_each_sample = false?

It will stow at the same point each time, depending on the size of the mesh.

I thought it might have something to do with memory… like it can only store so many points, but if this were the case it would always stow on the 94th point. On a 20x20 mesh it stowes on the 108th point, so clearly it can store more than 94.

It’s not a mechanical/connection issue or a) it would fail at different points, or b) it would fail around the same area of the bed (where strain on wires loosen the connection), but clearly this isn’t it either since the failure points are consistent, and I’m able to complete other mesh sizes that cover the entire build plate without issue.

I’m totally stumped.