SegLCDLib
Loading...
Searching...
No Matches
SegLCD_HT1622_10Dig16Seg.h
Go to the documentation of this file.
1#ifndef SEGLCD_HT1622_10Dig16Seg_H
2#define SEGLCD_HT1622_10Dig16Seg_H
3
4
5#if !defined(SEGLCD_DISABLE_ALL_LCDS) || defined(SEGLCD_ENABLE_HT1622_10DIG16SEG)
6#include <SegDriver_HT1622.h>
7
23 public:
24 SegLCD_HT1622_10Dig16Seg(SegTransport3Wire& transport, uint8_t chipselect);
25 void init() override;
26 using SegLCDLib::write;
27 size_t write(uint8_t ch) override;
28
29 protected:
30 void _setDecimal(uint8_t row, uint8_t col, bool state) override;
31
32 private:
33 void _writeDigit16seg(uint8_t row, uint8_t col, char c);
34 static constexpr uint8_t RAM_SIZE = 23; // 10 digits * 2 bytes + 3 bytes for decimals = ~23 bytes
35 static constexpr uint8_t DIGITS = 10;
36
37 // Decimal configuration: RAM offset -1 (dot belongs to previous position)
38 static constexpr uint8_t DECIMAL_MIN_COL = 0;
39 static constexpr uint8_t DECIMAL_MAX_COL = 8;
40 static constexpr int8_t DECIMAL_COL_OFFSET = -1;
41
42 uint16_t _map16Segments(uint16_t val);
43 int8_t _get16SegmentsAddress(uint8_t row, uint8_t col);
44
45};
46#endif
47
48#endif
HT1622 LCD segment display driver.
Definition SegDriver_HT1622.h:12
virtual size_t write(uint8_t)
Definition SegLCDLib.h:113
10-digit 16-segment alphanumeric LCD (HT1622).
Definition SegLCD_HT1622_10Dig16Seg.h:22
size_t write(uint8_t ch) override
Definition SegLCD_HT1622_10Dig16Seg.cpp:52
void _setDecimal(uint8_t row, uint8_t col, bool state) override
Virtual method for setting decimal point.
Definition SegLCD_HT1622_10Dig16Seg.cpp:18
static constexpr uint8_t DIGITS
Definition SegLCD_HT1622_10Dig16Seg.h:35
uint16_t _map16Segments(uint16_t val)
Definition SegLCD_HT1622_10Dig16Seg.cpp:100
static constexpr uint8_t RAM_SIZE
Definition SegLCD_HT1622_10Dig16Seg.h:34
void _writeDigit16seg(uint8_t row, uint8_t col, char c)
Definition SegLCD_HT1622_10Dig16Seg.cpp:73
int8_t _get16SegmentsAddress(uint8_t row, uint8_t col)
Definition SegLCD_HT1622_10Dig16Seg.cpp:91
void init() override
Initialize GPIO pins for communication.
Definition SegLCD_HT1622_10Dig16Seg.cpp:10
static constexpr uint8_t DECIMAL_MAX_COL
Definition SegLCD_HT1622_10Dig16Seg.h:39
static constexpr int8_t DECIMAL_COL_OFFSET
Definition SegLCD_HT1622_10Dig16Seg.h:40
static constexpr uint8_t DECIMAL_MIN_COL
Definition SegLCD_HT1622_10Dig16Seg.h:38
Abstract 3-wire serial transport.
Definition SegTransport.h:23