Initial
This commit is contained in:
172
main.py
Normal file
172
main.py
Normal file
@@ -0,0 +1,172 @@
|
||||
import machine
|
||||
from machine import bitstream
|
||||
import time
|
||||
|
||||
|
||||
|
||||
class NewPixel:
|
||||
# G R B W
|
||||
ORDER = (1, 0, 2, 3, 4)
|
||||
|
||||
def __init__(self, pin, n, bpp=5, timing=1):
|
||||
self.pin = pin
|
||||
self.n = n
|
||||
self.bpp = bpp
|
||||
self.buf = bytearray(n * bpp)
|
||||
self.pin.init(pin.OUT)
|
||||
# Timing arg can either be 1 for 800kHz or 0 for 400kHz,
|
||||
# or a user-specified timing ns tuple (high_0, low_0, high_1, low_1).
|
||||
# self.timing = (220, 580, 580, 580)
|
||||
self.timing = (300, 650, 650, 650)
|
||||
|
||||
def __len__(self):
|
||||
return self.n
|
||||
|
||||
def __setitem__(self, i, v):
|
||||
offset = i * self.bpp
|
||||
for i in range(self.bpp):
|
||||
self.buf[offset + self.ORDER[i]] = v[i]
|
||||
|
||||
def __getitem__(self, i):
|
||||
offset = i * self.bpp
|
||||
return tuple(self.buf[offset + self.ORDER[i]] for i in range(self.bpp))
|
||||
|
||||
def fill(self, v):
|
||||
b = self.buf
|
||||
l = len(self.buf)
|
||||
bpp = self.bpp
|
||||
for i in range(bpp):
|
||||
c = v[i]
|
||||
j = self.ORDER[i]
|
||||
while j < l:
|
||||
b[j] = c
|
||||
j += bpp
|
||||
|
||||
def write(self):
|
||||
# BITSTREAM_TYPE_HIGH_LOW = 0
|
||||
# print(self.timing)
|
||||
bitstream(self.pin, 0, self.timing, self.buf)
|
||||
|
||||
def clear(self):
|
||||
self.buf = (0,0,0,0,0)
|
||||
self.write()
|
||||
|
||||
def get_colour(self, pixel_number):
|
||||
print(self[pixel_number])
|
||||
|
||||
|
||||
class ColorModes:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
|
||||
np = NewPixel(machine.Pin(1), 10)
|
||||
np[0] = (0, 0, 0, 0, 0)
|
||||
np.write()
|
||||
breath_value = 0
|
||||
breath_up = True
|
||||
colour = "red"
|
||||
|
||||
|
||||
np[1] = (0, 0, 0, 0, 0)
|
||||
np.write()
|
||||
np[1] = (255, 0, 255, 0, 0)
|
||||
np.write()
|
||||
# np[2] = (255, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# if breath_value < 255 and breath_up is True:
|
||||
# if colour == "red":
|
||||
# np[0] = (breath_value, 0, 0, 0, 0)
|
||||
# np[1] = (breath_value, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# np.get_colour(0)
|
||||
# time.sleep(0.05)
|
||||
# elif colour == "green":
|
||||
# np[0] = (0 ,breath_value, 0, 0, 0)
|
||||
# np[1] = (0, breath_value, 0, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(0.05)
|
||||
# elif colour == "blue":
|
||||
# np[0] = (0 ,0, breath_value, 0, 0)
|
||||
# np[1] = (0, 0, breath_value, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(0.05)
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# np[0] = (0, breath_value, 0, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(1)
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# np[0] = (0, 0, breath_value, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(1)
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
#
|
||||
# np.write()
|
||||
# np[0] = (0, 0, 0, breath_value, 0)
|
||||
# np.write()
|
||||
# time.sleep(1)
|
||||
#
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# np[0] = (0, 0, 0, 0, breath_value)
|
||||
# np.write()
|
||||
# time.sleep(1)
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# breath_value += 5
|
||||
# print(breath_value)
|
||||
# else:
|
||||
# breath_up = False
|
||||
# breath_value -= 5
|
||||
# print(breath_value)
|
||||
# if colour == "red":
|
||||
# np[0] = (breath_value, 0, 0, 0, 0)
|
||||
# np[1] = (breath_value, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(0.05)
|
||||
# elif colour == "green":
|
||||
# np[0] = (0, breath_value, 0, 0, 0)
|
||||
# np[1] = (0, breath_value, 0, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(0.05)
|
||||
# elif colour == "blue":
|
||||
# np[0] = (0, 0, breath_value, 0, 0)
|
||||
# np[1] = (0, 0, breath_value, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(0.05)
|
||||
# if breath_value == 0:
|
||||
# breath_up = True
|
||||
# if colour == "red":
|
||||
# colour = "green"
|
||||
# elif colour == "green":
|
||||
# colour = "blue"
|
||||
# elif colour == "blue":
|
||||
# colour = "red"
|
||||
|
||||
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# np[0] = (0, breath_value, 0, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(1)
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# np[0] = (0, 0, breath_value, 0, 0)
|
||||
# np.write()
|
||||
# time.sleep(1)
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
#
|
||||
# np.write()
|
||||
# np[0] = (0, 0, 0, breath_value, 0)
|
||||
# np.write()
|
||||
# time.sleep(1)
|
||||
#
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
# np[0] = (0, 0, 0, 0, breath_value)
|
||||
# np.write()
|
||||
# time.sleep(1)
|
||||
# np[0] = (0, 0, 0, 0, 0)
|
||||
# np.write()
|
||||
Reference in New Issue
Block a user