aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/tmc2130.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-07-26 09:44:45 -0400
committerKevin O'Connor <kevin@koconnor.net>2018-07-26 09:44:45 -0400
commit273a98d39a88a372c8a2c816622e7df1f777e77d (patch)
tree2e8d4253f901a093d745127d97fd2464098d9266 /klippy/extras/tmc2130.py
parent7a9553b38a39398226d95b7569a0b889b8cdb10a (diff)
downloadkutter-273a98d39a88a372c8a2c816622e7df1f777e77d.tar.gz
kutter-273a98d39a88a372c8a2c816622e7df1f777e77d.tar.xz
kutter-273a98d39a88a372c8a2c816622e7df1f777e77d.zip
pins: Explicitly pass can_invert and can_pullup to lookup_pin()
Don't pass pin_type to lookup_pin() - instead, if a pin can be inverted or can have a pullup, then the caller must explicitly specify that when calling lookup_pin(). This simplifies the code for the cases where it is not valid to invert or pullup. Explicitly pass the pin_type to setup_pin() and have ppins.setup_pin() apply default pullup and invert flags. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/tmc2130.py')
-rw-r--r--klippy/extras/tmc2130.py9
1 files changed, 3 insertions, 6 deletions
diff --git a/klippy/extras/tmc2130.py b/klippy/extras/tmc2130.py
index 001e6229..949145f2 100644
--- a/klippy/extras/tmc2130.py
+++ b/klippy/extras/tmc2130.py
@@ -26,9 +26,7 @@ class TMC2130:
# pin setup
ppins = self.printer.lookup_object("pins")
cs_pin = config.get('cs_pin')
- cs_pin_params = ppins.lookup_pin('digital_out', cs_pin)
- if cs_pin_params['invert']:
- raise pins.error("tmc2130 can not invert pin")
+ cs_pin_params = ppins.lookup_pin(cs_pin)
self.mcu = cs_pin_params['chip']
pin = cs_pin_params['pin']
self.oid = self.mcu.create_oid()
@@ -113,9 +111,8 @@ class TMC2130:
step_dist = stepper_config.getfloat('step_distance')
step_dist_256 = step_dist / (1 << self.mres)
return int(TMC_FREQUENCY * step_dist_256 / velocity + .5)
- def setup_pin(self, pin_params):
- if (pin_params['pin'] != 'virtual_endstop'
- or pin_params['type'] != 'endstop'):
+ def setup_pin(self, pin_type, pin_params):
+ if pin_type != 'endstop' or pin_params['pin'] != 'virtual_endstop':
raise pins.error("tmc2130 virtual endstop only useful as endstop")
if pin_params['invert'] or pin_params['pullup']:
raise pins.error("Can not pullup/invert tmc2130 virtual endstop")