From cc6736c3e35cb6f6e660d973be67ab4cef78ffb9 Mon Sep 17 00:00:00 2001 From: Dmitry Butyugin Date: Wed, 7 May 2025 00:06:36 +0200 Subject: kinematics: Generic Cartesian kinematics implementation (#6815) * tests: Added a regression test for generic_cartesian kinematics * kinematics: An intial implementation of generic_cartesian kinematics * generic_cartesian: Refactored kinematics configuration API * generic_cartesian: Use stepper instead of kinematic_stepper in configs * generic_cartesian: Added SET_STEPPER_KINEMATICS command * generic_cartesian: Fixed parsing of section names * docs: Generic Caretsian kinematics documentation and config samples * generic_cartesian: Implemented multi-mcu homing validation * generic_cartesian: Fixed typos in docs, minor fixes * generic_cartesian: Renamed `kinematics` option to `carriages` * generic_cartesian: Moved kinematic_stepper.py file * idex_modes: Internal refactoring of handling dual carriages * stepper: Refactored the code to not store a reference to config object * config: Updated example-generic-cartesian config * generic_cartesian: Restricted SET_STEPPER_CARRIAGES and exported status * idex_modes: Fixed handling stepper kinematics with input shaper enabled * config: Updated configs and tests for SET_DUAL_CARRIAGE new params * generic_cartesian: Avoid inheritance in the added classes Signed-off-by: Dmitry Butyugin --- klippy/extras/endstop_phase.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'klippy/extras/endstop_phase.py') diff --git a/klippy/extras/endstop_phase.py b/klippy/extras/endstop_phase.py index 2c7468bc..689ec4fa 100644 --- a/klippy/extras/endstop_phase.py +++ b/klippy/extras/endstop_phase.py @@ -52,7 +52,7 @@ class PhaseCalc: class EndstopPhase: def __init__(self, config): self.printer = config.get_printer() - self.name = config.get_name().split()[1] + self.name = " ".join(config.get_name().split()[1:]) # Obtain step_distance and microsteps from stepper config section sconfig = config.getsection(self.name) rotation_dist, steps_per_rotation = stepper.parse_step_distance(sconfig) @@ -118,7 +118,7 @@ class EndstopPhase: return delta * self.step_dist def handle_home_rails_end(self, homing_state, rails): for rail in rails: - stepper = rail.get_steppers()[0] + stepper = rail.get_endstops()[0][0].get_steppers()[0] if stepper.get_name() == self.name: trig_mcu_pos = homing_state.get_trigger_position(self.name) align = self.align_endstop(rail) -- cgit v1.2.3-70-g09d2