class ButtonLowThread(GPIOThread): def __init__(self, pin): from ButtonLow import ButtonLow self.component = ButtonLow(pig, pin, callback=self.on_button_press) super(ButtonLowThread, self).__init__() def on_button_press(self, gpio, level, tick): print "PRESSED %s" % gpio super(ButtonLowThread, self).send("mapping/%d" % gpio) def terminate(self): super(ButtonThread, self).terminate() self.component.unlisten()
def __init__(self, pin): from ButtonLow import ButtonLow self.component = ButtonLow(pig, pin, callback=self.on_button_press) super(ButtonLowThread, self).__init__()
import pigpio from time import sleep from ButtonLow import ButtonLow def test_callback(gpio, level, tick): print "Button callback triggered!" print gpio, level, tick if __name__ == "__main__": pig = pigpio.pi() button = ButtonLow(pig, 23, callback=test_callback) raw_input("Press Enter when ready...") print "Waiting for input" while True: try: sleep(0.01) except KeyboardInterrupt: print "Interrupted!" break button.unlisten() pig.stop()