Direction cacheing added

This commit is contained in:
2026-04-11 00:36:57 +02:00
parent 310ea4a67c
commit 50c947e3d8
2 changed files with 7 additions and 3 deletions

View File

@@ -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: