From fa82aa81c03bba74be013b7e39ab1270477b5cc3 Mon Sep 17 00:00:00 2001 From: Metallicow Date: Sat, 31 May 2014 23:10:10 -0600 Subject: [PATCH 1/3] LED Fix --- examples/ledangle.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/ledangle.py b/examples/ledangle.py index 8864757aed..8c8d9e99d9 100644 --- a/examples/ledangle.py +++ b/examples/ledangle.py @@ -2,9 +2,9 @@ import pyb def led_angle(seconds_to_run_for): # make LED objects - l1 = pyb.Led(1) - l2 = pyb.Led(2) - accel = pyb.Accel() + l1 = pyb.LED(1) + l2 = pyb.LED(2) + accel = pyb.Accel() for i in range(20 * seconds_to_run_for): # get x-axis From f94cc975a2aca94afc0a8df7bbdeaa276ca5b5a7 Mon Sep 17 00:00:00 2001 From: Metallicow Date: Sat, 31 May 2014 23:15:04 -0600 Subject: [PATCH 2/3] Add switch test example --- examples/switch.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 examples/switch.py diff --git a/examples/switch.py b/examples/switch.py new file mode 100644 index 0000000000..d2bdad040e --- /dev/null +++ b/examples/switch.py @@ -0,0 +1,29 @@ +""" +switch.py +========= + +Light up all the leds when the USR switch on the pyboard is pressed. +""" + +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) +leds = [red_led, green_led, orange_led, blue_led] + +while 1: + if switch(): + ## red_led.on() + ## green_led.on() + ## orange_led.on() + ## blue_led.on() + [led.on() for led in leds] + else: + ## red_led.off() + ## green_led.off() + ## orange_led.off() + ## blue_led.off() + [led.off() for led in leds] From 9500e98433e274acd1b300094ae56d9389b22a8c Mon Sep 17 00:00:00 2001 From: Metallicow Date: Sun, 1 Jun 2014 08:18:13 -0600 Subject: [PATCH 3/3] __doc__ switch, make importable, and easy to test --- examples/switch.py | 51 ++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/examples/switch.py b/examples/switch.py index d2bdad040e..200caa4a4c 100644 --- a/examples/switch.py +++ b/examples/switch.py @@ -1,8 +1,18 @@ -""" +__doc__ = """ switch.py ========= -Light up all the leds when the USR switch on the pyboard is pressed. +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 @@ -12,18 +22,25 @@ red_led = pyb.LED(1) green_led = pyb.LED(2) orange_led = pyb.LED(3) blue_led = pyb.LED(4) -leds = [red_led, green_led, orange_led, blue_led] - -while 1: - if switch(): - ## red_led.on() - ## green_led.on() - ## orange_led.on() - ## blue_led.on() - [led.on() for led in leds] - else: - ## red_led.off() - ## green_led.off() - ## orange_led.off() - ## blue_led.off() - [led.off() for led in leds] +all_leds = [red_led, green_led, orange_led, blue_led] + +def run_loop(use_leds=[]): + """ + Start the loop. + + :param `use_leds`: Which leds to light up upon switch press. + :type `use_leds`: list of integers [1-4] + """ + print('Loop started.\nPress Ctrl+C to break out of the loop.') + leds = [all_leds[i - 1] for i in use_leds] + 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()