mirror of
				https://github.com/Klipper3d/klipper.git
				synced 2025-10-31 02:15:52 +01:00 
			
		
		
		
	stepper: Make sure to reload trapq in set_stepper_kinematics()
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
		| @@ -39,7 +39,6 @@ class ForceMove: | |||||||
|         self.trapq_free_moves = ffi_lib.trapq_free_moves |         self.trapq_free_moves = ffi_lib.trapq_free_moves | ||||||
|         self.stepper_kinematics = ffi_main.gc( |         self.stepper_kinematics = ffi_main.gc( | ||||||
|             ffi_lib.cartesian_stepper_alloc('x'), ffi_lib.free) |             ffi_lib.cartesian_stepper_alloc('x'), ffi_lib.free) | ||||||
|         ffi_lib.itersolve_set_trapq(self.stepper_kinematics, self.trapq) |  | ||||||
|         # Register commands |         # Register commands | ||||||
|         gcode = self.printer.lookup_object('gcode') |         gcode = self.printer.lookup_object('gcode') | ||||||
|         gcode.register_command('STEPPER_BUZZ', self.cmd_STEPPER_BUZZ, |         gcode.register_command('STEPPER_BUZZ', self.cmd_STEPPER_BUZZ, | ||||||
| @@ -80,6 +79,7 @@ class ForceMove: | |||||||
|         toolhead = self.printer.lookup_object('toolhead') |         toolhead = self.printer.lookup_object('toolhead') | ||||||
|         toolhead.flush_step_generation() |         toolhead.flush_step_generation() | ||||||
|         prev_sk = stepper.set_stepper_kinematics(self.stepper_kinematics) |         prev_sk = stepper.set_stepper_kinematics(self.stepper_kinematics) | ||||||
|  |         prev_trapq = stepper.set_trapq(self.trapq) | ||||||
|         stepper.set_position((0., 0., 0.)) |         stepper.set_position((0., 0., 0.)) | ||||||
|         axis_r, accel_t, cruise_t, cruise_v = calc_move_time(dist, speed, accel) |         axis_r, accel_t, cruise_t, cruise_v = calc_move_time(dist, speed, accel) | ||||||
|         print_time = toolhead.get_last_move_time() |         print_time = toolhead.get_last_move_time() | ||||||
| @@ -88,6 +88,7 @@ class ForceMove: | |||||||
|         print_time = print_time + accel_t + cruise_t + accel_t |         print_time = print_time + accel_t + cruise_t + accel_t | ||||||
|         stepper.generate_steps(print_time) |         stepper.generate_steps(print_time) | ||||||
|         self.trapq_free_moves(self.trapq, print_time + 99999.9) |         self.trapq_free_moves(self.trapq, print_time + 99999.9) | ||||||
|  |         stepper.set_trapq(prev_trapq) | ||||||
|         stepper.set_stepper_kinematics(prev_sk) |         stepper.set_stepper_kinematics(prev_sk) | ||||||
|         toolhead.note_kinematic_activity(print_time) |         toolhead.note_kinematic_activity(print_time) | ||||||
|         toolhead.dwell(accel_t + cruise_t + accel_t) |         toolhead.dwell(accel_t + cruise_t + accel_t) | ||||||
|   | |||||||
| @@ -124,8 +124,9 @@ class MCU_stepper: | |||||||
|         old_sk = self._stepper_kinematics |         old_sk = self._stepper_kinematics | ||||||
|         self._stepper_kinematics = sk |         self._stepper_kinematics = sk | ||||||
|         if sk is not None: |         if sk is not None: | ||||||
|             self._ffi_lib.itersolve_set_stepcompress( |             self._ffi_lib.itersolve_set_stepcompress(sk, self._stepqueue, | ||||||
|                 sk, self._stepqueue, self._step_dist) |                                                      self._step_dist) | ||||||
|  |             self.set_trapq(self._trapq) | ||||||
|         return old_sk |         return old_sk | ||||||
|     def note_homing_end(self, did_trigger=False): |     def note_homing_end(self, did_trigger=False): | ||||||
|         ret = self._ffi_lib.stepcompress_reset(self._stepqueue, 0) |         ret = self._ffi_lib.stepcompress_reset(self._stepqueue, 0) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user