Project

General

Profile

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

import RPIO

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

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=100)

print 'Okay, waiting for interrupts... %d' % CURRENT

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

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

print outputs

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

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


if __name__ == '__main__':
sys.exit(main())
(2-2/3)