SegLCDLib
Loading...
Searching...
No Matches
SegDriver_HT1621.h
Go to the documentation of this file.
1#ifndef SEGDRIVER_HT1621_H
2#define SEGDRIVER_HT1621_H
3
4#include "SegDriver_3Wire.h"
5
13 // HT1621 specific commands
14 #define CMD_TONE_OFF 0b00001000
15 #define CMD_TONE_ON 0b00001001
16 #define CMD_XTAL_32K 0b00010100
17 #define CMD_RC_256K 0b00011000
18 #define CMD_EXT_256K 0b00011100
19
20 #define CMD_BIAS_12 0b00100000
21 #define CMD_BIAS_13 0b00100001
22
23 #define CMD_TONE_4K 0b01000000
24 #define CMD_TONE_2K 0b01100000
25
26 #define DRIVE_MODE_12_MASK 0b00000000
27 #define DRIVE_MODE_13_MASK 0b00000100
28 #define DRIVE_MODE_14_MASK 0b00001000
29
30 public:
39 SegDriver_HT1621(SegTransport3Wire& transport, uint8_t chipselect);
40
50 void flush(uint8_t startAddr, uint8_t length) override;
51 using SegLCDLib::flush; // Inherit base flush() without parameters
52
53 protected:
54 static constexpr uint8_t MAX_ADDRESS = 30;
55
65
66 private:
68
69};
70
71#endif
ModeBias
Bias mode used by LCD controller.
Definition SegLCDLib.h:25
@ MODE_BIAS_13
1/3 bias
Definition SegLCDLib.h:26
ModeDrive
Drive mode used by LCD controller.
Definition SegLCDLib.h:15
@ MODE_DRIVE_14
1/4 multiplexing
Definition SegLCDLib.h:19
Base class for 3-wire serial LCD segment display drivers.
Definition SegDriver_3Wire.h:13
HT1621 LCD segment display driver.
Definition SegDriver_HT1621.h:12
ModeDrive _drive
Current drive mode.
Definition SegDriver_HT1621.h:67
virtual void flush()
Flush all buffered changes to the display.
Definition SegLCDLib.cpp:337
void _setMode(ModeDrive drive=MODE_DRIVE_14, ModeBias bias=MODE_BIAS_13)
Set the mode of the display.
Definition SegDriver_HT1621.cpp:8
static constexpr uint8_t MAX_ADDRESS
Last valid start HW nibble address for byte write.
Definition SegDriver_HT1621.h:54
virtual void flush()
Flush all buffered changes to the display.
Definition SegLCDLib.cpp:337
Abstract 3-wire serial transport.
Definition SegTransport.h:18