I am trying to debug an issue with an extension that has to do with using the probe as a virtual endstop.
The relevant sections of the config are:
[stepper_z]
step_pin: PB3
dir_pin: PB2
enable_pin: PA5
endstop_pin: probe:z_virtual_endstop
microsteps: 32
full_steps_per_rotation: 200
rotation_distance: 8
#position_endstop: 0.0
position_max: 250
position_min: -2
[probe]
pin: PG15
x_offset: 0
y_offset: 0.0
z_offset: 10.0
speed: 5.0
lift_speed: 80.0
samples: 3
samples_result: median
sample_retract_dist: 1.2
samples_tolerance: 0.006
samples_tolerance_retries: 3
What I am seeing has to do with the bed position after the initial probe trigger. When homing X or Y, what I see is
printer probe: (0.0, 0.0, 10.0)
toolhead set_position [450.0, 0.0, 0.0, 0.0] x
move: start [450.0, 0.0, 0.0, 0.0], end [0.0, 0.0, 0.0, 0.0]
toolhead set_position [0.0, 0.0, 0.0, 0.0]
That makes sense. Klipper sets the forcepos to 1.5 times the length of the axis and then drip moves until the endstop triggers. At that point, it sets the toolhead position to 0.0.
However, when it is homing Z, I get:
_do_home_z_via_probe: homing_info(speed=5.0, position_endstop=10.0, retract_speed=5.0, retract_dist=5.0, positive_dir=False, second_homing_speed=2.5)
_do_home_z_via_probe: start position [None, None, 370.0, None]
toolhead set_position [0.0, 0.0, 370.0, 0.0] z
descend_until_trigger [0.0, 0.0, -2.0, 0.0]
move: start [0.0, 0.0, 370.0, 0.0], end [0.0, 0.0, -2.0, 0.0]
toolhead set_position [0.0, 0.0, 354.01875, 0.0]
descend_until_trigger: probe_result(bed_x=0.0, bed_y=0.0, bed_z=344.02375, test_x=0.0, test_y=0.0, test_z=354.02375)
_probing_home: probe_result(bed_x=0.0, bed_y=0.0, bed_z=344.02375, test_x=0.0, test_y=0.0, test_z=354.02375)
_probing_home (result): [0.0, 0.0, 354.01875, 0.0]
_probing_home (toolhead): [0.0, 0.0, 9.995000000000005, 0.0]
toolhead set_position [0.0, 0.0, 9.995000000000005, 0.0]
_do_home_z_via_probe (retract): [None, None, 370.0, None] [None, None, 10.0, None]
_retract_move: [0.0, 0.0, 15.0, 0.0]
move: start [0.0, 0.0, 9.995000000000005, 0.0], end [0.0, 0.0, 15.0, 0.0]
First, it sets the toolhead position to 1.5 times the length of the Z axis, then drip moves to -2 (position_min). But when the probe triggers, it sets the toolhead position to 370 - distance traveled. Why is that? Why doesn’t set the position to 0.0?
Also, after it retracts and probes again, why does it set the toolhead position to the probe offset instead of 0?
