33 #include "v2/lcd/base/display.h" 53 template <
typename... Args>
178 uint8_t m_startLine = 0;
179 uint8_t m_column = 0;
235 void beginController();
240 void endController();
242 #ifdef CONFIG_LCDGFX_PLATFORM_SPI 256 explicit DisplaySH1106_128x64_SPI(int8_t rstPin,
const SPlatformSpiConfig &config = {-1, {-1}, -1, 0U, -1, -1})
258 , m_spi(*
this, config.dc,
260 config.busId, {config.cs}, config.
dc, config.frequency ?: static_cast<uint32_t>(10000000), config.scl, config.sda})
267 void begin()
override;
294 template <
typename... Args>
297 , m_spi(*this, dcPin, data...)
322 #ifdef CONFIG_LCDGFX_PLATFORM_I2C 336 explicit DisplaySH1106_128x64_I2C(int8_t rstPin,
const SPlatformI2cConfig &config = {-1, 0x3C, -1, -1, 0U})
340 config.frequency ?: 400000U})
347 void begin()
override;
373 template <
typename... Args>
376 , m_i2c(*this, -1, data...)
401 #include "lcd_sh1106.inl" void displayOn()
Turns on the display, resuming normal output.
uint8_t lcduint_t
internal int type, used by the library.
void setDataMode(uint8_t mode)
Enables either data or command mode on SPI bus.
void begin() override
Initializes SH1106 lcd in 1-bit mode.
DisplaySH1106_128x64(I &intf, int8_t rstPin)
Creates instance of SH1106 128x64 controller class for 1-bit mode.
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.
SSD1306 HAL IO communication functions.
int8_t m_rstPin
indicates hardware reset pin used, -1 if it is not required
void setStartLine(uint8_t line)
Sets start line in GDRAM to begin display content with.
InterfaceSH1106(NanoDisplayBase< InterfaceSH1106< I >> &base, int8_t dc, Args &&... data)
Creates instance of interface to LCD display.
Class implements basic functions for 1-bit mode of SH1106-based displays.
void begin() override
Initializes SH1106 lcd in 1-bit mode.
Template class implements SH1106 128x64 lcd display in 1 bit mode over custom SPI implementation (use...
void flipVertical(uint8_t mode)
Performs vertical flip.
void endBlock()
Closes data send operation to lcd display.
NanoDisplayOps1 is template class for 1-bit operations.
void commandStart()
Starts communication with LCD display in command mode.
void nextBlock()
Switches to the start of next RAM page for the block, specified by startBlock().
Class implements interface functions to SH1106 displays.
void end() override
Closes connection to display.
void startBlock(lcduint_t x, lcduint_t y, lcduint_t w)
Sets block in RAM of lcd display controller to write data to.
void invertMode()
Switches display to inverted mode.
void normalMode()
Switches display back to normal (non-inverted) mode.
void displayOff()
Turns off the display (enters sleep mode).
Template class implements SH1106 128x64 lcd display in 1 bit mode over custom I2C implementation (use...
NanoCanvasOps provides operations for drawing in memory buffer.
Class implements basic display operations for the library: It stores reference to communication inter...
uint8_t getStartLine()
Returns the current start line offset in GDRAM.
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)
Sets display contrast (brightness level).
void end() override
Closes connection to display.
DisplaySH1106(I &intf, int8_t rstPin)
Creates instance of SH1106 controller class for 1-bit mode.
Class implements basic functions for 1-bit mode of SH1106-based displays.