跳转到内容

四比特 SPI 显示

此显示驱动支持具有四比特 SPI 接口的 AMOLED 和 LCD 显示,使用 MIPI DBI 接口。

WARNING

由于此类显示现已由 Mipi Spi 支持,此组件已被取代。 此组件将在未来的版本中被移除。

此驱动已与以下显示进行了测试:

  • Lilygo T4-S3
  • Lilygo T-Display S3 AMOLED
  • JC4832W535 板卡
  • JC3636W518 板卡

此组件需要 ESP32 并使用 ESP-IDF。由于显示缓冲区的大小,PSRAM 是必需的。必须配置 四比特 SPI 总线 接口。

Lilygo T4-S3
Lilygo T-Display S3 AMOLED
# 示例配置条目
display:
- platform: qspi_dbi
model: RM690B0
data_rate: 80MHz
dimensions:
width: 450
height: 600
offset_width: 16
brightness: 255
cs_pin: GPIOXX
reset_pin: GPIOXX
enable_pin: GPIOXX
  • model (必需): 可选值为

    • CUSTOM
    • RM67162
    • RM690B0
    • JC4832W535
    • JC3636W518
    • AXS15231
  • init_sequence (可选, 字节数组列表): 指定显示的初始化序列。使用 CUSTOM 型号时需要此选项 - 但可以为空。如果为其他型号指定,此数据将在预配置序列之后发送。

  • cs_pin (可选, Pin Schema): 片选引脚。

  • reset_pin (可选, Pin Schema): RESET 引脚。

  • enable_pin (可选, Pin Schema): 显示使能引脚。

  • brightness (可选, int): 0-255 范围内的亮度值

  • update_interval (可选, Time): 重新绘制屏幕的间隔。默认为 5s。

  • auto_clear_enabled (可选, boolean): 是否在每次 lambda 调用前自动清除显示数据, 还是保留现有显示内容(必须显式覆盖,例如仅在数据更改时)。如果配置了 lambda 或页面,默认为 true,否则为 false。

  • pages (可选, list): 显示页面而非单个 lambda。请参见 显示页面。

  • id (可选, ID): 手动指定用于代码生成的 ID。

  • color_order (可选): 应为 rgb(默认)或 bgr 之一。

  • dimensions (必需): 屏幕尺寸,可以 width x height(例如 320x240 )或分别用配置键指定。

    • height (必需, int): 以像素指定显示的高度。
    • width (必需, int): 指定显示的宽度。
    • offset_width (可选, int): 指定显示的 x 方向偏移量,通常用于显示小于驱动芯片最大支持尺寸时。默认为 0
    • offset_height (可选, int): 指定显示的 y 方向偏移量。默认为 0。
  • rotation (可选): 在软件中旋转显示。可选值为 0°、90°、180° 或 270°。

  • transform (可选): 使用硬件转换显示。所有默认值均为 false。此选项不能与 rotation 一起使用。

    • swap_xy (可选, boolean): 如果为 true,则交换 x 和 y 轴。某些芯片不支持
    • mirror_x (可选, boolean): 如果为 true,则镜像 x 轴。
    • mirror_y (可选, boolean): 如果为 true,则镜像 y 轴。
  • data_rate (可选, int): 设置显示 SPI 接口的数据速率。可选值为 80MHz、40MHz、20MHz、10MHz(默认)、5MHz、2MHz 或 1MHz。

  • spi_mode (可选): 设置显示 SPI 接口的模式。默认为 MODE0。

  • invert_colors (可选, boolean): 通过此布尔选项可以反转显示颜色。

  • draw_from_origin (可选, boolean): 设置后,所有局部显示更新都将从原点(0,0)开始。默认为 false。

  • draw_rounding (可选, int): 适配需要局部绘制对齐到特定边界的显示芯片。默认为 2,必须是 2 的幂。

  • lambda (可选, lambda): 用于在显示上渲染内容的 lambda。 更多信息请参见 显示渲染引擎。

spi:
id: quad_spi
type: quad
clk_pin: 15
data_pins: [14, 10, 16, 12]
i2c:
sda: 6
scl: 7
touchscreen:
- platform: cst226
id: my_touchscreen
interrupt_pin: 8
reset_pin: 17
display:
- platform: qspi_dbi
model: RM690B0
data_rate: 80MHz
spi_mode: mode0
dimensions:
width: 450
height: 600
offset_width: 16
color_order: rgb
invert_colors: false
brightness: 255
cs_pin: 11
reset_pin: 13
enable_pin: 9
psram:
mode: octal
speed: 80MHz
spi:
id: quad_spi
type: quad
clk_pin: 47
data_pins:
- 18
- 7
- 48
- 5
i2c:
sda: 3
scl: 2
touchscreen:
- platform: cst816
id: my_touchscreen
interrupt_pin:
number: 21
display:
- platform: qspi_dbi
model: RM67162
id: main_lcd
dimensions:
height: 240
width: 536
transform:
mirror_x: true
swap_xy: true
color_order: rgb
brightness: 255
cs_pin: 6
reset_pin: 17
enable_pin: 38

此配置通过软件旋转将显示旋转为横向模式。

psram:
mode: octal
speed: 80MHz
spi:
id: display_qspi
type: quad
clk_pin: 47
data_pins: [21,48,40,39]
power_supply:
id: backlight_id
pin: 1
enable_on_boot: true
display:
- platform: qspi_dbi
model: JC4832W535
data_rate: 40MHz
rotation: 270
dimensions:
height: 480
width: 320
cs_pin:
number: 45
ignore_strapping_warning: true
show_test_card: true
i2c:
sda: 4
scl: 8
touchscreen:
platform: axs15231
transform:
swap_xy: true
mirror_y: true