跳转到内容

RPI_DPI_RGB 显示驱动

此显示驱动程序支持具有 16 位并行接口的显示屏,通常称为”RPI_DPI_RGB”类型。 这些具有并行接口但没有 SPI 接口,不需要配置驱动芯片。

WARNING

此组件已被弃用,因为此类显示屏现在由 Mipi Rgb 支持。 此组件可能会在未来版本中移除。

此驱动程序已使用以下显示屏进行测试:

  • Waveshare ESP32-S3-Touch-LCD-4.3
  • Makerfabs 4.3 英寸显示屏(Sunton)

此组件需要 ESP32(通常是 ESP32-S3,因为需要大量 GPIO 引脚)并使用 ESP-IDF。由于显示缓冲区的大小,PSRAM 是必需的。

Waveshare ESP32-S3 Touch 4.3
# 最小配置示例
display:
- platform: rpi_dpi_rgb
id: rpi_disp
dimensions:
width: 800
height: 480
de_pin: REPLACE_ME
hsync_pin: REPLACE_ME
vsync_pin: REPLACE_ME
pclk_pin: REPLACE_ME
data_pins:
red:
- XX #r1
- XX #r2
- XX #r3
- XX #r4
- XX #r5
green:
- XX #g0
- XX #g1
- XX #g2
- XX #g3
- XX #g4
- XX #g5
blue:
- XX #b1
- XX #b2
- XX #b3
- XX #b4
- XX #b5
  • data_pins (**必填”):用于数据总线的引脚列表。分为 3 组指定:

    • red (**必填”, 引脚模式):红色数据位正好 5 个引脚号,从最低有效位到最高有效位列出。
    • green (**必填”, 引脚模式):绿色数据位正好 6 个引脚号,从最低有效位到最高有效位列出。
    • blue (**必填”, 引脚模式):蓝色数据位正好 5 个引脚号,从最低有效位到最高有效位列出。
  • de_pin (**必填”, 引脚模式):DE 引脚

  • pclk_pin (**必填”, 引脚模式):PCLK 引脚。

  • hsync_pin (**必填”, 引脚模式):水平同步引脚。

  • vsync_pin (**必填”, 引脚模式):垂直同步引脚。

  • enable_pin (可选, 引脚模式):ENABLE 引脚。

  • reset_pin (可选, 引脚模式):RESET 引脚。

  • hsync_pulse_width (可选, int):水平同步脉冲宽度。

  • hsync_front_porch (可选, int):水平前肩长度。

  • hsync_back_porch (可选, int):水平后肩长度。

  • vsync_pulse_width (可选, int):垂直同步脉冲宽度。

  • vsync_front_porch (可选, int):垂直前肩长度。

  • vsync_back_porch (可选, int):垂直后肩长度。

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

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

  • pages (可选, 列表):显示页面而不是单个 lambda。详见显示页面

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

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

  • dimensions (**必填”):屏幕尺寸,指定为 宽度 x 高度(如 320x240)或使用单独的配置键。

    • height (**必填”, int):指定显示屏高度(像素)。
    • width (**必填”, int):指定显示屏宽度。
    • offset_width (可选, int):指定显示屏 x 方向的偏移量,通常用于 LCD 小于驱动芯片支持的最大尺寸时。默认为 0。
    • offset_height (可选, int):指定显示屏 y 方向的偏移量。默认为 0。
  • pclk_frequency (可选):设置像素时钟速度。默认为 16MHz。

  • pclk_inverted (可选, 布尔值):pclk 是否为负有效(默认为 True)

  • invert_colors (可选):使用此布尔选项可以反转显示屏颜色。注意某些显示屏此选项自动设置为 true,无法更改。

  • rotation (可选):在软件中旋转显示屏显示。选择 90°180°270° 之一。

  • lambda (可选, lambda):用于在显示屏上渲染内容的 lambda。 详见显示渲染引擎

水平和垂直 pulse_widthfront_porchback_porch 值是可选的,但特定显示屏可能需要更改。请参阅制造商的示例代码获取合适的值。这些指定了显示屏的时序要求。

display:
- platform: rpi_dpi_rgb
color_order: RGB
pclk_frequency: 16MHz
dimensions:
width: 800
height: 480
de_pin:
number: 5
hsync_pin:
number: 46
ignore_strapping_warning: true
vsync_pin:
number: 3
ignore_strapping_warning: true
pclk_pin: 7
hsync_back_porch: 30
hsync_front_porch: 210
hsync_pulse_width: 30
vsync_back_porch: 4
vsync_front_porch: 4
vsync_pulse_width: 4
data_pins:
red:
- 1 #r3
- 2 #r4
- 42 #r5
- 41 #r6
- 40 #r7
blue:
- 14 #b3
- 38 #b4
- 18 #b5
- 17 #b6
- 10 #b7
green:
- 39 #g2
- 0 #g3
- 45 #g4
- 48 #g5
- 47 #g6
- 21 #g7
display:
- platform: rpi_dpi_rgb
update_interval: never
id: rpi_display
color_order: RGB
rotation: 90
dimensions:
width: 800
height: 480
de_pin:
number: 40
hsync_pin: 39
vsync_pin: 41
pclk_pin: 42
data_pins:
red:
- 45 #r1
- 48 #r2
- 47 #r3
- 21 #r4
- 14 #r5
green:
- 5 #g0
- 6 #g1
- 7 #g2
- 15 #g3
- 16 #g4
- 4 #g5
blue:
- 8 #b1
- 3 #b2
- 46 #b3
- 9 #b4
- 1 #b5