Skip to content

Commit acc69ab

Browse files
authored
Merge pull request #7 from neutrinus/main
Support invert_enable for TMC2208 (Fix #6)
2 parents 5fa3f58 + 412db6a commit acc69ab

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

src/stepper/__init__.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import time
44

55
class Stepper:
6-
def __init__(self,step_pin,dir_pin,en_pin=None,steps_per_rev=200,speed_sps=10,invert_dir=False,timer_id=-1):
6+
def __init__(self, step_pin, dir_pin, en_pin=None, steps_per_rev=200, speed_sps=10, invert_dir=False, invert_enable=False, timer_id=-1):
77

88
if not isinstance(step_pin, machine.Pin):
99
step_pin=machine.Pin(step_pin,machine.Pin.OUT)
@@ -16,6 +16,7 @@ def __init__(self,step_pin,dir_pin,en_pin=None,steps_per_rev=200,speed_sps=10,in
1616
self.dir_value_func = dir_pin.value
1717
self.en_pin = en_pin
1818
self.invert_dir = invert_dir
19+
self.invert_enable = invert_enable
1920

2021
self.timer = machine.Timer(timer_id)
2122
self.timer_is_running=False
@@ -113,9 +114,10 @@ def stop(self):
113114
self.dir_value_func(0)
114115

115116
def enable(self,e):
117+
self.enabled = e
116118
if self.en_pin:
117-
self.en_pin.value(e)
118-
self.enabled=e
119+
pin_state = bool(e) ^ self.invert_enable
120+
self.en_pin.value(pin_state)
119121
if not e:
120122
self.dir_value_func(0)
121123

0 commit comments

Comments
 (0)