2014-06-03 14:46:12 +01:00
|
|
|
"""
|
2014-06-01 06:15:04 +01:00
|
|
|
switch.py
|
|
|
|
=========
|
|
|
|
|
2014-06-01 15:18:13 +01:00
|
|
|
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
|
2014-06-03 14:46:12 +01:00
|
|
|
>>> switch.run_loop()
|
2014-06-01 15:18:13 +01:00
|
|
|
Loop started.
|
|
|
|
Press Ctrl+C to break out of the loop.
|
|
|
|
|
2014-06-01 06:15:04 +01:00
|
|
|
"""
|
|
|
|
|
|
|
|
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)
|
2014-06-01 18:34:58 +01:00
|
|
|
all_leds = (red_led, green_led, orange_led, blue_led)
|
2014-06-01 15:18:13 +01:00
|
|
|
|
2020-02-27 04:36:53 +00:00
|
|
|
|
2014-06-01 18:34:58 +01:00
|
|
|
def run_loop(leds=all_leds):
|
2014-06-01 15:18:13 +01:00
|
|
|
"""
|
|
|
|
Start the loop.
|
|
|
|
|
2014-06-03 14:46:12 +01:00
|
|
|
:param `leds`: Which LEDs to light up upon switch press.
|
|
|
|
:type `leds`: sequence of LED objects
|
2014-06-01 15:18:13 +01:00
|
|
|
"""
|
2020-02-27 04:36:53 +00:00
|
|
|
print("Loop started.\nPress Ctrl+C to break out of the loop.")
|
2014-06-01 15:18:13 +01:00
|
|
|
while 1:
|
|
|
|
try:
|
|
|
|
if switch():
|
|
|
|
[led.on() for led in leds]
|
|
|
|
else:
|
|
|
|
[led.off() for led in leds]
|
2020-02-27 04:36:53 +00:00
|
|
|
except OSError: # VCPInterrupt # Ctrl+C in interpreter mode.
|
2014-06-01 15:18:13 +01:00
|
|
|
break
|
|
|
|
|
2020-02-27 04:36:53 +00:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2014-06-01 15:18:13 +01:00
|
|
|
run_loop()
|