1#ifndef SEGLCD_HT1621_LCM59011_H
2#define SEGLCD_HT1621_LCM59011_H
28 typedef enum : uint8_t {
35 typedef enum : uint8_t {
39 typedef enum : uint32_t {
68 size_t write(uint8_t ch)
override;
131 count =
sizeof(map) /
sizeof(map[0]);
154 count =
sizeof(map) /
sizeof(map[0]);
158 void _setColon(uint8_t row, uint8_t col,
bool state)
override;
HT1621 LCD segment display driver.
Definition SegDriver_HT1621.h:12
LCM59011 LCD (HT1621).
Definition SegLCD_HT1621_LCM59011.h:26
static constexpr uint8_t COLON_BIT
Definition SegLCD_HT1621_LCM59011.h:76
void _updateSymbols(uint32_t symbols, bool set)
Definition SegLCD_HT1621_LCM59011.cpp:74
static constexpr uint8_t COLON_COL
Definition SegLCD_HT1621_LCM59011.h:77
void setSymbols(uint32_t symbols)
Definition SegLCD_HT1621_LCM59011.cpp:107
static const AddressMapping * _getSymbolMap(size_t &count)
Definition SegLCD_HT1621_LCM59011.h:135
static constexpr uint8_t MAX_SIGNAL_LEVEL
Definition SegLCD_HT1621_LCM59011.h:84
static constexpr uint8_t RAM_SIZE
Definition SegLCD_HT1621_LCM59011.h:71
void init() override
Initialize GPIO pins for communication.
Definition SegLCD_HT1621_LCM59011.cpp:8
static constexpr uint8_t SYMBOL_BIT_WARNING
Definition SegLCD_HT1621_LCM59011.h:110
uint8_t _mapSegments(uint8_t val)
Definition SegLCD_HT1621_LCM59011.cpp:156
UnitFlags
Definition SegLCD_HT1621_LCM59011.h:28
@ UNIT_A
Definition SegLCD_HT1621_LCM59011.h:29
@ UNIT_M
Definition SegLCD_HT1621_LCM59011.h:30
@ UNIT_H
Definition SegLCD_HT1621_LCM59011.h:32
@ UNIT_PERCENT
Definition SegLCD_HT1621_LCM59011.h:31
static constexpr uint8_t DIGITS
Definition SegLCD_HT1621_LCM59011.h:72
static constexpr uint8_t SYMBOL_BIT_GSM
Definition SegLCD_HT1621_LCM59011.h:103
void clearUnits(uint8_t units)
Definition SegLCD_HT1621_LCM59011.cpp:95
LabelFlags
Definition SegLCD_HT1621_LCM59011.h:35
@ LABEL_MCB
Definition SegLCD_HT1621_LCM59011.h:36
static constexpr uint8_t LABEL_BIT_MCB
Definition SegLCD_HT1621_LCM59011.h:95
void _setColon(uint8_t row, uint8_t col, bool state) override
Virtual method for setting colon.
Definition SegLCD_HT1621_LCM59011.cpp:120
void setWarningSymbol(bool state, uint8_t index=0)
Definition SegLCD_HT1621_LCM59011.cpp:115
static constexpr uint8_t UNIT_BIT_H
Definition SegLCD_HT1621_LCM59011.h:92
static constexpr uint8_t SIGNAL_MASK
Definition SegLCD_HT1621_LCM59011.h:86
size_t write(uint8_t ch) override
Definition SegLCD_HT1621_LCM59011.cpp:126
static constexpr uint8_t SYMBOL_BIT_PLUG
Definition SegLCD_HT1621_LCM59011.h:109
static constexpr uint8_t COLON_ADDRESS
Definition SegLCD_HT1621_LCM59011.h:75
void clearSymbols(uint32_t symbols)
Definition SegLCD_HT1621_LCM59011.cpp:111
static constexpr uint8_t FLAG_COLON_DISPLAYED
Definition SegLCD_HT1621_LCM59011.h:78
void setSignalLevel(uint8_t level)
Definition SegLCD_HT1621_LCM59011.cpp:38
static constexpr uint8_t UNIT_BIT_M
Definition SegLCD_HT1621_LCM59011.h:90
static constexpr uint8_t SYMBOL_BIT_SUN
Definition SegLCD_HT1621_LCM59011.h:107
SymbolFlags
Definition SegLCD_HT1621_LCM59011.h:39
@ SYMBOL_UPS
Definition SegLCD_HT1621_LCM59011.h:43
@ SYMBOL_ECO
Definition SegLCD_HT1621_LCM59011.h:42
@ SYMBOL_WHEEL
Definition SegLCD_HT1621_LCM59011.h:41
@ SYMBOL_BLUETOOTH
Definition SegLCD_HT1621_LCM59011.h:47
@ SYMBOL_OUTLINE
Definition SegLCD_HT1621_LCM59011.h:54
@ SYMBOL_SUN
Definition SegLCD_HT1621_LCM59011.h:50
@ SYMBOL_LIGHTNING
Definition SegLCD_HT1621_LCM59011.h:51
@ SYMBOL_WARNING
Definition SegLCD_HT1621_LCM59011.h:53
@ SYMBOL_GSM
Definition SegLCD_HT1621_LCM59011.h:46
@ SYMBOL_PLUG
Definition SegLCD_HT1621_LCM59011.h:52
static constexpr uint8_t SIGNAL_ADDRESS
Definition SegLCD_HT1621_LCM59011.h:85
static constexpr uint8_t SYMBOL_BIT_OUTLINE
Definition SegLCD_HT1621_LCM59011.h:111
void setLabels(uint8_t labels)
Definition SegLCD_HT1621_LCM59011.cpp:99
void _updateUnits(uint8_t units, bool set)
Definition SegLCD_HT1621_LCM59011.cpp:51
static constexpr uint8_t SYMBOL_BIT_ECO
Definition SegLCD_HT1621_LCM59011.h:99
void clearLabels(uint8_t labels)
Definition SegLCD_HT1621_LCM59011.cpp:103
static constexpr uint8_t UNIT_BIT_A
Definition SegLCD_HT1621_LCM59011.h:89
void setBatteryLevel(uint8_t level)
Definition SegLCD_HT1621_LCM59011.cpp:17
static constexpr uint8_t UNIT_BIT_PERCENT
Definition SegLCD_HT1621_LCM59011.h:91
static constexpr uint8_t SYMBOL_BIT_BLUETOOTH
Definition SegLCD_HT1621_LCM59011.h:104
static constexpr uint8_t MAX_BATTERY_LEVEL
Definition SegLCD_HT1621_LCM59011.h:81
void setUnits(uint8_t units)
Definition SegLCD_HT1621_LCM59011.cpp:91
static constexpr uint8_t SYMBOL_BIT_UPS
Definition SegLCD_HT1621_LCM59011.h:100
static const AddressMapping * _getUnitMap(size_t &count)
Definition SegLCD_HT1621_LCM59011.h:124
static constexpr uint8_t SYMBOL_BIT_WHEEL
Definition SegLCD_HT1621_LCM59011.h:98
static constexpr uint8_t SYMBOL_BIT_LIGHTNING
Definition SegLCD_HT1621_LCM59011.h:108
void _updateLabels(uint8_t labels, bool set)
Definition SegLCD_HT1621_LCM59011.cpp:68
Definition SegLCD_HT1621_LCM59011.h:119
FlagBit bits[8]
Definition SegLCD_HT1621_LCM59011.h:121
uint8_t address
Definition SegLCD_HT1621_LCM59011.h:120
Definition SegLCD_HT1621_LCM59011.h:114
uint8_t bit
Definition SegLCD_HT1621_LCM59011.h:116
uint32_t flag
Definition SegLCD_HT1621_LCM59011.h:115