I've finally root caused an issue which was causing my machine to bang and jerk around. It doesn't do this when I manually zero Z but does when I use the touch-plate.
I notice this bug is in both edge and edge-preview.
_probe_start saves the jerk_max values and _probe_restore_settings restores those values. The issue is that restore directly sets the values rather than calling cm_set_axis_max_jerk which recalculate max_junction_accel. This means max_junction_accel doesn't get restored and the machine continues to use the value calculated we set jerk_max was set to jerk_high for the probing cycle.
I've finally root caused an issue which was causing my machine to bang and jerk around. It doesn't do this when I manually zero Z but does when I use the touch-plate.
I notice this bug is in both edge and edge-preview.
_probe_start saves the jerk_max values and _probe_restore_settings restores those values. The issue is that restore directly sets the values rather than calling cm_set_axis_max_jerk which recalculate max_junction_accel. This means max_junction_accel doesn't get restored and the machine continues to use the value calculated we set jerk_max was set to jerk_high for the probing cycle.