diff --git a/simple_pid/PID.py b/simple_pid/PID.py index a07e3ab..0007a10 100644 --- a/simple_pid/PID.py +++ b/simple_pid/PID.py @@ -111,7 +111,10 @@ def __call__(self, input_, dt=None): now = self.time() if dt is None: - dt = utime.ticks_diff(now,self._last_time) if (utime.ticks_diff(now,self._last_time)) else 1e-16 + if self.scale == 'time': + dt = (now - self._last_time) if (now - self._last_time) else 1e-16 + else: + dt = utime.ticks_diff(now,self._last_time) if (utime.ticks_diff(now,self._last_time)) else 1e-16 elif dt <= 0: raise ValueError('dt has negative value {}, must be positive'.format(dt))