buttons: Add initial support for detecting button presses

Add mcu support for periodically polling for a button press.  Add host
code support for registering buttons and invoking callbacks for them.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
This commit is contained in:
Kevin O'Connor 2018-01-26 14:27:55 -05:00
parent 4061026c25
commit 38d7b9ada0
4 changed files with 307 additions and 3 deletions

View file

@ -199,8 +199,9 @@ class PrinterPins:
self.chips = {}
self.active_pins = {}
def lookup_pin(self, pin_type, pin_desc, share_type=None):
can_invert = pin_type in ['stepper', 'endstop', 'digital_out', 'pwm']
can_pullup = pin_type == 'endstop'
can_invert = pin_type in ['stepper', 'endstop', 'digital_in',
'digital_out', 'pwm']
can_pullup = pin_type in ['endstop', 'digital_in']
desc = pin_desc.strip()
pullup = invert = 0
if can_pullup and desc.startswith('^'):