mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-12-26 17:27:47 +01:00
Document quad SPI AMOLED displays (#3677)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
parent
0c1658259b
commit
707614f1cf
BIN
components/display/images/t-display-amoled.jpg
Normal file
BIN
components/display/images/t-display-amoled.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
components/display/images/t4-s3.jpg
Normal file
BIN
components/display/images/t4-s3.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
185
components/display/qspi_amoled.rst
Normal file
185
components/display/qspi_amoled.rst
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
Quad SPI AMOLED Displays
|
||||||
|
========================
|
||||||
|
|
||||||
|
.. seo::
|
||||||
|
:description: Instructions for setting up quad SPI AMOLED displays.
|
||||||
|
:image: t4-s3.jpg
|
||||||
|
|
||||||
|
.. _qspi_amoled:
|
||||||
|
|
||||||
|
Models
|
||||||
|
------
|
||||||
|
This display driver supports AMOLED displays with quad SPI interfaces.
|
||||||
|
|
||||||
|
This driver has been tested with the following displays:
|
||||||
|
|
||||||
|
- Lilygo T4-S3
|
||||||
|
- Lilygo T-Display S3 AMOLED
|
||||||
|
|
||||||
|
Usage
|
||||||
|
-----
|
||||||
|
This component requires an ESP32 and the use of
|
||||||
|
ESP-IDF. PSRAM is a requirement due to the size of the display buffer. A :ref:`quad SPI bus <spi>` interface must be configured.
|
||||||
|
|
||||||
|
.. figure:: images/t4-s3.jpg
|
||||||
|
:align: center
|
||||||
|
:width: 75.0%
|
||||||
|
|
||||||
|
Lilygo T4-S3
|
||||||
|
|
||||||
|
.. figure:: images/t-display-amoled.jpg
|
||||||
|
:align: center
|
||||||
|
:width: 75.0%
|
||||||
|
|
||||||
|
Lilygo T-Display S3 AMOLED
|
||||||
|
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
# Example minimal configuration entry
|
||||||
|
|
||||||
|
display:
|
||||||
|
- platform: qspi_amoled
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
Configuration variables:
|
||||||
|
************************
|
||||||
|
|
||||||
|
- **model** (**Required**): One of ``RM67162`` or ``RM690B0``.
|
||||||
|
- **cs_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The chip select pin.
|
||||||
|
- **reset_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The RESET pin.
|
||||||
|
- **enable_pin** (*Optional*, :ref:`Pin Schema <config-pin_schema>`): The display enable pin.
|
||||||
|
- **brightness** (*Optional*, int): A brightness value in the range 0-255
|
||||||
|
- **update_interval** (*Optional*, :ref:`config-time`): The interval to re-draw the screen. Defaults to ``5s``.
|
||||||
|
- **auto_clear_enabled** (*Optional*, boolean): Whether to automatically clear the display in each loop (''true'', default),
|
||||||
|
or to keep the existing display content (must overwrite explicitly, e.g., only on data change).
|
||||||
|
- **pages** (*Optional*, list): Show pages instead of a single lambda. See :ref:`display-pages`.
|
||||||
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
||||||
|
- **color_order** (*Optional*): Should be one of ``rgb`` (default) or ``bgr``.
|
||||||
|
- **dimensions** (**Required**): Dimensions of the screen, specified either as *width* **x** *height* (e.g ``320x240``) or with separate config keys.
|
||||||
|
- **height** (**Required**, int): Specifies height of display in pixels.
|
||||||
|
- **width** (**Required**, int): Specifies width of display.
|
||||||
|
- **offset_width** (*Optional*, int): Specify an offset for the x-direction of the display, typically used when a display is smaller than the maximum supported by the driver chip. Default is 0
|
||||||
|
- **offset_height** (*Optional*, int): Specify an offset for the y-direction of the display. Default is 0.
|
||||||
|
|
||||||
|
- **rotation** (*Optional*): Rotate the display presentation in software. Choose one of ``0°``, ``90°``, ``180°``, or ``270°``.
|
||||||
|
- **transform** (*Optional*): Transform the display presentation using hardware. All defaults are ``false``. This option cannot be used with ``rotation``.
|
||||||
|
|
||||||
|
- **swap_xy** (*Optional*, boolean): If true, exchange the x and y axes.
|
||||||
|
- **mirror_x** (*Optional*, boolean): If true, mirror the x axis.
|
||||||
|
- **mirror_y** (*Optional*, boolean): If true, mirror the y axis.
|
||||||
|
- **data_rate** (*Optional*): Set the data rate of the SPI interface to the display. One of ``80MHz``, ``40MHz``, ``20MHz``, ``10MHz`` (default), ``5MHz``, ``2MHz`` or ``1MHz``.
|
||||||
|
- **spi_mode** (*Optional*): Set the mode for the SPI interface to the display. Default is ``MODE0``.
|
||||||
|
- **invert_colors** (*Optional*): With this boolean option you can invert the display colors.
|
||||||
|
- **lambda** (*Optional*, :ref:`lambda <config-lambda>`): The lambda to use for rendering the content on the display.
|
||||||
|
See :ref:`display-engine` for more information.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Example configurations
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
|
||||||
|
Lilygo T4-S3
|
||||||
|
************
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
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_amoled
|
||||||
|
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
|
||||||
|
update_interval: never
|
||||||
|
auto_clear_enabled: false
|
||||||
|
|
||||||
|
psram:
|
||||||
|
mode: octal
|
||||||
|
speed: 80MHz
|
||||||
|
|
||||||
|
Lilygo T-Display S3 AMOLED
|
||||||
|
**************************
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
spi:
|
||||||
|
id: quad_spi
|
||||||
|
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_amoled
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
See Also
|
||||||
|
--------
|
||||||
|
|
||||||
|
- :doc:`index`
|
||||||
|
- :apiref:`qspi_amoled/qspi_amoled.h`
|
||||||
|
- :ghedit:`Edit`
|
@ -676,6 +676,7 @@ Display Components
|
|||||||
MAX7219 Dot Matrix, components/display/max7219digit, max7219digit.jpg
|
MAX7219 Dot Matrix, components/display/max7219digit, max7219digit.jpg
|
||||||
Nextion, components/display/nextion, nextion.jpg
|
Nextion, components/display/nextion, nextion.jpg
|
||||||
PCD8544 (Nokia 5110/ 3310), components/display/pcd8544, pcd8544.jpg
|
PCD8544 (Nokia 5110/ 3310), components/display/pcd8544, pcd8544.jpg
|
||||||
|
Quad SPI AMOLED, components/display/qspi_amoled, t4-s3.jpg
|
||||||
PVVX MiThermometer, components/display/pvvx_mithermometer, ../components/sensor/images/xiaomi_lywsd03mmc.jpg
|
PVVX MiThermometer, components/display/pvvx_mithermometer, ../components/sensor/images/xiaomi_lywsd03mmc.jpg
|
||||||
RPI_DPI_RGB, components/display/rpi_dpi_rgb, waveshare_touch-s3.jpg
|
RPI_DPI_RGB, components/display/rpi_dpi_rgb, waveshare_touch-s3.jpg
|
||||||
SSD1306, components/display/ssd1306, ssd1306.jpg
|
SSD1306, components/display/ssd1306, ssd1306.jpg
|
||||||
|
Loading…
Reference in New Issue
Block a user