Skip to content

Commit 0256dd2

Browse files
jesserockzswoboda1337
authored andcommitted
[epaper_spi] Add docs (#5427)
1 parent da18bc5 commit 0256dd2

File tree

4 files changed

+64
-0
lines changed

4 files changed

+64
-0
lines changed

content/components/_index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -726,6 +726,7 @@ Often known as "tag" or "card" readers within the community.
726726
"MIPI DSI Displays","components/display/mipi_dsi","tab5.jpg"
727727
"MIPI RGB Displays","components/display/mipi_rgb","indicator.jpg"
728728
"MIPI SPI Displays","components/display/mipi_spi","t4-s3.jpg"
729+
"ePaper SPI Displays","components/display/epaper_spi","epaper.svg"
729730
"ILI9xxx","components/display/ili9xxx","ili9341.jpg"
730731
"ILI9341","components/display/ili9xxx","ili9341.svg"
731732
"ILI9342","components/display/ili9xxx","ili9342.svg"
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
description: "Instructions for setting up ePaper SPI displays in ESPHome."
3+
title: "ePaper SPI Display"
4+
params:
5+
seo:
6+
description: Instructions for setting up ePaper SPI displays with improved architecture in ESPHome.
7+
image: epaper.svg
8+
---
9+
10+
The `epaper_spi` display platform provides a new ePaper display component architecture
11+
with improved state management and non-blocking operation. This component implements a
12+
queue-based state machine that eliminates blocking waits for the busy pin and provides
13+
better integration with ESPHome's async architecture.
14+
15+
The communication method uses 4-wire [SPI](#spi), so you need to have an `spi:` section in your
16+
configuration.
17+
18+
```yaml
19+
display:
20+
- platform: epaper_spi
21+
cs_pin: GPIOXX
22+
dc_pin: GPIOXX
23+
busy_pin: GPIOXX
24+
reset_pin: GPIOXX
25+
model: 7.3in-spectra-e6
26+
lambda: |-
27+
it.filled_circle(it.get_width() / 2, it.get_height() / 2, 50, Color::BLACK);
28+
```
29+
30+
## Configuration variables
31+
32+
- **cs_pin** (**Required**, [Pin Schema](#config-pin_schema)): The CS pin.
33+
- **dc_pin** (**Required**, [Pin Schema](#config-pin_schema)): The DC pin.
34+
- **model** (**Required**): The model of the ePaper display. Currently supported:
35+
36+
- `7.3in-spectra-e6` - 7.3" Spectra E6 6-color display (800×480 pixels)
37+
38+
- **busy_pin** (*Optional*, [Pin Schema](#config-pin_schema)): The BUSY pin. Defaults to not connected.
39+
- **reset_pin** (*Optional*, [Pin Schema](#config-pin_schema)): The RESET pin. Defaults to not connected.
40+
Make sure you pull this pin high (by connecting it to 3.3V with a resistor) if not connected to a GPIO pin.
41+
42+
- **rotation** (*Optional*): Set the rotation of the display. Everything you draw in `lambda:` will be rotated
43+
by this option. One of `0°` (default), `90°`, `180°`, `270°`.
44+
45+
- **reset_duration** (*Optional*, [Time](#config-time)): Duration for the display reset operation. Defaults to `200ms`.
46+
47+
- **lambda** (*Optional*, [lambda](#config-lambda)): The lambda to use for rendering the content on the display.
48+
See [Display Rendering Engine](#display-engine) for more information.
49+
- **pages** (*Optional*, list): Show pages instead of a single lambda. See [Display Pages](#display-pages).
50+
51+
- **update_interval** (*Optional*, [Time](#config-time)): The interval to re-draw the screen. Defaults to `60s`,
52+
use `never` to only manually update the screen via `component.update`.
53+
- **spi_id** (*Optional*, [ID](#config-id)): Manually specify the ID of the [SPI Component](#spi) if you want
54+
to use multiple SPI buses.
55+
- **id** (*Optional*, [ID](#config-id)): Manually specify the ID used for code generation.
56+
57+
## See Also
58+
59+
- {{< docref "index/" >}}
60+
- {{< apiref "epaper_spi/epaper_spi.h" "epaper_spi/epaper_spi.h" >}}
61+
- [ESPHome Display Rendering Engine](#display-engine)
Lines changed: 1 addition & 0 deletions
Loading

static/images/epaper.svg

Lines changed: 1 addition & 0 deletions
Loading

0 commit comments

Comments
 (0)