147 lines
4.1 KiB
Python
147 lines
4.1 KiB
Python
from esphome.components.mipi import DriverChip, delay
|
|
from esphome.config_validation import UNDEFINED
|
|
|
|
from .st7701s import st7701s
|
|
|
|
# fmt: off
|
|
wave_4_3 = DriverChip(
|
|
"ESP32-S3-TOUCH-LCD-4.3",
|
|
swap_xy=UNDEFINED,
|
|
initsequence=(),
|
|
width=800,
|
|
height=480,
|
|
pclk_frequency="16MHz",
|
|
reset_pin={"ch422g": None, "number": 3},
|
|
enable_pin={"ch422g": None, "number": 2},
|
|
de_pin=5,
|
|
hsync_pin={"number": 46, "ignore_strapping_warning": True},
|
|
vsync_pin={"number": 3, "ignore_strapping_warning": True},
|
|
pclk_pin=7,
|
|
pclk_inverted=True,
|
|
hsync_front_porch=210,
|
|
hsync_pulse_width=30,
|
|
hsync_back_porch=30,
|
|
vsync_front_porch=4,
|
|
vsync_pulse_width=4,
|
|
vsync_back_porch=4,
|
|
data_pins={
|
|
"red": [1, 2, 42, 41, 40],
|
|
"green": [39, 0, 45, 48, 47, 21],
|
|
"blue": [14, 38, 18, 17, 10],
|
|
},
|
|
)
|
|
|
|
wave_4_3.extend(
|
|
"WAVESHARE-5-1024X600",
|
|
width=1024,
|
|
height=600,
|
|
hsync_back_porch=145,
|
|
hsync_front_porch=170,
|
|
hsync_pulse_width=30,
|
|
vsync_back_porch=23,
|
|
vsync_front_porch=12,
|
|
vsync_pulse_width=2,
|
|
)
|
|
|
|
wave_4_3.extend(
|
|
"ESP32-S3-TOUCH-LCD-7-800X480",
|
|
enable_pin=[{"ch422g": None, "number": 2}, {"ch422g": None, "number": 6}],
|
|
hsync_back_porch=8,
|
|
hsync_front_porch=8,
|
|
hsync_pulse_width=4,
|
|
vsync_back_porch=16,
|
|
vsync_front_porch=16,
|
|
vsync_pulse_width=4,
|
|
)
|
|
|
|
st7701s.extend(
|
|
"WAVESHARE-4-480X480",
|
|
data_rate="2MHz",
|
|
spi_mode="MODE3",
|
|
pixel_mode="18bit",
|
|
width=480,
|
|
height=480,
|
|
invert_colors=True,
|
|
cs_pin=42,
|
|
de_pin=40,
|
|
hsync_pin=38,
|
|
vsync_pin=39,
|
|
pclk_pin=41,
|
|
pclk_frequency="12MHz",
|
|
pclk_inverted=False,
|
|
data_pins={
|
|
"red": [46, 3, 8, 18, 17],
|
|
"green": [14, 13, 12, 11, 10, 9],
|
|
"blue": [5, 45, 48, 47, 21],
|
|
},
|
|
)
|
|
|
|
st7701s.extend(
|
|
"WAVESHARE-3.16-320X820",
|
|
width=320,
|
|
height=820,
|
|
de_pin=40,
|
|
hsync_pin=38,
|
|
vsync_pin=39,
|
|
pclk_pin=41,
|
|
cs_pin={
|
|
"number": 0,
|
|
"ignore_strapping_warning": True,
|
|
},
|
|
pclk_frequency="18MHz",
|
|
reset_pin=16,
|
|
hsync_back_porch=30,
|
|
hsync_front_porch=30,
|
|
hsync_pulse_width=6,
|
|
vsync_back_porch=20,
|
|
vsync_front_porch=20,
|
|
vsync_pulse_width=40,
|
|
data_pins={
|
|
"red": [17, 46, 3, 8, 18],
|
|
"green": [14, 13, 12, 11, 10, 9],
|
|
"blue": [21, 5, 45, 48, 47],
|
|
},
|
|
initsequence=(
|
|
(0xFF, 0x77, 0x01, 0x00, 0x00, 0x13),
|
|
(0xEF, 0x08),
|
|
(0xFF, 0x77, 0x01, 0x00, 0x00, 0x10),
|
|
(0xC0, 0xE5, 0x02),
|
|
(0xC1, 0x15, 0x0A),
|
|
(0xC2, 0x07, 0x02),
|
|
(0xCC, 0x10),
|
|
(0xB0, 0x00, 0x08, 0x51, 0x0D, 0xCE, 0x06, 0x00, 0x08, 0x08, 0x24, 0x05, 0xD0, 0x0F, 0x6F, 0x36, 0x1F),
|
|
(0xB1, 0x00, 0x10, 0x4F, 0x0C, 0x11, 0x05, 0x00, 0x07, 0x07, 0x18, 0x02, 0xD3, 0x11, 0x6E, 0x34, 0x1F),
|
|
(0xFF, 0x77, 0x01, 0x00, 0x00, 0x11),
|
|
(0xB0, 0x4D),
|
|
(0xB1, 0x37),
|
|
(0xB2, 0x87),
|
|
(0xB3, 0x80),
|
|
(0xB5, 0x4A),
|
|
(0xB7, 0x85),
|
|
(0xB8, 0x21),
|
|
(0xB9, 0x00, 0x13),
|
|
(0xC0, 0x09),
|
|
(0xC1, 0x78),
|
|
(0xC2, 0x78),
|
|
(0xD0, 0x88),
|
|
(0xE0, 0x80, 0x00, 0x02),
|
|
(0xE1, 0x0F, 0xA0, 0x00, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x60, 0x60),
|
|
(0xE2, 0x30, 0x30, 0x60, 0x60, 0x45, 0xA0, 0x00, 0x00, 0x46, 0xA0, 0x00, 0x00, 0x00),
|
|
(0xE3, 0x00, 0x00, 0x33, 0x33),
|
|
(0xE4, 0x44, 0x44),
|
|
(0xE5, 0x0F, 0x4A, 0xA0, 0xA0, 0x11, 0x4A, 0xA0, 0xA0, 0x13, 0x4A, 0xA0, 0xA0, 0x15, 0x4A, 0xA0, 0xA0),
|
|
(0xE6, 0x00, 0x00, 0x33, 0x33),
|
|
(0xE7, 0x44, 0x44),
|
|
(0xE8, 0x10, 0x4A, 0xA0, 0xA0, 0x12, 0x4A, 0xA0, 0xA0, 0x14, 0x4A, 0xA0, 0xA0, 0x16, 0x4A, 0xA0, 0xA0),
|
|
(0xEB, 0x02, 0x00, 0x4E, 0x4E, 0xEE, 0x44, 0x00),
|
|
(0xED, 0xFF, 0xFF, 0x04, 0x56, 0x72, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x27, 0x65, 0x40, 0xFF, 0xFF),
|
|
(0xEF, 0x08, 0x08, 0x08, 0x40, 0x3F, 0x64),
|
|
(0xFF, 0x77, 0x01, 0x00, 0x00, 0x13),
|
|
(0xE8, 0x00, 0x0E),
|
|
(0xE8, 0x00, 0x0C),
|
|
delay(10),
|
|
(0xE8, 0x00, 0x00),
|
|
(0xFF, 0x77, 0x01, 0x00, 0x00, 0x00),
|
|
)
|
|
)
|