33 #include "v2/lcd/base/display.h" 53 template <
typename... Args>
168 uint8_t m_startLine = 0;
223 void beginController();
228 void endController();
230 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 244 explicit DisplaySSD1306_64x32_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
246 , m_spi(*
this, config.dc,
248 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(10000000), config.scl, config.sda})
255 void begin()
override;
282 template <
typename... Args>
285 , m_spi(*this, dcPin, data...)
310 #ifdef CONFIG_LCDGFX_PLATFORM_I2C 324 explicit DisplaySSD1306_64x32_I2C(int8_t rstPin,
const SPlatformI2cConfig &config = {-1, 0x3C, -1, -1, 0U})
328 config.frequency ?: 400000U})
335 void begin()
override;
361 template <
typename... Args>
364 , m_i2c(*this, -1, data...)
409 template <
typename... Args>
412 , m_custom(*this, dcPin, frequency = frequency ? frequency : 3000000, data...)
458 void beginController();
463 void endController();
465 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 479 explicit DisplaySSD1306_64x48_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
481 , m_spi(*
this, config.dc,
483 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(10000000), config.scl, config.sda})
490 void begin()
override;
517 template <
typename... Args>
520 , m_spi(*this, dcPin, data...)
545 #ifdef CONFIG_LCDGFX_PLATFORM_I2C 559 explicit DisplaySSD1306_64x48_I2C(int8_t rstPin,
const SPlatformI2cConfig &config = {-1, 0x3C, -1, -1, 0U})
563 config.frequency ?: 400000U})
570 void begin()
override;
596 template <
typename... Args>
599 , m_i2c(*this, -1, data...)
644 template <
typename... Args>
647 , m_custom(*this, dcPin, frequency = frequency ? frequency : 3000000, data...)
693 void beginController();
698 void endController();
700 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 714 explicit DisplaySSD1306_128x32_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
716 , m_spi(*
this, config.dc,
718 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(10000000), config.scl, config.sda})
725 void begin()
override;
752 template <
typename... Args>
755 , m_spi(*this, dcPin, data...)
780 #ifdef CONFIG_LCDGFX_PLATFORM_I2C 794 explicit DisplaySSD1306_128x32_I2C(int8_t rstPin,
const SPlatformI2cConfig &config = {-1, 0x3C, -1, -1, 0U})
798 config.frequency ?: 400000U})
805 void begin()
override;
831 template <
typename... Args>
834 , m_i2c(*this, -1, data...)
879 template <
typename... Args>
882 , m_custom(*this, dcPin, frequency = frequency ? frequency : 3000000, data...)
928 void beginController();
933 void endController();
935 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 949 explicit DisplaySSD1306_128x64_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
951 , m_spi(*
this, config.dc,
953 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(10000000), config.scl, config.sda})
960 void begin()
override;
987 template <
typename... Args>
990 , m_spi(*this, dcPin, data...)
1015 #ifdef CONFIG_LCDGFX_PLATFORM_I2C 1029 explicit DisplaySSD1306_128x64_I2C(int8_t rstPin,
const SPlatformI2cConfig &config = {-1, 0x3C, -1, -1, 0U})
1033 config.frequency ?: 400000U})
1040 void begin()
override;
1045 void end()
override;
1066 template <
typename... Args>
1069 , m_i2c(*this, -1, data...)
1114 template <
typename... Args>
1117 , m_custom(*this, dcPin, frequency = frequency ? frequency : 3000000, data...)
1142 #include "lcd_ssd1306.inl" DisplaySSD1306_64x32_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 64x32 lcd display over spi (based on SSD1306 controller): 1-bit mode.
DisplaySSD1306_128x32_Custom(int8_t rstPin, int8_t dcPin, uint32_t frequency, Args &&... data)
Inits 128x32 lcd display over custom interface (based on SSD1306 controller): 1-bit mode...
void setStartLine(uint8_t line)
DisplaySSD1306_64x48_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 64x48 lcd display over spi (based on SSD1306 controller): 1-bit mode.
DisplaySSD1306_128x64(I &intf, int8_t rstPin)
DisplaySSD1306_128x64_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 128x64 lcd display over spi (based on SSD1306 controller): 1-bit mode.
void flipVertical(uint8_t mode)
performs vertical flip
DisplaySSD1306(I &intf, int8_t rstPin)
DisplaySSD1306_64x48_Custom(int8_t rstPin, int8_t dcPin, uint32_t frequency, Args &&... data)
Inits 64x48 lcd display over custom interface (based on SSD1306 controller): 1-bit mode...
DisplaySSD1306_64x48_CustomI2C(int8_t rstPin, Args &&... data)
Inits 64x48 lcd display over i2c (based on SSD1306 controller): 1-bit mode.
DisplaySSD1306_128x64_Custom(int8_t rstPin, int8_t dcPin, uint32_t frequency, Args &&... data)
Inits 128x64 lcd display over custom interface (based on SSD1306 controller): 1-bit mode...
DisplaySSD1306_64x32_CustomI2C(int8_t rstPin, Args &&... data)
Inits 64x32 lcd display over i2c (based on SSD1306 controller): 1-bit mode.
DisplaySSD1306_128x32_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 128x32 lcd display over spi (based on SSD1306 controller): 1-bit mode.
InterfaceSSD1306(NanoDisplayBase< InterfaceSSD1306< I >> &base, int8_t dc, Args &&... data)
int8_t m_rstPin
indicates hardware reset pin used, -1 if it is not required
void startBlock(lcduint_t x, lcduint_t y, lcduint_t w)
Sets block in RAM of lcd display controller to write data to.
DisplaySSD1306_64x48(I &intf, int8_t rstPin)
void flipHorizontal(uint8_t mode)
performs horizontal flip
DisplaySSD1306_64x32(I &intf, int8_t rstPin)
DisplaySSD1306_128x32_CustomI2C(int8_t rstPin, Args &&... data)
Inits 128x32 lcd display over i2c (based on SSD1306 controller): 1-bit mode.
void setDataMode(uint8_t mode)
DisplaySSD1306_128x64_CustomI2C(int8_t rstPin, Args &&... data)
Inits 128x64 lcd display over i2c (based on SSD1306 controller): 1-bit mode.
void setContrast(uint8_t contrast)
DisplaySSD1306_128x32(I &intf, int8_t rstPin)
DisplaySSD1306_64x32_Custom(int8_t rstPin, int8_t dcPin, uint32_t frequency, Args &&... data)
Inits 64x32 lcd display over custom interface (based on SSD1306 controller): 1-bit mode...