1#ifndef SEGLCD_HT1621_LCM59011_H
2#define SEGLCD_HT1621_LCM59011_H
5#if !defined(SEGLCD_DISABLE_ALL_LCDS) || defined(SEGLCD_ENABLE_HT1621_LCM59011)
30 typedef enum : uint8_t {
37 typedef enum : uint8_t {
41 typedef enum : uint32_t {
71 size_t write(uint8_t ch)
override;
134 count =
sizeof(map) /
sizeof(map[0]);
157 count =
sizeof(map) /
sizeof(map[0]);
161 void _setColon(uint8_t row, uint8_t col,
bool state)
override;
HT1621 LCD segment display driver.
Definition SegDriver_HT1621.h:12
virtual size_t write(uint8_t)
Definition SegLCDLib.h:113
LCM59011 LCD (HT1621).
Definition SegLCD_HT1621_LCM59011.h:28
static constexpr uint8_t COLON_BIT
Definition SegLCD_HT1621_LCM59011.h:79
void _updateSymbols(uint32_t symbols, bool set)
Definition SegLCD_HT1621_LCM59011.cpp:76
static constexpr uint8_t COLON_COL
Definition SegLCD_HT1621_LCM59011.h:80
void setSymbols(uint32_t symbols)
Definition SegLCD_HT1621_LCM59011.cpp:109
static const AddressMapping * _getSymbolMap(size_t &count)
Definition SegLCD_HT1621_LCM59011.h:138
static constexpr uint8_t MAX_SIGNAL_LEVEL
Definition SegLCD_HT1621_LCM59011.h:87
static constexpr uint8_t RAM_SIZE
Definition SegLCD_HT1621_LCM59011.h:74
void init() override
Initialize GPIO pins for communication.
Definition SegLCD_HT1621_LCM59011.cpp:10
static constexpr uint8_t SYMBOL_BIT_WARNING
Definition SegLCD_HT1621_LCM59011.h:113
uint8_t _mapSegments(uint8_t val)
Definition SegLCD_HT1621_LCM59011.cpp:158
UnitFlags
Definition SegLCD_HT1621_LCM59011.h:30
@ UNIT_A
Definition SegLCD_HT1621_LCM59011.h:31
@ UNIT_M
Definition SegLCD_HT1621_LCM59011.h:32
@ UNIT_H
Definition SegLCD_HT1621_LCM59011.h:34
@ UNIT_PERCENT
Definition SegLCD_HT1621_LCM59011.h:33
static constexpr uint8_t DIGITS
Definition SegLCD_HT1621_LCM59011.h:75
static constexpr uint8_t SYMBOL_BIT_GSM
Definition SegLCD_HT1621_LCM59011.h:106
void clearUnits(uint8_t units)
Definition SegLCD_HT1621_LCM59011.cpp:97
LabelFlags
Definition SegLCD_HT1621_LCM59011.h:37
@ LABEL_MCB
Definition SegLCD_HT1621_LCM59011.h:38
static constexpr uint8_t LABEL_BIT_MCB
Definition SegLCD_HT1621_LCM59011.h:98
void _setColon(uint8_t row, uint8_t col, bool state) override
Virtual method for setting colon.
Definition SegLCD_HT1621_LCM59011.cpp:122
void setWarningSymbol(bool state, uint8_t index=0)
Definition SegLCD_HT1621_LCM59011.cpp:117
static constexpr uint8_t UNIT_BIT_H
Definition SegLCD_HT1621_LCM59011.h:95
static constexpr uint8_t SIGNAL_MASK
Definition SegLCD_HT1621_LCM59011.h:89
size_t write(uint8_t ch) override
Definition SegLCD_HT1621_LCM59011.cpp:128
static constexpr uint8_t SYMBOL_BIT_PLUG
Definition SegLCD_HT1621_LCM59011.h:112
static constexpr uint8_t COLON_ADDRESS
Definition SegLCD_HT1621_LCM59011.h:78
void clearSymbols(uint32_t symbols)
Definition SegLCD_HT1621_LCM59011.cpp:113
static constexpr uint8_t FLAG_COLON_DISPLAYED
Definition SegLCD_HT1621_LCM59011.h:81
void setSignalLevel(uint8_t level)
Definition SegLCD_HT1621_LCM59011.cpp:40
static constexpr uint8_t UNIT_BIT_M
Definition SegLCD_HT1621_LCM59011.h:93
static constexpr uint8_t SYMBOL_BIT_SUN
Definition SegLCD_HT1621_LCM59011.h:110
SymbolFlags
Definition SegLCD_HT1621_LCM59011.h:41
@ SYMBOL_UPS
Definition SegLCD_HT1621_LCM59011.h:45
@ SYMBOL_ECO
Definition SegLCD_HT1621_LCM59011.h:44
@ SYMBOL_WHEEL
Definition SegLCD_HT1621_LCM59011.h:43
@ SYMBOL_BLUETOOTH
Definition SegLCD_HT1621_LCM59011.h:49
@ SYMBOL_OUTLINE
Definition SegLCD_HT1621_LCM59011.h:56
@ SYMBOL_SUN
Definition SegLCD_HT1621_LCM59011.h:52
@ SYMBOL_LIGHTNING
Definition SegLCD_HT1621_LCM59011.h:53
@ SYMBOL_WARNING
Definition SegLCD_HT1621_LCM59011.h:55
@ SYMBOL_GSM
Definition SegLCD_HT1621_LCM59011.h:48
@ SYMBOL_PLUG
Definition SegLCD_HT1621_LCM59011.h:54
static constexpr uint8_t SIGNAL_ADDRESS
Definition SegLCD_HT1621_LCM59011.h:88
static constexpr uint8_t SYMBOL_BIT_OUTLINE
Definition SegLCD_HT1621_LCM59011.h:114
void setLabels(uint8_t labels)
Definition SegLCD_HT1621_LCM59011.cpp:101
void _updateUnits(uint8_t units, bool set)
Definition SegLCD_HT1621_LCM59011.cpp:53
static constexpr uint8_t SYMBOL_BIT_ECO
Definition SegLCD_HT1621_LCM59011.h:102
void clearLabels(uint8_t labels)
Definition SegLCD_HT1621_LCM59011.cpp:105
static constexpr uint8_t UNIT_BIT_A
Definition SegLCD_HT1621_LCM59011.h:92
void setBatteryLevel(uint8_t level)
Definition SegLCD_HT1621_LCM59011.cpp:19
static constexpr uint8_t UNIT_BIT_PERCENT
Definition SegLCD_HT1621_LCM59011.h:94
static constexpr uint8_t SYMBOL_BIT_BLUETOOTH
Definition SegLCD_HT1621_LCM59011.h:107
static constexpr uint8_t MAX_BATTERY_LEVEL
Definition SegLCD_HT1621_LCM59011.h:84
void setUnits(uint8_t units)
Definition SegLCD_HT1621_LCM59011.cpp:93
static constexpr uint8_t SYMBOL_BIT_UPS
Definition SegLCD_HT1621_LCM59011.h:103
static const AddressMapping * _getUnitMap(size_t &count)
Definition SegLCD_HT1621_LCM59011.h:127
static constexpr uint8_t SYMBOL_BIT_WHEEL
Definition SegLCD_HT1621_LCM59011.h:101
static constexpr uint8_t SYMBOL_BIT_LIGHTNING
Definition SegLCD_HT1621_LCM59011.h:111
void _updateLabels(uint8_t labels, bool set)
Definition SegLCD_HT1621_LCM59011.cpp:70
Abstract 3-wire serial transport.
Definition SegTransport.h:23
Definition SegLCD_HT1621_LCM59011.h:122
FlagBit bits[8]
Definition SegLCD_HT1621_LCM59011.h:124
uint8_t address
Definition SegLCD_HT1621_LCM59011.h:123
Definition SegLCD_HT1621_LCM59011.h:117
uint8_t bit
Definition SegLCD_HT1621_LCM59011.h:119
uint32_t flag
Definition SegLCD_HT1621_LCM59011.h:118