|
| | SegLCD_VK0192_5DigSigBattProgress (SegTransport3Wire &transport, uint8_t chipselect) |
| |
| void | init () override |
| | Initialize GPIO pins for communication.
|
| |
| void | setBatteryLevel (uint8_t value) |
| |
| void | setSignalLevel (uint8_t value) |
| |
| void | setProgress (uint8_t value) |
| |
| void | setUnits (uint16_t units) |
| |
| void | clearUnits (uint16_t units) |
| |
| void | setDegreeSymbol (bool state, uint8_t index=0) |
| |
| void | setLabels (uint16_t labels) |
| |
| void | clearLabels (uint16_t labels) |
| |
| void | setCursor (uint8_t row, uint8_t col) override |
| | Set cursor on exact digit.
|
| |
| size_t | write (uint8_t ch) override |
| |
| 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.
|
| |
| | SegDriver_VK0192 (SegTransport3Wire &transport, uint8_t chipselect) |
| | Constructor for VK0192 segment driver.
|
| |
| | SegDriver_3Wire (SegTransport3Wire &transport, uint8_t chipselect) |
| | Constructor for 3-wire serial LCD driver.
|
| |
| 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.
|
| |
| 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.
|
| |
|
| void | _writeDigit7seg (uint8_t row, uint8_t col, char c) |
| |
| void | _writeDigit16seg (uint8_t row, uint8_t col, char c) |
| |
| void | _setDecimal (uint8_t row, uint8_t col, bool state) override |
| | Virtual method for setting decimal point.
|
| |
| uint8_t | _mapSegments (uint8_t val) |
| |
| uint16_t | _map16Segments (uint16_t val) |
| |
| int8_t | _get7SegmentsAddress (uint8_t row, uint8_t col) |
| |
| int8_t | _get16SegmentsAddress (uint8_t row, uint8_t col) |
| |
| void | _updateUnits (uint16_t units, bool set) |
| |
| void | _updateLabels (uint16_t labels, bool set) |
| |
|
| static constexpr uint8_t | MAX_ADDRESS = 46 |
| | Last valid start HW nibble address for byte write.
|
| |
| 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 | _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.
|
| |
| SegTransport3Wire & | _transport |
| |
| uint8_t | _cs |
| | Chip select pin for the display.
|
| |
| bool | _autoFlush = true |
| | Autoflush mode enabled flag (default: true for LCD API 1.0 compatibility).
|
| |
| SegBacklight * | _backlight = nullptr |
| | Backlight implementation (nullptr if disabled)
|
| |
| BacklightMode | _backlightMode = BACKLIGHT_DIGITAL |
| | Backlight mode (DIGITAL or PWM)
|
| |
| uint8_t | _backlightBrightness = 0 |
| | Cached backlight brightness.
|
| |
| uint8_t | _displayFlags = 0 |
| | Generic flag storage for display-specific state tracking.
|
| |
| uint8_t * | _ramBuffer = nullptr |
| | Dynamic RAM buffer for display data (allocated by derived classes).
|
| |
| size_t | _ramBufferSize = 0 |
| | Size of allocated RAM buffer in bytes.
|
| |
| uint8_t | _cursorRow = 0 |
| | Current Row.
|
| |
| uint8_t | _cursorCol = 0 |
| | Current Column.
|
| |
| static constexpr uint8_t | FLAG_PENDING_DOT = 0x80 |
| | Common flag for decimal handling when RAM offset is 0.
|
| |
5-digit 7-segment LCD with signal/battery/progress (VK0192).
Features: signal bars, battery level, progress indicator, unit labels. Integrated VK0192 controller, 3-wire serial protocol. Irregular RAM addressing.
- See also
- examples/VK0192/5DigSigBattProgress/5DigSigBattProgress.ino
| void SegLCD_VK0192_5DigSigBattProgress::setCursor |
( |
uint8_t |
row, |
|
|
uint8_t |
col |
|
) |
| |
|
overridevirtual |
Set cursor on exact digit.
Because LCD API is mainly used for character displays in this segment displays this function will be littlebit confusing. Because most of Segment LCD has only one row, thus this will be like row 0 and column will represent actual digit.
But if there is LCD like T1T2 LCD. Row 0 will be clock part, Row 1 will be T1: part and Row 2 will be T2: part of LCD
- Parameters
-
| row | Row, where 0-MAXROWS |
| col | Column 0-MAXDIGITS in current row |
Reimplemented from SegLCDLib.