aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/extras')
-rw-r--r--klippy/extras/resonance_tester.py5
-rw-r--r--klippy/extras/shaper_calibrate.py12
2 files changed, 17 insertions, 0 deletions
diff --git a/klippy/extras/resonance_tester.py b/klippy/extras/resonance_tester.py
index 819d8155..d5f43b77 100644
--- a/klippy/extras/resonance_tester.py
+++ b/klippy/extras/resonance_tester.py
@@ -287,6 +287,8 @@ class ResonanceTester:
if not self.is_valid_name_suffix(name_suffix):
raise gcmd.error("Invalid NAME parameter")
+ input_shaper = self.printer.lookup_object('input_shaper', None)
+
# Setup shaper calibration
helper = shaper_calibrate.ShaperCalibrate(self.printer)
@@ -306,6 +308,9 @@ class ResonanceTester:
"Recommended shaper_type_%s = %s, shaper_freq_%s = %.1f Hz"
% (axis_name, best_shaper.name,
axis_name, best_shaper.freq))
+ if input_shaper is not None:
+ helper.apply_params(input_shaper, axis_name,
+ best_shaper.name, best_shaper.freq)
helper.save_params(configfile, axis_name,
best_shaper.name, best_shaper.freq)
csv_name = self.save_calibration_data(
diff --git a/klippy/extras/shaper_calibrate.py b/klippy/extras/shaper_calibrate.py
index 4ac58970..af77845c 100644
--- a/klippy/extras/shaper_calibrate.py
+++ b/klippy/extras/shaper_calibrate.py
@@ -334,6 +334,18 @@ class ShaperCalibrate:
configfile.set('input_shaper', 'shaper_freq_'+axis,
'%.1f' % (shaper_freq,))
+ def apply_params(self, input_shaper, axis, shaper_name, shaper_freq):
+ if axis == 'xy':
+ self.apply_params(input_shaper, 'x', shaper_name, shaper_freq)
+ self.apply_params(input_shaper, 'y', shaper_name, shaper_freq)
+ return
+ gcode = self.printer.lookup_object("gcode")
+ axis = axis.upper()
+ input_shaper.cmd_SET_INPUT_SHAPER(gcode.create_gcode_command(
+ "SET_INPUT_SHAPER", "SET_INPUT_SHAPER", {
+ "SHAPER_TYPE_" + axis: shaper_name,
+ "SHAPER_FREQ_" + axis: shaper_freq}))
+
def save_calibration_data(self, output, calibration_data, shapers=None):
try:
with open(output, "w") as csvfile: