11 volatile uint8_t bus[2];
15 volatile uint8_t *lcd;
18 reg(uint8_t addr,
volatile uint8_t *lcd) : addr(addr), lcd(lcd) {}
19 operator uint8_t() {
return read(); }
20 uint8_t operator=(uint8_t val)
26 uint8_t read() {
return lcd[addr]; }
27 void write(uint8_t val)
40 void init(uint8_t cols, uint8_t rows);
42 void putstr(
const char *str);
43 void setCursor(
int row,
int col);
46 reg operator[](
int i) {
return reg(i & 0x1, bus); }
47 friend class HD44780_LCD;
64 cursorDisp_t cursorDisp;
68 HD44780_LCD(HD44780_LCD_Bus &bus, uint8_t cols, uint8_t rows);
70 void init() { bus.init(cols, rows); }
71 void putchar(
char c) { bus.putchar(c); }
72 void putstr(
const char *str) { bus.putstr(str); }
73 void setCursor(
int row,
int col) { bus.setCursor(row, col); }
74 void enableCursor(cursorDisp_t disp);
75 void enableDisplay(
bool enable);
78 HD44780_LCD_Bus::reg operator[](
int i) {
return bus[i]; }
void init()
System initialization. Ideally called at the beginning of all applications, since the easiest Recover...