54 template <
typename... Args>
170 uint8_t m_startLine = 0;
191 , m_rstPin( rstPin ) { }
199 void begin()
override;
228 void begin()
override;
251 , m_spi( *
this, config.dc,
255 config.frequency ?: 10000000,
262 void begin()
override;
289 template <
typename... Args>
292 , m_spi( *this, dcPin,
333 static_cast<uint8_t
>(config.addr ?: 0x3C),
336 config.frequency ?: 400000 } ) {}
341 void begin()
override;
367 template <
typename... Args>
396 #include "lcd_sh1106.inl"
DisplaySH1106_128x64_I2C(int8_t rstPin, const SPlatformI2cConfig &config={ -1, 0x3C, -1, -1, 0 })
Inits 128x64 lcd display over i2c (based on SH1106 controller): 1-bit mode.
void setDataMode(uint8_t mode)
DisplaySH1106_128x64(I &intf, int8_t rstPin)
void flipHorizontal(uint8_t mode)
performs horizontal flip
DisplaySH1106_128x64_CustomSPI(int8_t rstPin, int8_t dcPin, Args &&... data)
Inits 128x64 lcd display over spi (based on SH1106 controller): 1-bit mode.
int8_t m_rstPin
indicates hardware reset pin used, -1 if it is not required
void setStartLine(uint8_t line)
InterfaceSH1106(NanoDisplayBase< InterfaceSH1106< I >> &base, int8_t dc, Args &&... data)
void flipVertical(uint8_t mode)
performs vertical flip
void startBlock(lcduint_t x, lcduint_t y, lcduint_t w)
Sets block in RAM of lcd display controller to write data to.
DisplaySH1106_128x64_SPI(int8_t rstPin, const SPlatformSpiConfig &config={ -1, { -1 }, -1, 0, -1, -1 })
Inits 128x64 lcd display over spi (based on SH1106 controller): 1-bit mode.
DisplaySH1106_128x64_CustomI2C(int8_t rstPin, Args &&... data)
Inits 128x64 lcd display over i2c (based on SH1106 controller): 1-bit mode.
void setContrast(uint8_t contrast)
DisplaySH1106(I &intf, int8_t rstPin)