|
deki-lovyangfx-integration 0.19.0
Deki package reference
|
LovyanGFX display and touch panel integration
Repository: github.com/dekiengine/deki-lovyangfx-integration · Latest release: 0.19.0 · Needs engine 0.19.0+ · Requires: deki-i2c, deki-input
Install with DekiEditor --packages-add deki-lovyangfx-integration <project>, or from the Package Manager. The engine's own components and C++ API are in the Deki docs.
Shown in the editor as LovyanGFX Integration.
| Component | Category | Description |
|---|---|---|
| LGFXDisplayPanel | LovyanGFX | Drives a display panel (ILI9341, ST7789, GC9A01, RM67162 AMOLED, ...) over SPI, QSPI or a parallel bus through LovyanGFX. |
| LGFXTouchPanel | LovyanGFX | Reads a touch controller (FT5x06, GT911, CST816S, XPT2046) through LovyanGFX. |
Parts you can leave out of a build. A feature with a define is switched there; the rest are stripped with their components.
| Feature | Define | Default |
|---|---|---|
| Display Panel | DEKI_FEATURE_LGFX_DISPLAY_PANEL | on |
| Touch Panel | DEKI_FEATURE_LGFX_TOUCH_PANEL | on |
Drives a display panel (ILI9341, ST7789, GC9A01, RM67162 AMOLED, ...) over SPI, QSPI or a parallel bus through LovyanGFX.
Inspector name: LGFX Display Panel · Category: LovyanGFX · Type: DekiLovyanGfx::LGFXDisplayPanel
| Property | Type | Default | Constraints | Description |
|---|---|---|---|---|
| panelType | enum | "ILI9341" | ILI9341, ST7789, ST7735, GC9A01, SSD1351, ST7789P3, RM67162 | Display panel driver IC |
| panelWidth | int32 | 320 | 1 to 1024 | Display width in pixels |
| panelHeight | int32 | 240 | 1 to 1024 | Display height in pixels |
| rotation | enum | "Landscape" | Portrait, Landscape, Portrait180, Landscape270, PortraitMirror, LandscapeMirror, Portrait180Mirror, Landscape270Mirror | Display rotation |
| offsetX | int32 | 0 | Pixel offset X (for panels with non-zero origin) | |
| offsetY | int32 | 0 | Pixel offset Y (for panels with non-zero origin) | |
| invertColor | bool | false | Invert display colors | |
| rgbOrder | bool | false | Swap R and B color channels (RGB vs BGR) | |
| busType | enum | "Parallel8bit" | SPI, Parallel8bit, Parallel16bit, QSPI | Display bus type |
| mosiPin | int32 | -1 | -1 to 48; shown when busType allows | SPI MOSI pin |
| misoPin | int32 | -1 | -1 to 48; shown when busType allows | SPI MISO pin (-1 = not used) |
| clkPin | int32 | -1 | -1 to 48; shown when busType allows | SPI clock pin |
| dcPin | int32 | -1 | -1 to 48; shown when busType allows | SPI data/command pin |
| spiPort | int32 | 0 | 0 to 2; shown when busType allows | SPI host, as ESP-IDF numbers them (on an ESP32-S3: 1 = SPI2, 2 = SPI3) |
| spiWriteHz | int32 | 40000000 | shown when busType allows | SPI write frequency in Hz |
| io0Pin | int32 | -1 | -1 to 48; shown when busType allows | QSPI data pin IO0 |
| io1Pin | int32 | -1 | -1 to 48; shown when busType allows | QSPI data pin IO1 |
| io2Pin | int32 | -1 | -1 to 48; shown when busType allows | QSPI data pin IO2 |
| io3Pin | int32 | -1 | -1 to 48; shown when busType allows | QSPI data pin IO3 |
| parWriteHz | int32 | 40000000 | shown when busType allows | Parallel bus write frequency in Hz |
| rsPin | int32 | -1 | -1 to 48; shown when busType allows | Register select / data-command pin (RS/DC) |
| wrPin | int32 | -1 | -1 to 48; shown when busType allows | Parallel bus write strobe pin |
| rdPin | int32 | -1 | -1 to 48; shown when busType allows | Parallel bus read strobe pin (-1 = not used) |
| d0Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D0 |
| d1Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D1 |
| d2Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D2 |
| d3Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D3 |
| d4Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D4 |
| d5Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D5 |
| d6Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D6 |
| d7Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D7 |
| d8Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D8 |
| d9Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D9 |
| d10Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D10 |
| d11Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D11 |
| d12Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D12 |
| d13Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D13 |
| d14Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D14 |
| d15Pin | int32 | -1 | -1 to 48; shown when busType allows | Parallel data pin D15 |
| csPin | int32 | -1 | -1 to 48 | Chip select pin (-1 = not used) |
| rstPin | int32 | -1 | -1 to 48 | Reset pin (-1 = not connected) |
| blPin | int32 | -1 | -1 to 48 | Backlight pin (-1 = none) |
| blPwmChannel | int32 | 0 | 0 to 15 | PWM channel for backlight |
| blInvert | bool | false | Invert backlight signal (active low) | |
| blBrightness | int32 | 255 | 0 to 255 | Backlight brightness at start, 0-255 (PWM duty). 255 holds the pin high. A backlight driver dimmed by counting pulses (the LilyGO T-Deck's) needs 255: a PWM wave steps it through its levels, which flickers |
| swapBytes | bool | false | Swap RGB565 byte order for display transfer | |
| memoryWidth | int32 | 320 | 1 to 1024 | Panel memory width (may differ from visible width) |
| memoryHeight | int32 | 240 | 1 to 1024 | Panel memory height (may differ from visible height) |
| usePsram | bool | false | Keep the framebuffer in PSRAM instead of internal RAM: frees a screen's worth of internal RAM, drawing is slower | |
| doubleBuffer | bool | false | Use double buffering for async DMA (overlaps render and display transfer) | |
| asyncPresent | bool | false | Send each frame from the chip's other core while the next is drawn: a frame costs the longer of drawing and sending instead of both. Takes two frames of external memory (PSRAM) and a dual-core chip; for a byte-swapped panel (swapBytes) presenting whole frames. |
Reads a touch controller (FT5x06, GT911, CST816S, XPT2046) through LovyanGFX.
Inspector name: LGFX Touch Panel · Category: LovyanGFX · Type: DekiLovyanGfx::LGFXTouchPanel
| Property | Type | Default | Constraints | Description |
|---|---|---|---|---|
| driverType | enum | "FT5x06" | FT5x06, GT911, CST816S, XPT2046 | Touch controller IC |
| i2cPort | int32 | 0 | 0 to 3; shown when driverType allows | I2C bus port (must match an I2C Bus component in the boot scene) |
| csPin | int32 | -1 | -1 to 48; shown when driverType allows | SPI chip select pin (-1 = not used) |
| mosiPin | int32 | -1 | -1 to 48; shown when driverType allows | SPI MOSI pin (-1 = not used) |
| misoPin | int32 | -1 | -1 to 48; shown when driverType allows | SPI MISO pin (-1 = not used) |
| clkPin | int32 | -1 | -1 to 48; shown when driverType allows | SPI clock pin (-1 = not used) |
| intPin | int32 | -1 | -1 to 48 | Interrupt pin for touch events (-1 = polling mode) |
| rstPin | int32 | -1 | -1 to 48 | Reset pin for touch controller (-1 = not connected) |
| xMin | int32 | 0 | Minimum raw X from the touch controller, along the panel's width before the display is rotated | |
| xMax | int32 | 239 | Maximum raw X from the touch controller, along the panel's width before the display is rotated (a 240x320 panel shown in landscape: 239) | |
| yMin | int32 | 0 | Minimum raw Y from the touch controller, along the panel's height before the display is rotated | |
| yMax | int32 | 319 | Maximum raw Y from the touch controller, along the panel's height before the display is rotated (a 240x320 panel shown in landscape: 319) | |
| offsetRotation | enum | "None" | None, CW_90, CW_180, CW_270, Mirror, Mirror_CW_90, Mirror_CW_180, Mirror_CW_270 | How the touch controller is turned against the panel, added to the display rotation. None when the controller reports in the panel's own orientation |
| busShared | bool | false | Enable if touch shares the SPI bus with the display |
Earlier releases: CHANGELOG.md.
Generated from the package's reflection data (engine 0.19.0). Property names are the keys used in scene files. Renames keep an alias (compatibility).