Driver for ILI9341 8-bit parallel display controller, driven via ESP32's LCD_CAM/I80 or PARLIO peripheral (see DisplayDriverParallel8ESP32).
More...
#include <DisplayDriverParallel8ESP32.h>
|
| | ILI9341Driver8080ESP32 (int8_t d0, int8_t d1, int8_t d2, int8_t d3, int8_t d4, int8_t d5, int8_t d6, int8_t d7, int8_t wr, int8_t dc, int8_t cs, Rotation rotation=Rotation::kNone, uint32_t pclkHz=20000000, size_t nativeWidth=240, size_t nativeHeight=320) |
| |
| size_t | width () const override |
| |
| size_t | height () const override |
| |
| bool | begin () override |
| |
| void | setRotation (Rotation rotation) override |
| |
| Rotation | rotation () const |
| |
| void | setInvertColor (bool invert) |
| |
| | DisplayDriverParallel8ESP32 (int8_t d0, int8_t d1, int8_t d2, int8_t d3, int8_t d4, int8_t d5, int8_t d6, int8_t d7, int8_t wr, int8_t dc, int8_t cs, size_t width=240, size_t height=320, uint32_t pclkHz=20000000) |
| |
| void | end () override |
| |
| | ~DisplayDriverParallel8ESP32 () override |
| |
| size_t | width () const override |
| |
| size_t | height () const override |
| |
| bool | writeData (ISurface< RGB_T > &surface) override |
| |
| bool | writeData (ISurface< RGB_T > &surface, size_t x, size_t y) override |
| |
| virtual | ~DisplayDriver ()=default |
| |
| virtual bool | begin ()=0 |
| |
| virtual void | end () |
| |
| virtual bool | writeData (ISurface< RGB_T > &surface)=0 |
| |
| virtual bool | writeData (ISurface< RGB_T > &surface, size_t x, size_t y)=0 |
| |
| virtual void | setRotation (DisplayRotation rotation) |
| |
| virtual size_t | width () const =0 |
| |
| virtual size_t | height () const =0 |
| |
| void | writeColor (size_t width, size_t height, RGB_T color) |
| |
template<typename RGB_T = RGB565>
class tinygpu::ILI9341Driver8080ESP32< RGB_T >
Driver for ILI9341 8-bit parallel display controller, driven via ESP32's LCD_CAM/I80 or PARLIO peripheral (see DisplayDriverParallel8ESP32).
Same power/gamma/MADCTL init sequence as DisplayDriverSPI.h's ILI9341Driver (see that class's doc comment for provenance) - only the bus underneath differs.
◆ Rotation
◆ ILI9341Driver8080ESP32()
| ILI9341Driver8080ESP32 |
( |
int8_t |
d0, |
|
|
int8_t |
d1, |
|
|
int8_t |
d2, |
|
|
int8_t |
d3, |
|
|
int8_t |
d4, |
|
|
int8_t |
d5, |
|
|
int8_t |
d6, |
|
|
int8_t |
d7, |
|
|
int8_t |
wr, |
|
|
int8_t |
dc, |
|
|
int8_t |
cs, |
|
|
Rotation |
rotation = Rotation::kNone, |
|
|
uint32_t |
pclkHz = 20000000, |
|
|
size_t |
nativeWidth = 240, |
|
|
size_t |
nativeHeight = 320 |
|
) |
| |
|
inline |
- Parameters
-
| nativeWidth/nativeHeight | the panel's physical resolution in its native (portrait, MV bit clear) orientation - 240x320 is the common ILI9341 module size and the default; pass your panel's real values if it differs. |
◆ begin()
◆ height()
◆ madctlForRotation()
| static uint8_t madctlForRotation |
( |
Rotation |
rotation | ) |
|
|
inlinestaticprotected |
◆ rotation()
◆ setInvertColor()
| void setInvertColor |
( |
bool |
invert | ) |
|
|
inline |
◆ setRotation()
Changes the panel's rotation after begin(). Default no-op, for drivers with no such concept (e.g. a fixed-orientation panel, or a desktop/SDL backend) - concrete SPI drivers (ILI9341Driver, ILI9342Driver) override this to reprogram MADCTL.
Reimplemented from DisplayDriver< RGB_T >.
◆ width()
Current addressable panel width/height in pixels - for a driver that supports setRotation(), these reflect the current rotation (landscape vs portrait swaps them; see isLandscapeFamily()), not necessarily the panel's native/physical orientation. Callers that need to lay out content (e.g. OutputTinyGPU's scale_to_fit target, or clearScreen()'s band loop) should read these fresh rather than caching their own copy, so a setRotation() call is picked up automatically without needing separate bookkeeping.
Reimplemented from DisplayDriverParallel8ESP32< RGB_T >.
◆ invertColor_
| bool invertColor_ = false |
|
protected |
◆ nativeHeight_
◆ nativeWidth_
◆ rotation_
The documentation for this class was generated from the following file: