Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
micropython/examples/switch.py
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
47 lines (36 sloc)
1.01 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
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() | |
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 `leds`: Which LEDs to light up upon switch press. | |
:type `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() |