aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/homing.py
Commit message (Collapse)AuthorAgeFilesLines
* Run black on all first party python codeTomasz Kramkowski2025-08-061-63/+118
|
* kinematics: Generic Cartesian kinematics implementation (#6815)Dmitry Butyugin2025-05-061-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 <dmbutyugin@google.com>
* toolhead: Pass set_position() homing_axes parameter as a stringKevin O'Connor2025-01-211-2/+3
| | | | | | | | Use strings such as "xyz" to specify which axes are to be considered homing during a set_position() call. This makes the parameter a little less cryptic. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Log a warning if probe alters stepper kinematic positionsKevin O'Connor2024-10-261-2/+12
| | | | | | | | | After a probe attempt the toolhead position needs to be recalculated to the position that the toolhead ultimately halted at. Check that the position setting wouldn't actually change the internal view of the stepper motor and log a warning if any skew is detected. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Raise an error on a failed home_wait() callKevin O'Connor2024-05-211-3/+6
| | | | | | | Raise a printer.command_error exception if a home_wait() call fails. This makes it easier to support future types of homing errors. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Fix bug in multi_complete()Kevin O'Connor2022-05-131-1/+2
| | | | | | Reported by @skrogh. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Fix error in retract move causing "must home axis" errorsKevin O'Connor2021-08-281-12/+15
| | | | | | | | | It's possible for the original homing move of an axis to alter the position of other axes. Make sure those other axes are not requested to move on a subsequent second home retract move, as that could cause an error if those other axes have not been homed. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* endstop_phase: Calculate phase based on trigger positionKevin O'Connor2021-08-171-10/+16
| | | | | | | Update the endstop_phase code to use the phase of the stepper motor at the endstop trigger time. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Calculate homing position based on trigger timeKevin O'Connor2021-08-171-19/+54
| | | | | | | | | Calculate the "homing position" using the endstop trigger time instead of the position of the steppers. This is in preparation for multi-mcu homing. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Return time of trigger from home_wait()Kevin O'Connor2021-08-171-3/+5
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Improve error messages on a printer shutdown during homingKevin O'Connor2021-08-061-3/+18
| | | | | | | | If a shutdown occurs during homing, make sure any follow up errors are clear that the cause of the error is the shutdown. This suppresses the confusing "Unable to obtain 'trsync_state' response" messages. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Check for failures during multi-endstop homingKevin O'Connor2021-06-091-2/+7
| | | | | | If any endstop reports a failure, then stop homing on all endstops. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper: Remove set_tag_position() codeKevin O'Connor2021-05-291-10/+15
| | | | | | Have callers store the stepper positions in a dict. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Pass the HomingMove class to homing_move_begin/end eventsKevin O'Connor2021-03-291-4/+4
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Move homing logic from manual_stepper.py to homing.pyKevin O'Connor2021-03-291-16/+27
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Extract out movement verification to new check_no_movement()Kevin O'Connor2021-03-291-19/+22
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Separate homing/probing movement logic to its own classKevin O'Connor2021-03-291-29/+37
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Move home_axes() into cmd_G28()Kevin O'Connor2021-03-291-8/+7
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Minor simplification of verify_movement trackingKevin O'Connor2021-03-291-7/+4
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Move low-level probing logic from probe.py to homing.pyKevin O'Connor2021-03-291-5/+9
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Fix references to CommandError()Kevin O'Connor2021-01-111-6/+7
| | | | | | | | Commit ea85d419 moved CommandError from homing.py to gcode.py, but failed to fix the references to CommandError within homing.py. Fix that. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Make homing.py an "extras" moduleKevin O'Connor2021-01-081-0/+182
Move klippy/homing.py to klippy/extras/homing.py and convert the code to an "extras" modules. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>