Project

General

Profile

Download (974 Bytes) Statistics
| Branch: | Tag: | Revision:
import itertools
import sys

import RPIO

outputs = [23, 24, 25, 8, 7]
out_iterator = itertools.cycle(outputs)
CURRENT = outputs[0]

def main():
# Use the BCM addressing scheme
RPIO.setmode(RPIO.BCM)

# Setup input
RPIO.setup(22, RPIO.IN)

# Setup all five outputs
for gpio in outputs:
RPIO.setup(gpio, RPIO.OUT)
RPIO.output(gpio, False)

# Setup switch interrupt with debounce
RPIO.add_interrupt_callback(22, switch_callback, edge='rising',
pull_up_down=RPIO.PUD_DOWN, threaded_callback=True,
debounce_timeout_ms=150)

print 'Okay, waiting for interrupts...'

# Main (blocking) loop
while True:
RPIO.wait_for_interrupts()

def switch_callback(gpio_id, val):
global CURRENT
print 'Switch activated! %s --- %s' % (gpio_id, val)

# Turn off current LED
RPIO.output(CURRENT, False)

# Get next output and turn it on
CURRENT = out_iterator.next()
print CURRENT
RPIO.output(CURRENT, True)


if __name__ == '__main__':
sys.exit(main())
(4-4/8)