Direction cacheing added
This commit is contained in:
@@ -61,6 +61,7 @@ class Gauge:
|
||||
self._pin_step = Pin(pins[1], Pin.OUT)
|
||||
self._total_steps = _TOTAL_STEPS
|
||||
self._phase = 0
|
||||
self._last_dir = None # track last direction to avoid redundant writes
|
||||
|
||||
elif mode == "4phase":
|
||||
if len(pins) != 4:
|
||||
@@ -135,8 +136,10 @@ class Gauge:
|
||||
|
||||
def step(self, direction):
|
||||
if self._mode == "stepdir":
|
||||
self._pin_dir.value(1 if direction > 0 else 0)
|
||||
utime.sleep_us(10)
|
||||
if direction != self._last_dir:
|
||||
self._pin_dir.value(1 if direction > 0 else 0)
|
||||
self._last_dir = direction
|
||||
utime.sleep_us(10)
|
||||
self._pulse_step(self._step_us)
|
||||
self._current_step += direction
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user