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: