46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
from esphome.const import CONF_DATA_RATE
|
|
|
|
from . import EpaperModel
|
|
|
|
|
|
class SSD1677(EpaperModel):
|
|
def __init__(self, name, class_name="EPaperMono", data_rate="20MHz", **defaults):
|
|
defaults[CONF_DATA_RATE] = data_rate
|
|
super().__init__(name, class_name, **defaults)
|
|
|
|
# fmt: off
|
|
def get_init_sequence(self, config: dict):
|
|
width, _height = self.get_dimensions(config)
|
|
return (
|
|
(0x18, 0x80), # Select internal Temp sensor
|
|
(0x0C, 0xAE, 0xC7, 0xC3, 0xC0, 0x80), # inrush current level 2
|
|
(0x01, (width - 1) % 256, (width - 1) // 256, 0x02), # Set column gate limit
|
|
(0x3C, 0x01), # Set border waveform
|
|
(0x11, 3), # Set transform
|
|
)
|
|
|
|
|
|
ssd1677 = SSD1677("ssd1677")
|
|
|
|
wave_4_26 = ssd1677.extend(
|
|
"waveshare-4.26in",
|
|
width=800,
|
|
height=480,
|
|
mirror_x=True,
|
|
)
|
|
|
|
wave_4_26.extend(
|
|
"seeed-ee04-mono-4.26",
|
|
cs_pin=44,
|
|
dc_pin=10,
|
|
reset_pin=38,
|
|
busy_pin={
|
|
"number": 4,
|
|
"inverted": False,
|
|
"mode": {
|
|
"input": True,
|
|
"pulldown": True,
|
|
},
|
|
},
|
|
)
|