|
| | SegLCD_HT1621_LCM59011 (uint8_t chipselect, uint8_t data, uint8_t write, uint8_t read=-1) |
| |
| void | init () override |
| | Initialize GPIO pins for communication.
|
| |
| void | setBatteryLevel (uint8_t level) |
| |
| void | setSignalLevel (uint8_t level) |
| |
| void | setUnits (uint8_t units) |
| |
| void | clearUnits (uint8_t units) |
| |
| void | setLabels (uint8_t labels) |
| |
| void | clearLabels (uint8_t labels) |
| |
| void | setSymbols (uint32_t symbols) |
| |
| void | clearSymbols (uint32_t symbols) |
| |
| void | setWarningSymbol (bool state, uint8_t index=0) |
| |
| size_t | write (uint8_t ch) override |
| |
| | SegDriver_HT1621 (uint8_t chipselect, uint8_t data, uint8_t write, uint8_t read=-1) |
| | Constructor for HT1621 segment driver.
|
| |
| void | clear () override |
| | Clear all visible segments on the display.
|
| |
| 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.
|
| |
| | SegDriver_3Wire (uint8_t chipselect, uint8_t data, uint8_t write, uint8_t read=-1) |
| | 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.
|
| |
| virtual | ~SegLCDLib () |
| | Virtual destructor to ensure proper cleanup in derived classes.
|
| |
| void | home () |
| | Set cursor to 0, 0 without clear display.
|
| |
| virtual void | setCursor (uint8_t row, uint8_t col) |
| | Set cursor on exact digit.
|
| |
| void | initBacklight (int8_t backlightPin, BacklightMode backlightMode=BACKLIGHT_DIGITAL, bool backlightActiveHigh=true) |
| | Initialize GPIO 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 | _setMode (ModeDrive drive=MODE_DRIVE_14, ModeBias bias=MODE_BIAS_13) |
| | Set the mode of the display.
|
| |
| void | _writeRam (uint8_t data, uint8_t address) |
| | Write single byte to RAM at specified address.
|
| |
| virtual void | _writeRam (uint8_t *data, size_t length, uint8_t address) |
| | Write multiple bytes to RAM starting at specified address.
|
| |
| virtual void | _sendBits (uint16_t data, uint8_t bitCount=8) |
| | Send bits to the controller.
|
| |
| 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 row, uint8_t col, bool state) |
| | Virtual method for setting decimal point.
|
| |
| 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.
|
| |
| 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.
|
| |
| uint8_t | _wr |
| | Write clock pin for the display.
|
| |
| uint8_t | _rd |
| | Read clock pin for the display.
|
| |
| uint8_t | _data |
| | Data pin for the display.
|
| |
| uint8_t | _cs |
| | Chip select pin for the display.
|
| |
| uint8_t | _maxAddress |
| | Maximum address for this controller.
|
| |
| bool | _autoFlush = true |
| | Autoflush mode enabled flag (default: true for LCD API 1.0 compatibility).
|
| |
| int8_t | _backlightPin = -1 |
| | Backlight GPIO pin (-1 if disabled)
|
| |
| BacklightMode | _backlightMode = BACKLIGHT_DIGITAL |
| | Backlight mode (DIGITAL or PWM)
|
| |
| bool | _backlightActiveHigh = true |
| | Backlight active high flag.
|
| |
| uint8_t | _backlightBrightness = 0 |
| | Cached backlight brightness.
|
| |
| uint8_t | _displayFlags = 0 |
| | LEDC channel for old ESP32 Arduino Core (2.0.x)
|
| |
| 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.
|
| |
LCM59011 LCD (HT1621).
4-digit 7-segment display with colon, wifi signal, battery, and misc symbols. Integrated HT1621 controller, 3-wire serial protocol.
Memory map:
- 0x00: Digit 1 (7seg) + 0x80=MCB label
- 0x02: Digit 2 (7seg) + 0x80=A unit
- 0x04: Digit 3 (7seg) + 0x80=Colon between D2-D3
- 0x06: Digit 4 (7seg) + 0x80=M unit
- 0x08: wifi1-4, percent, wheel, ECO, UPS
- 0x0A: battery outline+1+2, H, GSM SIM, BT
- 0x0C: Sun, Thunder, Plug, Warning, bat5+4+3, lines glyph