aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/stepper.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/stepper.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/stepper.py')
-rw-r--r--klippy/stepper.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/klippy/stepper.py b/klippy/stepper.py
index 8128a130..073f33b6 100644
--- a/klippy/stepper.py
+++ b/klippy/stepper.py
@@ -29,10 +29,11 @@ class StepperEnablePin:
def lookup_enable_pin(ppins, pin):
if pin is None:
return StepperEnablePin(None, 9999)
- pin_params = ppins.lookup_pin('digital_out', pin, 'stepper_enable')
+ pin_params = ppins.lookup_pin(pin, can_invert=True,
+ share_type='stepper_enable')
enable = pin_params.get('class')
if enable is None:
- mcu_enable = pin_params['chip'].setup_pin(pin_params)
+ mcu_enable = pin_params['chip'].setup_pin('digital_out', pin_params)
mcu_enable.setup_max_duration(0.)
pin_params['class'] = enable = StepperEnablePin(mcu_enable)
return enable
@@ -51,7 +52,8 @@ class PrinterStepper:
# Stepper definition
ppins = printer.lookup_object('pins')
self.mcu_stepper = ppins.setup_pin('stepper', config.get('step_pin'))
- dir_pin_params = ppins.lookup_pin('digital_out', config.get('dir_pin'))
+ dir_pin = config.get('dir_pin')
+ dir_pin_params = ppins.lookup_pin(dir_pin, can_invert=True)
self.mcu_stepper.setup_dir_pin(dir_pin_params)
step_dist = config.getfloat('step_distance', above=0.)
self.mcu_stepper.setup_step_distance(step_dist)