|
| | SegDriver_3Wire (SegTransport3Wire &transport, uint8_t chipselect) |
| | Constructor for 3-wire serial LCD driver.
|
| |
| void | init () override |
| | Initialize GPIO pins for communication.
|
| |
| void | on () override |
| | Turn the display on.
|
| |
| void | off () override |
| | Turn the display off.
|
| |
| void | command (uint8_t command) override |
| | Send command to the controller.
|
| |
| void | flush (uint8_t startAddr, uint8_t length) override |
| | Flush specific range of buffered changes to the display.
|
| |
| virtual void | flush () |
| | Flush all buffered changes to the display.
|
| |
| virtual void | flush (uint8_t startAddr, uint8_t length) |
| | Flush specific range of buffered changes to the display.
|
| |
| | SegLCDLib ()=default |
| | Default constructor.
|
| |
| virtual | ~SegLCDLib () |
| | Virtual destructor to ensure proper cleanup in derived classes.
|
| |
| | SegLCDLib (const SegLCDLib &)=delete |
| | Disable copying to keep the RAM buffer uniquely owned.
|
| |
| SegLCDLib & | operator= (const SegLCDLib &)=delete |
| |
| virtual void | clear () |
| | Clear all visible segments on the display.
|
| |
| void | home () |
| | Set cursor to 0, 0 without clear display.
|
| |
| virtual void | setCursor (uint8_t row, uint8_t col) |
| | Set cursor on exact digit.
|
| |
| virtual size_t | write (uint8_t) |
| |
| size_t | write (const char *str) |
| | Write a null-terminated string to the display.
|
| |
| size_t | write (const char *buffer, size_t size) |
| | Write a buffer of characters to the display.
|
| |
| void | initBacklight (SegBacklight *backlight, BacklightMode backlightMode=BACKLIGHT_DIGITAL) |
| | Initialize backlight control.
|
| |
| virtual void | setBacklight (bool state) |
| | Set backlight state (on/off).
|
| |
| virtual void | setBacklight (int brightness) |
| | Set backlight brightness (0-255).
|
| |
| void | setAutoFlush (bool enable) |
| | Enable or disable autoflush mode.
|
| |
| bool | getAutoFlush () const |
| | Get current autoflush state.
|
| |
| const uint8_t * | getRamBuffer () const |
| | Get pointer to internal RAM buffer (read-only).
|
| |
| size_t | getRamBufferSize () const |
| | Get size of internal RAM buffer in bytes.
|
| |
|
| virtual void | _writeRam (uint8_t *data, size_t length, uint8_t address) |
| | Write multiple bytes to RAM starting at specified address.
|
| |
| void | _writeRam (uint8_t data, uint8_t address=0) |
| | Low-level method to write a single byte to display RAM.
|
| |
| virtual void | _writeRam (uint8_t *data, size_t length, uint8_t address)=0 |
| | Low-level method to write a data buffer to display RAM.
|
| |
| void | _setFlag (uint8_t mask) |
| | Set a specific flag bit.
|
| |
| void | _clearFlag (uint8_t mask) |
| | Clear a specific flag bit.
|
| |
| bool | _isFlagSet (uint8_t mask) const |
| | Check if a specific flag bit is set.
|
| |
| void | _clearAllFlags () |
| | Clear all flags.
|
| |
| bool | _dotWrite (uint8_t ch, int8_t minCol, int8_t maxCol, int8_t ramOffset) |
| | Write decimal point.
|
| |
| void | _dotClearCur (int8_t minCol, int8_t maxCol) |
| | Clear current decimal (overwrite).
|
| |
| void | _colonClearIfNotFlagged (uint8_t ch, uint8_t colonCol, uint8_t colonFlag) |
| | Clear colon if its flag is not set.
|
| |
| virtual void | _setDecimal (uint8_t, uint8_t, bool) |
| | Virtual method for setting decimal point.
|
| |
| virtual void | _setColon (uint8_t, uint8_t, bool) |
| | Virtual method for setting colon.
|
| |
| void | _allocateBuffer (size_t size) |
| | Allocate RAM buffer for display data.
|
| |
| void | _writeRamMasked (uint8_t data, uint8_t address, uint8_t mask=0xFF) |
| | Write to display RAM with nibble-aware masking support.
|
| |
| void | _writeRam (uint8_t data, uint8_t address=0) |
| | Low-level method to write a single byte to display RAM.
|
| |
| uint8_t | _get_char_value (char ch) |
| | Helper method to convert a character to its segment representation.
|
| |
| uint16_t | _get_16char_value (char ch) |
| | Helper method to convert a character to its 16-segment representation.
|
| |
Base class for 3-wire serial LCD segment display drivers.
This class implements the common 3-wire serial communication protocol used by controllers like HT1621, VK0192, and HT1622.
| void SegLCDLib::flush |
( |
uint8_t |
startAddr, |
|
|
uint8_t |
length |
|
) |
| |
|
virtual |
Flush specific range of buffered changes to the display.
Writes a specific address range from the display buffer to hardware. This is an advanced API for optimizing updates when only part of the display needs to be refreshed.
For example, to update only the first row of a multi-row display:
Safe to call even when autoflush is enabled (no effect).
- Parameters
-
| startAddr | Starting buffer address in bytes (RAM buffer index) |
| length | Number of bytes to flush |
- See also
- setAutoFlush()
Reimplemented from SegLCDLib.