From d60ba4c101ca88b1f8642c33fb7aac6c5be42ef8 Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 6 May 2026 16:02:56 +0200 Subject: [PATCH] frappy_psi/trinamic: fix target reached criterium Change-Id: I6edd0537ab401f04e6c7464d9e12ea10d04c5ec5 --- frappy_psi/trinamic.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/frappy_psi/trinamic.py b/frappy_psi/trinamic.py index a8bd548e..f640c61a 100644 --- a/frappy_psi/trinamic.py +++ b/frappy_psi/trinamic.py @@ -370,11 +370,13 @@ class Motor(PersistentMixin, HasIO, Drivable): if self.interlock_reason: return ERROR, self.interlock_reason now = time.time() - if self.steppos != oldpos or now < self._last_change + 0.25 + self.fast_poll: + if self.steppos != oldpos: self._last_change = now - if self.status[0] == BUSY: - return self.status - return BUSY, 'moving' + if now < self._last_change + 0.25 + self.fast_poll: + if not self.read_target_reached(): + if self.status[0] == BUSY: + return self.status + return BUSY, 'moving' if self.has_limit_switches: bits = self.read_input_bits() if self._run_mode == RUN_DRIVE: