Direction cacheing added
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
Reference in New Issue
Block a user