58 virtual void write4b(uint8_t data) = 0;
77 virtual void write8n(
const void* buf,
size_t size)
79 const uint8_t* bp = (
const uint8_t*) buf;
89 virtual void set_mode(uint8_t flag) = 0;
137 static const uint8_t offset0[] PROGMEM = { 0x00, 0x40, 0x14, 0x54 };
138 static const uint8_t offset1[] PROGMEM = { 0x00, 0x40, 0x10, 0x50 };
139 m_offset = ((HEIGHT == 4) && (WIDTH == 16) ? offset1 : offset0);
247 if (x >= WIDTH) x = 0;
248 if (y >= HEIGHT) y = 0;
249 uint8_t offset = (uint8_t) pgm_read_byte(&
m_offset[y]);
271 __attribute__((always_inline))
280 __attribute__((always_inline))
289 __attribute__((always_inline))
298 __attribute__((always_inline))
308 __attribute__((always_inline))
317 __attribute__((always_inline))
326 __attribute__((always_inline))
355 for (uint8_t i = 0; i <
BITMAP_MAX; i++, bitmap++)
388 for (uint8_t i = 0; i <
WIDTH; i++)
write(
' ');
446 } __attribute__((packed));
455 } __attribute__((packed));
464 } __attribute__((packed));
474 } __attribute__((packed));
488 } __attribute__((packed));
uint8_t m_y
Cursor position y.
Sets the number of display lines, 1 or.
Decrement (left) on write.
COM SEG direction select.
void text_flow_right_to_left()
uint8_t m_x
Cursor position x.
void text_scroll_right_adjust()
virtual void set_mode(uint8_t flag)=0
void set_custom_char(uint8_t id, const uint8_t *bitmap)
static const uint16_t LONG_EXEC_TIME
virtual void write8n(const void *buf, size_t size)
Adapter & m_io
IO port adapter.
virtual size_t write(uint8_t c)
virtual void display_on()
virtual void set_backlight(uint8_t flag)=0
without changing DDRAM contents.
void cursor_underline_on()
static const uint16_t INIT1_TIME
void display_scroll_right()
Set cursor and shifts display.
virtual void cursor_blink_off()
uint8_t m_mode
Entry mode.
static const uint16_t POWER_ON_TIME
virtual void display_clear()
Sets the character font, 5X8 dots or.
Set display, cursor and blinking controls.
virtual void cursor_set(uint8_t x, uint8_t y)
Sets cursor move direction and display shift.
const uint8_t * m_offset
Row offset table.
void text_scroll_left_adjust()
Sets basic instruction set.
virtual void write8b(uint8_t data)
Moves cursor and shifts display.
Clears entrire display and return home.
virtual void cursor_blink_on()
static const uint16_t INIT0_TIME
uint8_t m_func
Function set.
virtual void backlight_off()
Sets DDRAM 0 in address counter.
HD44780(Adapter &io, uint8_t width=16, uint8_t height=2)
static const uint8_t BITMAP_MAX
void cursor_underline_off()
Sets interface data length, line and font.
The character indicated by cursor blinks.
Sets the interface data length, 4-bit or.
Increment (right) on write.
Shift the entire display not cursor.
virtual void display_off()
virtual void write4b(uint8_t data)=0
void display_scroll_left()
virtual void backlight_on()
void set_custom_char_P(uint8_t id, const uint8_t *bitmap)
virtual void cursor_home()