diff --git a/content/components/display/epaper_spi.md b/content/components/display/epaper_spi.md index a18ed53789..500109fc17 100644 --- a/content/components/display/epaper_spi.md +++ b/content/components/display/epaper_spi.md @@ -12,7 +12,7 @@ with improved state management and non-blocking operation. This component implem queue-based state machine that eliminates blocking waits for the busy pin and provides better integration with ESPHome's async architecture. -The communication method uses 4-wire [SPI](/components/spi), so you need to have an `spi:` section in your +The communication method uses [SPI](/components/spi), so you need to have an `spi:` section in your configuration. The driver supports a number of displays and there are also specific configurations for ESP32 boards with integrated displays. @@ -28,40 +28,51 @@ display: ## Supported displays -| Model name | Manufacturer | Product Description | -| ---------------------- | ------------ | ---------------------------------------------------------- | -| Spectra-E6 | Eink | | -| Seeed-reTerminal-E1002 | Seeed Studio | | +| Model name | Manufacturer | Product Description | +| ---------------------- |--------------|----------------------------------------------------------------------------------------------------------------------------| +| Spectra-E6 | Eink | | +| Seeed-reTerminal-E1002 | Seeed Studio | | +| SSD1677 | Solomon | | +| Seeed-ee04-mono-4.26 | Seeed Studio | Seeed EE04 board with Waveshare 4.26" mono epaper. | ## Configuration variables When using a model defining an integrated ESP32 display board most of the configuration such as the pins and dimensions will be set by default, but can be overridden if needed. -- **model** (**Required**): The model of the ePaper display. See the table above for options. +- **model** (**Required**): The model of the ePaper display. See the table above for options (case is not significant). - **cs_pin** (**Required**, [Pin Schema](/guides/configuration-types#pin-schema)): The CS pin. Predefined for integrated boards. - **dc_pin** (**Required**, [Pin Schema](/guides/configuration-types#pin-schema)): The DC pin. Predefined for integrated boards. - **busy_pin** (*Optional*, [Pin Schema](/guides/configuration-types#pin-schema)): The BUSY pin, if used. - **reset_pin** (*Optional*, [Pin Schema](/guides/configuration-types#pin-schema)): The RESET pin, if used. Make sure you pull this pin high (by connecting it to 3.3V with a resistor) if not connected to a GPIO pin. +- **dimensions** (**Required**, dict): Dimensions of the screen, specified either as *width* **x** *height* (e.g `320x240` ) + or with separate config keys. For models with full pre-defined configuration this is optional and will be preset by + the model selected. The dimensions are specified in pixels, and the width and height must be greater than 0. -- **rotation** (*Optional*): Set the rotation of the display. Everything you draw in `lambda:` will be rotated + - **height** (**Required**, int): Specifies height of display. + - **width** (**Required**, int): Specifies width of display. + +- **rotation** (*Optional*, int): Set the rotation of the display. Everything you draw in `lambda:` will be rotated by this option. One of `0°` (default), `90°`, `180°`, `270°`. +- **transform** (*Optional*, dict): If `rotation` is not sufficient, use this to transform the display. Options are: + - **mirror_x** (**Required**, boolean): If true, mirror the x axis. + - **mirror_y** (**Required**, boolean): If true, mirror the y axis. - **reset_duration** (*Optional*, [Time](/guides/configuration-types#time)): Duration for the display reset operation. Defaults to `200ms`. - - **lambda** (*Optional*, [lambda](/automations/templates#config-lambda)): The lambda to use for rendering the content on the display. See [Display Rendering Engine](/components/display#display-engine) for more information. - **pages** (*Optional*, list): Show pages instead of a single lambda. See [Display Pages](/components/display#display-pages). - - **update_interval** (*Optional*, [Time](/guides/configuration-types#time)): The interval to re-draw the screen. Defaults to `60s`, use `never` to only manually update the screen via `component.update`. -- **spi_id** (*Optional*, [ID](/guides/configuration-types#id)): Manually specify the ID of the [SPI Component](/components/spi) if you want - to use multiple SPI buses. +- **full_update_every** (*Optional*, int): On screens that support partial updates, this sets the number of updates + before a full update is forced. Defaults to `1` which will make every update a full update. +- **spi_id** (*Optional*, [ID](/guides/configuration-types#id)): Required to specify the ID of the [SPI Component](/components/spi) if your + configuration defines multiple SPI buses. If only a single SPI bus is configured, this is optional. - **id** (*Optional*, [ID](/guides/configuration-types#id)): Manually specify the ID used for code generation. ## See Also -- {{< docref "index/" >}} - {{< apiref "epaper_spi/epaper_spi.h" "epaper_spi/epaper_spi.h" >}} - [ESPHome Display Rendering Engine](/components/display#display-engine) +- {{< docref "components/lvgl" >}}