File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -11,5 +11,5 @@ with button, led:
1111 print ("ready" )
1212
1313 for v in cycle ([1 ,0 ]):
14- led .value = v * button .value
14+ led .value = v and button .value
1515 sleep (0.5 )
Original file line number Diff line number Diff line change @@ -7,8 +7,8 @@ import quick2wire.i2c as i2c
77from quick2wire .parts .mcp23017 import MCP23017
88from quick2wire .parts .mcp23x17 import Out
99
10- # usage: i2c-blank [pin_number ]
11- # pin_number defaults to 1
10+ # usage: i2c-blink [led_pin ]
11+ # led_pin defaults to 1
1212def the_pin_number ():
1313 if len (sys .argv ) < 2 :
1414 return 1
Original file line number Diff line number Diff line change 1+ #!/usr/bin/env python3
2+ import sys
3+ from contextlib import closing
4+ from itertools import cycle
5+ from time import sleep
6+ import quick2wire .i2c as i2c
7+ from quick2wire .parts .mcp23017 import MCP23017
8+ from quick2wire .parts .mcp23x17 import In , Out
9+
10+ # usage: i2c-button-blink [led_pin button_pin]
11+ # led_number defaults to 0
12+ # button_pin defaults to 3
13+ def the_pin_numbers ():
14+ if len (sys .argv ) < 3 :
15+ return (0 , 3 )
16+ return (int (sys .argv [1 ]), int (sys .argv [3 ]))
17+
18+ i2c_address = 0x20
19+ pin_bank = 1
20+ led_pin , button_pin = the_pin_numbers ()
21+
22+ with closing (i2c .I2CMaster ()) as bus :
23+ chip = MCP23017 (bus , 0x20 )
24+ chip .reset ()
25+ led = chip [pin_bank ][led_pin ]
26+ led .direction = Out
27+ button = chip [pin_bank ][button_pin ]
28+ button .direction = In
29+
30+ try :
31+ while True :
32+ led .value = (not led .value ) and button_pin .value
33+ sleep (0.5 )
34+ finally :
35+ chip .reset ()
36+
You can’t perform that action at this time.
0 commit comments