Skip to content

Commit 5070a4b

Browse files
committed
feature: support gc9a01 driver
Signed-off-by: lbuque <[email protected]>
1 parent 2ee204e commit 5070a4b

File tree

6 files changed

+700
-0
lines changed

6 files changed

+700
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
from machine import Pin, SPI
2+
import lcd
3+
4+
TFA = const(0)
5+
BFA = const(0)
6+
7+
8+
# This is the command sequence that initialises the GC9A01 driver
9+
# cmd(int) args(bytes) delay(ms)
10+
init_tft_esp = (
11+
(0xEF, b'', 0),
12+
(0xEB, b'\x14', 0),
13+
(0xFE, b'', 0),
14+
(0xEF, b'', 0),
15+
(0xEB, b'\x14', 0),
16+
(0x84, b'\x40', 0),
17+
(0x85, b'\xFF', 0),
18+
(0x86, b'\xFF', 0),
19+
(0x87, b'\xFF', 0),
20+
(0x88, b'\x0A', 0),
21+
(0x89, b'\x21', 0),
22+
(0x8A, b'\x00', 0),
23+
(0x8B, b'\x80', 0),
24+
(0x8C, b'\x01', 0),
25+
(0x8D, b'\x01', 0),
26+
(0x8E, b'\xFF', 0),
27+
(0x8F, b'\xFF', 0),
28+
(0xB6, b'\x00\x20', 0),
29+
(0x90, b'\x08\x08\x08\x08', 0),
30+
(0xBD, b'\x06', 0),
31+
(0xBC, b'\x00', 0),
32+
(0xFF, b'\x60\x01\x04', 0),
33+
(0xC3, b'\x13\xC4\x13', 0),
34+
(0xC9, b'\x22', 0),
35+
(0xBE, b'\x11', 0),
36+
(0xE1, b'\x10\x0E', 0),
37+
(0xDF, b'\x21\x0c\x02', 0),
38+
(0xF0, b'\x45\x09\x08\x08\x26\x2A', 0),
39+
(0xF1, b'\x43\x70\x72\x36\x37\x6F', 0),
40+
(0xF2, b'\x45\x09\x08\x08\x26\x2A', 0),
41+
(0xF3, b'\x43\x70\x72\x36\x37\x6F', 0),
42+
(0xED, b'\x1B\x0B', 0),
43+
(0xAE, b'\x77', 0),
44+
(0xCD, b'\x63', 0),
45+
(0x70, b'\x07\x07\x04\x0E\x0F\x09\x07\x08\x03', 0),
46+
(0xE8, b'\x34', 0),
47+
(0x62, b'\x18\x0D\x71\xED\x70\x70\x18\x0F\x71\xEF\x70\x70', 0),
48+
(0x63, b'\x18\x11\x71\xF1\x70\x70\x18\x13\x71\xF3\x70\x70', 0),
49+
(0x64, b'\x28\x29\xF1\x01\xF1\x00\x07', 0),
50+
(0x66, b'\x3C\x00\xCD\x67\x45\x45\x10\x00\x00\x00', 0),
51+
(0x67, b'\x00\x3C\x00\x00\x00\x01\x54\x10\x32\x98', 0),
52+
(0x74, b'\x10\x85\x80\x00\x00\x4E\x00', 0),
53+
(0x98, b'\x3E\x07', 0),
54+
(0x35, b'', 0),
55+
56+
# (0x21, b'', 0),
57+
# (0x36, b'\x08', 0),
58+
# (0x3A, b'\x05', 0),
59+
# (0x11, b'', 120),
60+
# (0x29, b'', 20),
61+
)
62+
63+
def config():
64+
hspi = SPI(2, sck=Pin(14), mosi=Pin(13), miso=None)
65+
panel = lcd.SPIPanel(spi=hspi, dc=Pin(16), cs=Pin(15), pclk=60000000, width=240, height=240)
66+
st = lcd.GC9A01(panel, reset=Pin(17), backlight=Pin(18), color_space=lcd.BGR)
67+
st.backlight_on()
68+
st.reset()
69+
st.custom_init(init_tft_esp)
70+
st.init()
71+
st.invert_color(True)
72+
return st
73+
74+
75+
def color565(r, g, b):
76+
c = ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | ((b & 0xF8) >> 3)
77+
return (c >> 8) | (c << 8)

0 commit comments

Comments
 (0)