diff options
Diffstat (limited to 'examples/switch.py')
-rw-r--r-- | examples/switch.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/examples/switch.py b/examples/switch.py new file mode 100644 index 000000000..23c4b5e2b --- /dev/null +++ b/examples/switch.py @@ -0,0 +1,45 @@ +__doc__ = """ +switch.py +========= + +Light up some leds when the USR switch on the pyboard is pressed. + +Example Usage:: + + Micro Python v1.0.1 on 2014-05-12; PYBv1.0 with STM32F405RG + Type "help()" for more information. + >>> import switch + >>> switch.run_loop([2, 3]) + Loop started. + Press Ctrl+C to break out of the loop. + +""" + +import pyb + +switch = pyb.Switch() +red_led = pyb.LED(1) +green_led = pyb.LED(2) +orange_led = pyb.LED(3) +blue_led = pyb.LED(4) +all_leds = (red_led, green_led, orange_led, blue_led) + +def run_loop(leds=all_leds): + """ + Start the loop. + + :param `use_leds`: Which LEDs to light up upon switch press. + :type `use_leds`: sequence of LED objects + """ + print('Loop started.\nPress Ctrl+C to break out of the loop.') + while 1: + try: + if switch(): + [led.on() for led in leds] + else: + [led.off() for led in leds] + except OSError: # VCPInterrupt # Ctrl+C in interpreter mode. + break + +if __name__ == '__main__': + run_loop() |