33 #include "v2/lcd/base/display.h" 53 template <
typename... Args>
141 const int8_t m_dc = -1;
143 uint8_t m_rotation = 0x00;
144 uint8_t m_rotate_output = 0x00;
145 static const uint8_t m_rgb_bit = 0b00001000;
200 void beginController();
205 void endController();
207 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 221 explicit DisplayILI9341_240x320x16_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
223 , m_spi(*
this, config.dc,
225 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(10000000), config.scl, config.sda})
232 void begin()
override;
259 template <
typename... Args>
262 , m_spi(*this, dcPin, data...)
308 void beginController();
313 void endController();
315 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 329 explicit DisplayILI9341_128x160x16_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
331 , m_spi(*
this, config.dc,
333 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(10000000), config.scl, config.sda})
340 void begin()
override;
367 template <
typename... Args>
370 , m_spi(*this, dcPin, data...)
395 #include "lcd_ili9341.inl" DisplayILI9341x16(I &intf, int8_t rstPin)
Creates instance of ILI9341 controller class for 16-bit mode.
uint8_t lcduint_t
internal int type, used by the library.
Class implements basic functions for 16-bit mode of ILI9341-based displays.
Template class implements ILI9341 240x320x16 lcd display in 16 bit mode over custom SPI implementatio...
Template class implements ILI9341 128x160x16 lcd display in 16 bit mode over custom SPI implementatio...
void rotateOutput(uint8_t rotate)
Sets rotation of all output functions.
SSD1306 HAL IO communication functions.
DisplayILI9341_128x160x16_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 128x160x16 lcd display over spi (based on ILI9341 controller): 16-bit mode. ...
int8_t m_rstPin
indicates hardware reset pin used, -1 if it is not required
void begin() override
Initializes ILI9341 lcd in 16-bit mode.
void commandStart()
Starts communication with LCD display in command mode.
void setDataMode(uint8_t mode)
Enables either data or command mode on SPI bus.
void normalMode()
Switches display to normal (non-inverted) mode (sends INVOFF command).
void begin() override
Initializes ILI9341 lcd in 16-bit mode.
Class implements basic functions for 16-bit mode of ILI9341-based displays.
InterfaceILI9341(NanoDisplayBase< InterfaceILI9341< I >> &base, int8_t dc, Args &&... data)
Creates instance of interface to LCD display.
void setRotation(uint8_t rotation)
Sets screen orientation (rotation)
Class implements interface functions to ILI9341 displays.
void nextBlock()
Switches to the start of next RAM page for the block, specified by startBlock().
DisplayILI9341_240x320x16(I &intf, int8_t rstPin)
Creates instance of ILI9341 240x320x16 controller class for 16-bit mode.
Class implements basic functions for 16-bit mode of ILI9341-based displays.
void end() override
Closes connection to display.
NanoCanvasOps provides operations for drawing in memory buffer.
DisplayILI9341_128x160x16(I &intf, int8_t rstPin)
Creates instance of ILI9341 128x160x16 controller class for 16-bit mode.
Class implements basic display operations for the library: It stores reference to communication inter...
void end() override
Closes connection to display.
DisplayILI9341_240x320x16_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 240x320x16 lcd display over spi (based on ILI9341 controller): 16-bit mode. ...
NanoDisplayOps16 is template class for 16-bit operations.
void endBlock()
Closes data send operation to lcd display.
void invertMode()
Switches display to inverted mode (sends INVON command).
void startBlock(lcduint_t x, lcduint_t y, lcduint_t w)
Sets block in RAM of lcd display controller to write data to.