aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/resonance_tester.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2021-08-11 23:09:49 -0400
committerKevin O'Connor <kevin@koconnor.net>2021-08-30 12:25:50 -0400
commitd87f7a77c31fe896a7d145e60e6487efb67c4d44 (patch)
tree8ac51b27f552339e11be9ad164a27a93c9110b66 /klippy/extras/resonance_tester.py
parent8cfaed441d1ec295c8c4be8e0733099fe3f3395a (diff)
downloadkutter-d87f7a77c31fe896a7d145e60e6487efb67c4d44.tar.gz
kutter-d87f7a77c31fe896a7d145e60e6487efb67c4d44.tar.xz
kutter-d87f7a77c31fe896a7d145e60e6487efb67c4d44.zip
adxl345: Add new start_internal_client() function and use in callers
Introduce a new start_internal_client() function and change all client code to use that instead of manually calling start_measurements() and finish_measurements(). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/resonance_tester.py')
-rw-r--r--klippy/extras/resonance_tester.py43
1 files changed, 21 insertions, 22 deletions
diff --git a/klippy/extras/resonance_tester.py b/klippy/extras/resonance_tester.py
index 7d7c76b6..eaa49db3 100644
--- a/klippy/extras/resonance_tester.py
+++ b/klippy/extras/resonance_tester.py
@@ -164,26 +164,25 @@ class ResonanceTester:
if len(axes) > 1:
gcmd.respond_info("Testing axis %s" % axis.get_name())
+ raw_values = []
for chip_axis, chip in self.accel_chips:
if axis.matches(chip_axis):
- chip.start_measurements()
+ aclient = chip.start_internal_client()
+ raw_values.append((chip_axis, aclient))
# Generate moves
self.test.run_test(axis, gcmd)
- raw_values = []
- for chip_axis, chip in self.accel_chips:
- if axis.matches(chip_axis):
- results = chip.finish_measurements()
- if raw_name_suffix is not None:
- raw_name = self.get_filename(
- 'raw_data', raw_name_suffix, axis,
- point if len(test_points) > 1 else None)
- results.write_to_file(raw_name)
- gcmd.respond_info(
- "Writing raw accelerometer data to "
- "%s file" % (raw_name,))
- raw_values.append((chip_axis, results))
- gcmd.respond_info("%s-axis accelerometer stats: %s" % (
- chip_axis, results.get_stats(),))
+ for chip_axis, aclient in raw_values:
+ aclient.finish_measurements()
+ if raw_name_suffix is not None:
+ raw_name = self.get_filename(
+ 'raw_data', raw_name_suffix, axis,
+ point if len(test_points) > 1 else None)
+ aclient.write_to_file(raw_name)
+ gcmd.respond_info(
+ "Writing raw accelerometer data to "
+ "%s file" % (raw_name,))
+ gcmd.respond_info("%s-axis accelerometer stats: %s" % (
+ chip_axis, aclient.get_stats(),))
if helper is None:
continue
for chip_axis, chip_values in raw_values:
@@ -281,14 +280,14 @@ class ResonanceTester:
"Measures noise of all enabled accelerometer chips")
def cmd_MEASURE_AXES_NOISE(self, gcmd):
meas_time = gcmd.get_float("MEAS_TIME", 2.)
- for _, chip in self.accel_chips:
- chip.start_measurements()
- self.printer.lookup_object('toolhead').dwell(meas_time)
- raw_values = [(chip_axis, chip.finish_measurements())
+ raw_values = [(chip_axis, chip.start_internal_client())
for chip_axis, chip in self.accel_chips]
+ self.printer.lookup_object('toolhead').dwell(meas_time)
+ for chip_axis, aclient in raw_values:
+ aclient.finish_measurements()
helper = shaper_calibrate.ShaperCalibrate(self.printer)
- for chip_axis, raw_data in raw_values:
- data = helper.process_accelerometer_data(raw_data)
+ for chip_axis, aclient in raw_values:
+ data = helper.process_accelerometer_data(aclient)
vx = data.psd_x.mean()
vy = data.psd_y.mean()
vz = data.psd_z.mean()