aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/probe_eddy_current.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2024-05-16 23:08:23 -0400
committerKevin O'Connor <kevin@koconnor.net>2024-05-21 20:16:31 -0400
commit236d780a0a3f00017e1a1193e036f0e0eb641437 (patch)
tree8db05a4a670fca57a1c2927d04cd716a5d60b0f2 /klippy/extras/probe_eddy_current.py
parent5d52b32e645d71f8e6b8b5426f89fe61eaf92e56 (diff)
downloadkutter-236d780a0a3f00017e1a1193e036f0e0eb641437.tar.gz
kutter-236d780a0a3f00017e1a1193e036f0e0eb641437.tar.xz
kutter-236d780a0a3f00017e1a1193e036f0e0eb641437.zip
probe_eddy_current: Fix wait for samples in probing_move()
Make sure to wait until all samples are available before performing analysis on the data. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/probe_eddy_current.py')
-rw-r--r--klippy/extras/probe_eddy_current.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/klippy/extras/probe_eddy_current.py b/klippy/extras/probe_eddy_current.py
index 858fb6e0..f670765c 100644
--- a/klippy/extras/probe_eddy_current.py
+++ b/klippy/extras/probe_eddy_current.py
@@ -260,20 +260,22 @@ class EddyEndstopWrapper:
trig_pos = phoming.probing_move(self, pos, speed)
if not self._trigger_time:
return trig_pos
- # Wait for 200ms to elapse since trigger time
+ # Wait for samples to arrive
+ start_time = self._trigger_time + 0.050
+ end_time = start_time + 0.100
reactor = self._printer.get_reactor()
while 1:
+ if self._samples and self._samples[-1]['data'][-1][0] >= end_time:
+ break
systime = reactor.monotonic()
est_print_time = self._mcu.estimated_print_time(systime)
- need_delay = self._trigger_time + 0.200 - est_print_time
- if need_delay <= 0.:
- break
- reactor.pause(systime + need_delay)
+ if est_print_time > self._trigger_time + 1.0:
+ raise self._printer.command_error(
+ "probe_eddy_current sensor outage")
+ reactor.pause(systime + 0.010)
# Find position since trigger
samples = self._samples
self._samples = []
- start_time = self._trigger_time + 0.050
- end_time = start_time + 0.100
samp_sum = 0.
samp_count = 0
for msg in samples: