aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/kinematics/corexy.py
Commit message (Collapse)AuthorAgeFilesLines
* kinematics: Calculate axis_minimum/axis_maximum in advanceKevin O'Connor2021-01-081-8/+7
| | | | | | | | Calculate the get_status() axis_minimum and axis_maximum fields in advance so that they don't need to be calculated on each get_status() call. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* kinematics: report all axis limits (min/max)Janar Sööt2020-12-281-2/+10
| | | | Signed-off-by: Janar Sööt <janar.soot@gmail.com>
* homing: Remove EndstopErrorKevin O'Connor2020-09-041-1/+1
| | | | | | | There's no reason to distinguish between an EndstopError and a CommandError, so just use CommandError. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Add a move.move_error() helperKevin O'Connor2020-09-031-3/+2
| | | | | | | Move the EndstopMoveError() code from homing.py to a new method in the toolhead Move class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* safe_z_home: Support note_z_not_homed() in kinematics (#2500)David Smith2020-03-011-0/+3
| | | Signed-off-by: David Smith <davidosmith@gmail.com>
* kinematics: Remove support for identifying Z steppersKevin O'Connor2020-01-231-3/+1
| | | | | | | | | The caller can now determine which steppers are connected to cartesian Z movement via the new stepper.is_active_axis() method. It is therefore no longer necessary for the kinematic code to identify these steppers. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Report which axes are homed via get_status()Kevin O'Connor2019-11-241-4/+3
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper: Add get/set_tag_position() and convert calc_position()Kevin O'Connor2019-11-131-2/+2
| | | | | | | | | Rename calc_position() to calc_tag_position() and have it calculate the value of the position from the last stepper set_tag_position() call. This enables the calc_tag_position() code to be more flexible as it can be run with arbitrary positions. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper: Remove add_to_endstop() methodKevin O'Connor2019-11-121-2/+4
| | | | | | | Now that the PrinterStepper and MCU_stepper classes have been merged, there is no need for the add_to_endstop() method. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper_enable: Move motor_off() logic to stepper_enable.pyKevin O'Connor2019-11-121-3/+3
| | | | | | | | Directly disable all the stepper motors on a global motor_off() from the StepperEnable() class in stepper_enable.py. This simplifies the toolhead and kinematic classes. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Rename register_move_handler() to register_step_generator()Kevin O'Connor2019-11-071-1/+1
| | | | | | | Rename the function so it is more clear what the step generation code path is. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Remove kinematic move() callKevin O'Connor2019-11-061-2/+0
| | | | | | | Now that all kinematics use the trapq system, there is no need to call into the kinematics on each g-code move. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* corexy: Convert step generation to use trapq systemKevin O'Connor2019-11-061-23/+5
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* kinematics: Add get_status() method to kinematicsFlorian Heilmann2019-08-091-0/+4
| | | | Signed-off-by: Florian Heilmann <Florian.Heilmann@gmx.net>
* homing: Remove no longer needed homing time delay codeKevin O'Connor2019-07-101-4/+1
| | | | | | | | Now that homing is implemented via "drip moves", it is no longer necessary to round the homing speed and it is no longer necessary to add a delay for cpu processing time. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* corexy: Fix minimum halt velocityKevin O'Connor2019-03-301-2/+3
| | | | | | | | | Due to the corexy kinematics, the individual steppers may have a velocity of sqrt(2) times faster than the cartesian velocity _and_ can have an acceleration of sqrt(2) times faster. Make sure to calculate in the higher acceleration. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Move homing offset adjustment logic to generic homing codeKevin O'Connor2018-10-101-4/+0
| | | | | | | Move the "stepper phase" adjustment logic from the kinematic classes to the generic homing.py code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Implement second home from homing.pyKevin O'Connor2018-10-101-29/+12
| | | | | | | Move the logic for performing the second home from the kinematics classes to the generic homing code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* cartesian: Use homing_speed for homing retract speedKevin O'Connor2018-10-091-1/+1
| | | | | | | | Commit b0d859f2 introduced a second_homing_speed parameter, and it also changed the retract speed. Revert the retract speed change (use homing_speed when the head retracts). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* cartesian: Make sure to constrain second_homing_speed to max_z_velocityKevin O'Connor2018-10-081-0/+2
| | | | | | | Commit b0d859f2 introduced a second_homing_speed parameter; that parameter needs to also be constrained to the max_z_velocity. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper: Adding support for a second_homing_speed parameter (#677)Chris Whiteford2018-10-041-2/+3
| | | Signed-off-by: Chris Whiteford <chris@chrisandtennille.com>
* kinematics: Convert get_rails() method to get_steppers()Kevin O'Connor2018-07-161-3/+3
| | | | | | | All callers of get_rails() actually just want the steppers, so return them directly. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Enhance itersolve stepper kinematics allocationKevin O'Connor2018-07-131-8/+6
| | | | | | | Allocate the stepper_kinematics directly in mcu.py - that way the kinematic classes don't have to interact with the chelper code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Fill cmove in toolhead instead of in each kinematic classKevin O'Connor2018-07-131-9/+1
| | | | | | This simplifies the kinematic classes. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Move kinematic modules to new kinematics/ directoryKevin O'Connor2018-07-121-0/+146
Move extruder.py, cartesian.py, corexy.py, and delta.py to a new kinematics/ sub-directory. This is intended to make adding new kinematics a little easier. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>