Skip to content

Instantly share code, notes, and snippets.

@rnestler
Created May 12, 2014 21:52
Show Gist options
  • Save rnestler/560afdf3f5d1e9c117f1 to your computer and use it in GitHub Desktop.
Save rnestler/560afdf3f5d1e9c117f1 to your computer and use it in GitHub Desktop.
micro python script
import pyb
from pyb import Pin
def initpin(val):
p = Pin(val)
p.init(Pin.OUT_OD)
return p
def togglepin(pin):
if pin.value():
pin.low()
else:
pin.high()
# address pins a0..a3
addr = [initpin(i) for i in ['Y5', 'Y6', 'Y7', 'Y8']]
dred = initpin('Y3')
dgreen = initpin('Y4')
enable = initpin('Y12')
latch = initpin('Y11')
clock = initpin('X9')
def setAddr(a):
assert 0 <= a < 16
for i in range(4):
print(i)
if a & (1<<i):
addr[i].high()
else:
addr[i].low()
def boom():
print(bool(0&(1<<32)))
def sendRG(red, green):
for i in range(32):
print(red, green)
if red & (1<<i):
print("set red high", 1<<i)
#dred.high()
else:
pass
#dred.low()
if green & (1<<i):
print("set green high", 1<<i)
#dgreen.high()
else:
pass
#dgreen.low()
#pyb.udelay(1)
#clock.high()
#pyb.udelay(1)
#clock.low()
def sendLine(addr, red, green):
#setAddr(addr)
dred.low()
dgreen.low()
enable.low()
latch.low()
clock.low()
sendRG(red, green)
enable.high()
latch.high()
pyb.udelay(3)
latch.low()
enable.low()
for a in addr:
a.low()
pyb.LED(1).on()
sendLine(0, 255,255)
pyb.LED(2).on()
pyb.delay(1000)
sendLine(1, 0,255)
pyb.delay(1000)
pyb.LED(3).on()
sendLine(2, 255,0)
pyb.LED(4).on()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment