SegLCDLib
Loading...
Searching...
No Matches
SegDriver_HT1622.h
Go to the documentation of this file.
1#ifndef SEGDRIVER_HT1622_H
2#define SEGDRIVER_HT1622_H
3
4#include "SegDriver_3Wire.h"
5
13 #define MAX_HW_ADDRESS 62
14 #define MAX_ADDRESS 62
15
16 // HT1622 specific commands (not in base class)
17 #define CMD_TONE_OFF 0b00001000
18
19 #define CMD_RC_32K 0b00011000
20 #define CMD_EXT_32K 0b00011100
21
22 #define CMD_TONE_4K 0b01000000
23 #define CMD_TONE_2K 0b01100000
24
25 public:
34 SegDriver_HT1622(uint8_t chipselect, uint8_t data, uint8_t write, uint8_t read = -1);
35
36 void clear() override;
37
47 void flush(uint8_t startAddr, uint8_t length) override;
48 using SegLCDLib::flush; // Inherit base flush() without parameters
49
50 protected:
54 void _writeRam(uint8_t data, uint8_t address = 0);
55 void _writeRam(uint8_t *data, size_t length, uint8_t address = 0) override;
56
60 void _sendBits(uint16_t data, uint8_t bitCount = 8) override;
61};
62
63#endif
Base class for 3-wire serial LCD segment display drivers.
Definition SegDriver_3Wire.h:12
HT1622 LCD segment display driver.
Definition SegDriver_HT1622.h:12
void _sendBits(uint16_t data, uint8_t bitCount=8) override
Override _sendBits to implement HT1622-specific timing requirements.
Definition SegDriver_HT1622.cpp:43
void clear() override
Clear all visible segments on the display.
Definition SegDriver_HT1622.cpp:10
virtual void flush()
Flush all buffered changes to the display.
Definition SegLCDLib.cpp:332
void _writeRam(uint8_t data, uint8_t address=0)
Override _writeRam to implement HT1622-specific timing requirements.
Definition SegDriver_HT1622.cpp:18
virtual void flush()
Flush all buffered changes to the display.
Definition SegLCDLib.cpp:332
virtual size_t write(uint8_t ch)
Definition SegLCDLib.h:89