LCDGFX LCD display driver  1.2.0
Lightweight graphics library for SSD1306, SSD1325, SSD1327, SSD1331, SSD1351, SH1106, SH1107, IL9163, ST7735, ST7789, ILI9341, PCD8544 displays over I2C/SPI
InterfaceILI9341< I > Class Template Reference

Class implements interface functions to ILI9341 displays. More...

#include <lcd_ili9341.h>

Inheritance diagram for InterfaceILI9341< I >:
Collaboration diagram for InterfaceILI9341< I >:

Public Member Functions

template<typename... Args>
 InterfaceILI9341 (NanoDisplayBase< InterfaceILI9341< I >> &base, int8_t dc, Args &&... data)
 Creates instance of interface to LCD display. More...
 
void startBlock (lcduint_t x, lcduint_t y, lcduint_t w)
 Sets block in RAM of lcd display controller to write data to. More...
 
void nextBlock ()
 Switches to the start of next RAM page for the block, specified by startBlock(). More...
 
void endBlock ()
 Closes data send operation to lcd display.
 
void setDataMode (uint8_t mode)
 Enables either data or command mode on SPI bus. More...
 
void commandStart ()
 Starts communication with LCD display in command mode. More...
 
void setRotation (uint8_t rotation)
 Sets screen orientation (rotation) More...
 
void rotateOutput (uint8_t rotate)
 Sets rotation of all output functions. More...
 
void normalMode ()
 Switches display to normal (non-inverted) mode (sends INVOFF command). More...
 
void invertMode ()
 Switches display to inverted mode (sends INVON command). More...
 

Detailed Description

template<typename I>
class InterfaceILI9341< I >

Class implements interface functions to ILI9341 displays.

Definition at line 43 of file lcd_ili9341.h.

Constructor & Destructor Documentation

◆ InterfaceILI9341()

template<typename I>
template<typename... Args>
InterfaceILI9341< I >::InterfaceILI9341 ( NanoDisplayBase< InterfaceILI9341< I >> &  base,
int8_t  dc,
Args &&...  data 
)
inline

Creates instance of interface to LCD display.

Parameters
baseReference to base class, which represents Display
dcData/command control pin number, for i2c communication should be -1
datavariable argument list, accepted by platform interface (PlatformI2c, PlatformSpi)

Definition at line 54 of file lcd_ili9341.h.

Member Function Documentation

◆ commandStart()

template<class I >
void InterfaceILI9341< I >::commandStart ( )

Starts communication with LCD display in command mode.

To stop communication use m_intf.end().

Definition at line 77 of file lcd_ili9341.inl.

◆ invertMode()

template<class I >
void InterfaceILI9341< I >::invertMode ( )

Switches display to inverted mode (sends INVON command).

Use this to re-enable inversion if normalMode() was called.

See also
normalMode()

Definition at line 134 of file lcd_ili9341.inl.

◆ nextBlock()

template<class I >
void InterfaceILI9341< I >::nextBlock ( )

Switches to the start of next RAM page for the block, specified by startBlock().

For ILI9341 it does nothing, while for sh1106 the function moves cursor to next page.

Definition at line 59 of file lcd_ili9341.inl.

◆ normalMode()

template<class I >
void InterfaceILI9341< I >::normalMode ( )

Switches display to normal (non-inverted) mode (sends INVOFF command).

See also
invertMode()

Definition at line 126 of file lcd_ili9341.inl.

◆ rotateOutput()

template<class I >
void InterfaceILI9341< I >::rotateOutput ( uint8_t  rotate)

Sets rotation of all output functions.

Sets rotation of all output functions. 0 - no rotation, 1 - change by 90 degrees Actually doesn't change screen orientation, only rotates primitives being output

Parameters
rotateenable (1) of disable (0)
Warning
experimental feature, may work incorrectly

Definition at line 120 of file lcd_ili9341.inl.

◆ setDataMode()

template<class I >
void InterfaceILI9341< I >::setDataMode ( uint8_t  mode)

Enables either data or command mode on SPI bus.

Parameters
mode1 to enable data mode, or 0 to enable command mode

Definition at line 69 of file lcd_ili9341.inl.

◆ setRotation()

template<class I >
void InterfaceILI9341< I >::setRotation ( uint8_t  rotation)

Sets screen orientation (rotation)

Sets screen orientation (rotation):

  • 0 — normal (portrait)
  • 1 — 90° CW (landscape)
  • 2 — 180° CW (portrait inverted)
  • 3 — 270° CW (landscape inverted)
Parameters
rotationscreen rotation (0–3)

Definition at line 86 of file lcd_ili9341.inl.

◆ startBlock()

template<class I >
void InterfaceILI9341< I >::startBlock ( lcduint_t  x,
lcduint_t  y,
lcduint_t  w 
)

Sets block in RAM of lcd display controller to write data to.

Sets block in RAM of lcd display controller to write data to. For ILI9341 it uses horizontal addressing mode, while for sh1106 the function uses page addressing mode. Width can be specified as 0, thus the library will set the right boundary to region of RAM block to the right column of the display.

Parameters
x- column (left region)
y- row (top region)
w- width of the block in pixels to control
Warning
- this function initiates session (i2c or spi) and does not close it. To close session, please, call endBlock().

Definition at line 35 of file lcd_ili9341.inl.


The documentation for this class was generated from the following files: