33 #include "v2/lcd/base/display.h" 53 template <
typename... Args>
145 const int8_t m_dc = -1;
147 uint8_t m_rotation = 0x00;
148 static const uint8_t m_rgb_bit = 0b00001000;
205 void beginController();
210 void endController();
212 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 226 explicit DisplayST7789_135x240x16_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
228 , m_spi(*
this, config.dc,
230 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(40000000), config.scl, config.sda})
237 void begin()
override;
264 template <
typename... Args>
267 , m_spi(*this, dcPin, data...)
313 void beginController();
318 void endController();
320 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 334 explicit DisplayST7789_240x240x16_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
336 , m_spi(*
this, config.dc,
338 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(40000000), config.scl, config.sda})
345 void begin()
override;
372 template <
typename... Args>
375 , m_spi(*this, dcPin, data...)
421 void beginController();
426 void endController();
428 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 442 explicit DisplayST7789_170x320x16_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
444 , m_spi(*
this, config.dc,
446 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(40000000), config.scl, config.sda})
453 void begin()
override;
480 template <
typename... Args>
483 , m_spi(*this, dcPin, data...)
508 #include "lcd_st7789.inl" void nextBlock()
Switches to the start of next RAM page for the block, specified by startBlock().
void startBlock(lcduint_t x, lcduint_t y, lcduint_t w)
Sets block in RAM of lcd display controller to write data to.
uint8_t lcduint_t
internal int type, used by the library.
DisplayST7789_135x240x16(I &intf, int8_t rstPin)
Creates instance of ST7789 135x240x16 controller class for 16-bit mode.
void setRotation(uint8_t rotation)
Sets screen orientation (rotation)
DisplayST7789_170x320x16(I &intf, int8_t rstPin)
Creates instance of ST7789 170x320x16 controller class for 16-bit mode.
void setDataMode(uint8_t mode)
Enables either data or command mode on SPI bus.
Class implements basic functions for 16-bit mode of ST7789-based displays.
int8_t lcdint_t
internal int type, used by the library.
InterfaceST7789(NanoDisplayBase< InterfaceST7789< I >> &base, int8_t dc, Args &&... data)
Creates instance of interface to LCD display.
SSD1306 HAL IO communication functions.
void end() override
Closes connection to display.
void begin() override
Initializes ST7789 lcd in 16-bit mode.
void begin() override
Initializes ST7789 lcd in 16-bit mode.
Template class implements ST7789 135x240x16 lcd display in 16 bit mode over custom SPI implementation...
Class implements basic functions for 16-bit mode of ST7789-based displays.
Template class implements ST7789 170x320x16 lcd display in 16 bit mode over custom SPI implementation...
DisplayST7789x16(I &intf, int8_t rstPin)
Creates instance of ST7789 controller class for 16-bit mode.
Class implements interface functions to ST7789 displays.
DisplayST7789_170x320x16_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 170x320x16 lcd display over spi (based on ST7789 controller): 16-bit mode.
void end() override
Closes connection to display.
void begin() override
Initializes ST7789 lcd in 16-bit mode.
Template class implements ST7789 240x240x16 lcd display in 16 bit mode over custom SPI implementation...
void endBlock()
Closes data send operation to lcd display.
Class implements basic functions for 16-bit mode of ST7789-based displays.
DisplayST7789_240x240x16_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 240x240x16 lcd display over spi (based on ST7789 controller): 16-bit mode.
void invertMode()
Switches display to inverted mode (sends INVON command).
void setOffset(lcdint_t ox, lcdint_t oy)
Sets display offset in GDRAM memory.
void end() override
Closes connection to display.
int8_t m_rstPin
indicates hardware reset pin used, -1 if it is not required
DisplayST7789_135x240x16_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 135x240x16 lcd display over spi (based on ST7789 controller): 16-bit mode.
void normalMode()
Switches display to normal mode (sends INVOFF command).
NanoCanvasOps provides operations for drawing in memory buffer.
DisplayST7789_240x240x16(I &intf, int8_t rstPin)
Creates instance of ST7789 240x240x16 controller class for 16-bit mode.
Class implements basic display operations for the library: It stores reference to communication inter...
NanoDisplayOps16 is template class for 16-bit operations.
void commandStart()
Starts communication with LCD display in command mode.
Class implements basic functions for 16-bit mode of ST7789-based displays.