-
Notifications
You must be signed in to change notification settings - Fork 13
/
tlc59711_fastset.py
94 lines (68 loc) · 1.89 KB
/
tlc59711_fastset.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# CircuitPython
# SPDX-FileCopyrightText: 2021 s-light
# SPDX-License-Identifier: MIT
# Author Stefan Krüger (s-light)
"""TLC5971 / TLC59711 Example."""
__doc__ = """
tlc59711_fastset.py - TLC59711 fast set example.
showcases the usage of set_pixel_16bit_value for fastest setting of values.
for speed comparision of all the available set calls
look at the tlc59711_dev.py file.
Enjoy the colors :-)
"""
import time
import board
import busio
import adafruit_tlc59711
##########################################
PIXEL_COUNT = 16
spi = busio.SPI(board.SCK, MOSI=board.MOSI)
pixels = adafruit_tlc59711.TLC59711(spi, pixel_count=PIXEL_COUNT)
##########################################
# test function
def channelcheck_update_pixel(offset):
"""Channel check pixel."""
# print("offset", offset)
pixels.set_pixel_16bit_value(offset, 1000, 100, 0)
# clear last pixel
last = offset - 1
if last < 0:
last = PIXEL_COUNT - 1
pixels.set_pixel_16bit_value(last, 0, 0, 1)
pixels.show()
offset += 1
if offset >= PIXEL_COUNT:
time.sleep(0.2)
offset = 0
print("clear")
pixels.set_pixel_all_16bit_value(0, 1, 0)
pixels.show()
return offset
def test_main():
"""Test Main."""
print(42 * "*", end="")
print(__doc__, end="")
print(42 * "*")
bcvalues = adafruit_tlc59711.TLC59711.calculate_BCData(
Ioclmax=18,
IoutR=18,
IoutG=11,
IoutB=13,
)
print("bcvalues = {}".format(bcvalues))
pixels.bcr = bcvalues[0]
pixels.bcg = bcvalues[1]
pixels.bcb = bcvalues[2]
pixels.update_BCData()
pixels.show()
offset = 0
print("loop:")
while True:
offset = channelcheck_update_pixel(offset)
time.sleep(0.2)
##########################################
# main loop
if __name__ == "__main__":
test_main()