diff options
author | Dmitry Butyugin <dmbutyugin@google.com> | 2024-07-11 20:43:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-11 14:43:21 -0400 |
commit | c84d78f3f169bc5163d11b74837f9880b0b7dba4 (patch) | |
tree | 722fac53025245b77d8e9efaf9c6987dc7a41a96 /klippy/kinematics | |
parent | 248d3dbf8bcda69a51e3a303862bbcc64a32119d (diff) | |
download | kutter-c84d78f3f169bc5163d11b74837f9880b0b7dba4.tar.gz kutter-c84d78f3f169bc5163d11b74837f9880b0b7dba4.tar.xz kutter-c84d78f3f169bc5163d11b74837f9880b0b7dba4.zip |
extruder: Allow dynamic adjustment of pressure advance (#6635)
Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
Diffstat (limited to 'klippy/kinematics')
-rw-r--r-- | klippy/kinematics/extruder.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/klippy/kinematics/extruder.py b/klippy/kinematics/extruder.py index 69240037..7fb2e7ed 100644 --- a/klippy/kinematics/extruder.py +++ b/klippy/kinematics/extruder.py @@ -18,7 +18,7 @@ class ExtruderStepper: self.stepper = stepper.PrinterStepper(config) ffi_main, ffi_lib = chelper.get_ffi() self.sk_extruder = ffi_main.gc(ffi_lib.extruder_stepper_alloc(), - ffi_lib.free) + ffi_lib.extruder_stepper_free) self.stepper.set_stepper_kinematics(self.sk_extruder) self.motion_queue = None # Register commands @@ -71,11 +71,14 @@ class ExtruderStepper: if not pressure_advance: new_smooth_time = 0. toolhead = self.printer.lookup_object("toolhead") - toolhead.note_step_generation_scan_time(new_smooth_time * .5, - old_delay=old_smooth_time * .5) + if new_smooth_time != old_smooth_time: + toolhead.note_step_generation_scan_time( + new_smooth_time * .5, old_delay=old_smooth_time * .5) ffi_main, ffi_lib = chelper.get_ffi() espa = ffi_lib.extruder_set_pressure_advance - espa(self.sk_extruder, pressure_advance, new_smooth_time) + toolhead.register_lookahead_callback( + lambda print_time: espa(self.sk_extruder, print_time, + pressure_advance, new_smooth_time)) self.pressure_advance = pressure_advance self.pressure_advance_smooth_time = smooth_time cmd_SET_PRESSURE_ADVANCE_help = "Set pressure advance parameters" |