Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit2ad6e7e

Browse files
committed
adds ILI9343C driver
lvgl-micropython#463Thanks@altmind for testing this
1 parentf113c09 commit2ad6e7e

File tree

3 files changed

+252
-0
lines changed

3 files changed

+252
-0
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Copyright (c) 2024 - 2025 Kevin G. Schlosser
2+
3+
importtime
4+
frommicropythonimportconst# NOQA
5+
importlvglaslv# NOQA
6+
7+
8+
_PWR1=const(0xC0)
9+
_PWR2=const(0xC1)
10+
_VCOMCTL1=const(0xC5)
11+
_VCOMCTL2=const(0xC7)
12+
_MADCTL=const(0x36)
13+
_COLMOD=const(0x3A)
14+
_FRMCTR1=const(0xB1)
15+
_DFUNCTRL=const(0xB6)
16+
_GAMSET=const(0x26)
17+
_PGC=const(0xE0)
18+
_NGC=const(0xE1)
19+
_SLPOUT=const(0x11)
20+
_DISPON=const(0x29)
21+
_RASET=const(0x2B)
22+
_CASET=const(0x2A)
23+
_PWRCTRLB=const(0xCF)
24+
_PWRONSQCTRL=const(0xED)
25+
_DRVTIMCTRLA1=const(0xE8)
26+
_PWRCTRLA=const(0xCB)
27+
_PUMPRATIOCTRL=const(0xF7)
28+
_DRVTIMCTRLB=const(0xEA)
29+
_ENA3GAMMA=const(0xF2)
30+
31+
32+
definit(self):
33+
param_buf=bytearray(15)
34+
param_mv=memoryview(param_buf)
35+
36+
param_buf[:3]=bytearray([0x03,0x80,0x02])
37+
self.set_params(0xEF,param_mv[:3])
38+
39+
param_buf[:3]=bytearray([0x00,0XC1,0X30])
40+
self.set_params(_PWRCTRLB,param_mv[:3])
41+
42+
param_buf[:4]=bytearray([0x64,0x03,0X12,0X81])
43+
self.set_params(_PWRONSQCTRL,param_mv[:4])
44+
45+
param_buf[:3]=bytearray([0x85,0x00,0x78])
46+
self.set_params(_DRVTIMCTRLA1,param_mv[:3])
47+
48+
param_buf[:5]=bytearray([0x39,0x2C,0x00,0x34,0x02])
49+
self.set_params(_PWRCTRLA,param_mv[:5])
50+
51+
param_buf[0]=0x20
52+
self.set_params(_PUMPRATIOCTRL,param_mv[:1])
53+
54+
param_buf[:2]=bytearray([0x00,0x00])
55+
self.set_params(_DRVTIMCTRLB,param_mv[:2])
56+
57+
param_buf[0]=0x23
58+
self.set_params(_PWR1,param_mv[:1])
59+
60+
param_buf[0]=0x10
61+
self.set_params(_PWR2,param_mv[:1])
62+
63+
param_buf[:2]=bytearray([0x3e,0x28])
64+
self.set_params(_VCOMCTL1,param_mv[:2])
65+
66+
param_buf[0]=0x86
67+
self.set_params(_VCOMCTL2,param_mv[:1])
68+
69+
param_buf[0]= (
70+
self._madctl(
71+
self._color_byte_order,
72+
self._ORIENTATION_TABLE# NOQA
73+
)
74+
)
75+
self.set_params(_MADCTL,param_mv[:1])
76+
77+
color_size=lv.color_format_get_size(self._color_space)
78+
ifcolor_size==2:# NOQA
79+
pixel_format=0x55
80+
else:
81+
raiseRuntimeError(
82+
f'{self.__class__.__name__} IC only supports '
83+
'lv.COLOR_FORMAT.RGB565'
84+
)
85+
86+
param_buf[0]=pixel_format
87+
self.set_params(_COLMOD,param_mv[:1])
88+
89+
param_buf[:2]=bytearray([0x00,0x13])# 0x18 ??
90+
self.set_params(_FRMCTR1,param_mv[:2])
91+
92+
param_buf[:3]=bytearray([0x08,0x82,0x27])
93+
self.set_params(_DFUNCTRL,param_mv[:3])
94+
95+
param_buf[0]=0x00
96+
self.set_params(_ENA3GAMMA,param_mv[:1])
97+
98+
param_buf[0]=0x01
99+
self.set_params(_GAMSET,param_mv[:1])
100+
101+
param_buf[:15]=bytearray([
102+
0x0F,0x31,0x2B,0x0C,0x0E,0x08,0x4E,0xF1,
103+
0x37,0x07,0x10,0x03,0x0E,0x09,0x00])
104+
self.set_params(_PGC,param_mv[:15])
105+
106+
param_buf[:15]=bytearray([
107+
0x00,0x0E,0x14,0x03,0x11,0x07,0x31,0xC1,
108+
0x48,0x08,0x0F,0x0C,0x31,0x36,0x0F])
109+
self.set_params(_NGC,param_mv[:15])
110+
111+
self.set_params(_SLPOUT)
112+
time.sleep_ms(120)# NOQA
113+
self.set_params(_DISPON)
114+
time.sleep_ms(20)# NOQA
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
# Copyright (c) 2024 - 2025 Kevin G. Schlosser
2+
3+
importtime
4+
frommicropythonimportconst# NOQA
5+
importlvglaslv# NOQA
6+
7+
8+
_PWR1=const(0xC0)
9+
_PWR2=const(0xC1)
10+
_VCOMCTL1=const(0xC5)
11+
_VCOMCTL2=const(0xC7)
12+
_MADCTL=const(0x36)
13+
_COLMOD=const(0x3A)
14+
_FRMCTR1=const(0xB1)
15+
_DFUNCTRL=const(0xB6)
16+
_GAMSET=const(0x26)
17+
_PGC=const(0xE0)
18+
_NGC=const(0xE1)
19+
_SLPOUT=const(0x11)
20+
_DISPON=const(0x29)
21+
_RASET=const(0x2B)
22+
_CASET=const(0x2A)
23+
_PWRCTRLB=const(0xCF)
24+
_PWRONSQCTRL=const(0xED)
25+
_DRVTIMCTRLA1=const(0xE8)
26+
_PWRCTRLA=const(0xCB)
27+
_PUMPRATIOCTRL=const(0xF7)
28+
_DRVTIMCTRLB=const(0xEA)
29+
_ENA3GAMMA=const(0xF2)
30+
31+
32+
definit(self):
33+
param_buf=bytearray(15)
34+
param_mv=memoryview(param_buf)
35+
36+
param_buf[:3]=bytearray([0x00,0XC1,0X30])
37+
self.set_params(_PWRCTRLB,param_mv[:3])
38+
39+
param_buf[:4]=bytearray([0x64,0x03,0X12,0X81])
40+
self.set_params(_PWRONSQCTRL,param_mv[:4])
41+
42+
param_buf[:3]=bytearray([0x85,0x00,0x78])
43+
self.set_params(_DRVTIMCTRLA1,param_mv[:3])
44+
45+
param_buf[:5]=bytearray([0x39,0x2C,0x00,0x34,0x02])
46+
self.set_params(_PWRCTRLA,param_mv[:5])
47+
48+
param_buf[0]=0x20
49+
self.set_params(_PUMPRATIOCTRL,param_mv[:1])
50+
51+
param_buf[:2]=bytearray([0x00,0x00])
52+
self.set_params(_DRVTIMCTRLB,param_mv[:2])
53+
54+
param_buf[0]=0x10
55+
self.set_params(_PWR1,param_mv[:1])
56+
57+
param_buf[0]=0x00
58+
self.set_params(_PWR2,param_mv[:1])
59+
60+
param_buf[:2]=bytearray([0x30,0x30])
61+
self.set_params(_VCOMCTL1,param_mv[:2])
62+
63+
param_buf[0]=0xB7
64+
self.set_params(_VCOMCTL2,param_mv[:1])
65+
66+
param_buf[0]= (
67+
self._madctl(
68+
self._color_byte_order,
69+
self._ORIENTATION_TABLE# NOQA
70+
)
71+
)
72+
self.set_params(_MADCTL,param_mv[:1])
73+
74+
color_size=lv.color_format_get_size(self._color_space)
75+
ifcolor_size==2:# NOQA
76+
pixel_format=0x55
77+
else:
78+
raiseRuntimeError(
79+
f'{self.__class__.__name__} IC only supports '
80+
'lv.COLOR_FORMAT.RGB565'
81+
)
82+
83+
param_buf[0]=pixel_format
84+
self.set_params(_COLMOD,param_mv[:1])
85+
86+
param_buf[:2]=bytearray([0x00,0x1A])
87+
self.set_params(_FRMCTR1,param_mv[:2])
88+
89+
param_buf[:3]=bytearray([0x08,0x82,0x27])
90+
self.set_params(_DFUNCTRL,param_mv[:3])
91+
92+
param_buf[0]=0x00
93+
self.set_params(_ENA3GAMMA,param_mv[:1])
94+
95+
param_buf[0]=0x01
96+
self.set_params(_GAMSET,param_mv[:1])
97+
98+
param_buf[:15]=bytearray([
99+
0x0F,0x2A,0x28,0x08,0x0E,0x08,0x54,0xA9,
100+
0x43,0x0A,0x0F,0x00,0x00,0x00,0x00])
101+
self.set_params(_PGC,param_mv[:15])
102+
103+
param_buf[:15]=bytearray([
104+
0x00,0x15,0x17,0x07,0x11,0x06,0x2B,0x56,
105+
0x3C,0x05,0x10,0x0F,0x3F,0x3F,0x0F])
106+
self.set_params(_NGC,param_mv[:15])
107+
108+
param_buf[:4]=bytearray([0x00,0x00,0x01,0x3f])
109+
self.set_params(_RASET,param_mv[:4])
110+
111+
param_buf[:4]=bytearray([0x00,0x00,0x00,0xef])
112+
self.set_params(_CASET,param_mv[:4])
113+
114+
self.set_params(_SLPOUT)
115+
time.sleep_ms(120)# NOQA
116+
self.set_params(_DISPON)
117+
time.sleep_ms(20)# NOQA
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright (c) 2024 - 2025 Kevin G. Schlosser
2+
frommicropythonimportconst
3+
importdisplay_driver_framework
4+
5+
6+
STATE_HIGH=display_driver_framework.STATE_HIGH
7+
STATE_LOW=display_driver_framework.STATE_LOW
8+
STATE_PWM=display_driver_framework.STATE_PWM
9+
10+
BYTE_ORDER_RGB=display_driver_framework.BYTE_ORDER_RGB
11+
BYTE_ORDER_BGR=display_driver_framework.BYTE_ORDER_BGR
12+
13+
14+
_MADCTL_MV=const(0x20)# 0=Normal, 1=Row/column exchange
15+
_MADCTL_MX=const(0x40)# 0=Left to Right, 1=Right to Left
16+
_MADCTL_MY=const(0x80)# 0=Top to Bottom, 1=Bottom to Top
17+
18+
19+
classILI9343C(display_driver_framework.DisplayDriver):
20+
_ORIENTATION_TABLE= (0x00,_MADCTL_MV|_MADCTL_MX,
21+
_MADCTL_MY|_MADCTL_MX,_MADCTL_MV|_MADCTL_MY)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp