Skip to content

Instantly share code, notes, and snippets.

@ArcaneNibble
Created August 13, 2020 12:34
Show Gist options
  • Save ArcaneNibble/c6509275d415746d36542cf15e384da0 to your computer and use it in GitHub Desktop.
Save ArcaneNibble/c6509275d415746d36542cf15e384da0 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
from math import ceil
import pyftdi.gpio
dev = pyftdi.gpio.GpioAsyncController()
dev.open_from_url('ftdi:///1', 0b11)
print(dev)
dev.set_frequency(1000000)
print(dev.frequency)
dev.write(0)
def writeu32(x):
wdata = b''
for i in range(32):
biti = 31 - i
bit = x & (1 << biti)
# print(biti, bit)
if bit:
wdata += b'\x01\x03'
else:
wdata += b'\x00\x02'
dev.write(wdata)
def setleds(x):
writeu32(0)
for ledx in x:
writeu32(ledx)
writeu32(0)
for _ in range(int(ceil(len(x) / 64))):
writeu32(0)
setleds([
0xE10000FF,
0xE100FF00,
0xE1FF0000,
0xE1FFFF00,
0xE1FF00FF,
0xE100FFFF,
0xE1FFFFFF,
])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment