aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/cartesian.py
Commit message (Collapse)AuthorAgeFilesLines
...
* toolhead: Store both the start and end position in the Move classKevin O'Connor2016-10-251-6/+8
| | | | | | | | Store the start position (in addition to the existing end position) in the Move class. The start position can be useful to the kinematic classes. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper: Return homing offset in steps instead of an absolute positionKevin O'Connor2016-10-131-1/+2
| | | | | | | | | | Rename get_homed_position() to get_homed_offset() and return the endstop position delta in steps instead of an absolute position relative to position_endstop. The conversion to absolute positions can be dependent on the type of kinematics in use, so is inappropriate to do in the low level stepper.py code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* cartesian: Enforce endstop min and max boundariesKevin O'Connor2016-09-301-0/+17
| | | | | | | Verify that each move command is within range of the configured minimum and maximum for each axis. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Allow kinematics class to verify the move prior to queuing itKevin O'Connor2016-09-301-8/+13
| | | | | | | | | | | | Introduce a check_move() method in the extruder and cartesian kinematic classes. This allows the lower level classes to verify the contents of the move prior to queing that move. The speed and acceleration handling for special Z and extrude only moves are also moved from the generic toolhead class to the low-level classes. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Support querying the current status of endstopsKevin O'Connor2016-09-221-0/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* cartesian: Minor change to clarify end stop homing direction codeKevin O'Connor2016-09-151-2/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: convert stepper, endstop, and digital_out to take mcu_timeKevin O'Connor2016-08-241-13/+12
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper: Support stepper phase adjustments when homingKevin O'Connor2016-07-281-0/+2
| | | | | | | Add support for enhancing the precision of endstop switches by also inspecting the phase of the stepper motor when the endstop triggers. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* homing: Move low-level coordinate manipulation to kinematic classKevin O'Connor2016-07-251-4/+27
| | | | | | | Rework the code so that the kinematic class (currently just cartesian.py) has more control over the homing process. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper: Have caller calculate max jerk velocityKevin O'Connor2016-07-221-0/+2
| | | | | | | | | | Allow the owner of the stepper object to cacluate the maximum step jerk velocity. This is used to ensure there is no communication error between mcu and host. Disable checking of jerk velocity for extruder stepper motors. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* extruder: Create a new class and python file to track the printer extruderKevin O'Connor2016-07-101-6/+3
| | | | | | | | | Create a new python file (extruder.py) to control the extruder heater and stepper motors. This separates the extruder control logic from the cartesian robot code - making it easier to customize both the kinematic control of the robot as well as the extruder. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stepper: Store max_velocity/max_accel instead of max_step_velocity/accelKevin O'Connor2016-07-101-13/+7
| | | | | | | | All users of max_step_velocity and max_step_accel end up multiplying by step_dist anyway, so it's easier to store max_velocity and max_accel. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Split toolhead code from cartesian.py to new file toolhead.pyKevin O'Connor2016-07-101-195/+3
| | | | | | Separate out the toolhead logic to its own python file. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* cartesian: Separate out cartesian robot handling from ToolHead classKevin O'Connor2016-07-101-90/+112
| | | | | | | Separate out the low-level stepper motor kinematics handling from the ToolHead class into its own class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* cartesian: Rename CartKinematics class to ToolHeadKevin O'Connor2016-07-101-13/+13
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* cartesian: Do acceleration and lookahead on requested coordinatesKevin O'Connor2016-07-101-51/+64
| | | | | | | | | Perform all acceleration calculations and lookahead checks in millimeters using the cartesian coordinate system of the request. The conversion to step coordinates is now done at the time of the step timing creation. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Initial commit of source code.Kevin O'Connor2016-05-251-0/+252
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>