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._pin_step = Pin(pins[1], Pin.OUT)
self._total_steps = _TOTAL_STEPS self._total_steps = _TOTAL_STEPS
self._phase = 0 self._phase = 0
self._last_dir = None # track last direction to avoid redundant writes
elif mode == "4phase": elif mode == "4phase":
if len(pins) != 4: if len(pins) != 4:
@@ -135,8 +136,10 @@ class Gauge:
def step(self, direction): def step(self, direction):
if self._mode == "stepdir": if self._mode == "stepdir":
self._pin_dir.value(1 if direction > 0 else 0) if direction != self._last_dir:
utime.sleep_us(10) 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._pulse_step(self._step_us)
self._current_step += direction self._current_step += direction
else: else:

View File

@@ -43,7 +43,8 @@ def log(level, msg):
def info(msg): def info(msg):
log("INFO", msg) if _cfg.get("debug", False):
log("INFO", msg)
def warn(msg): def warn(msg):